Title Unknown Annapurna Valluri

Size: px
Start display at page:

Download "Title Unknown Annapurna Valluri"

Transcription

1 Title Unknown Annapurna Valluri 1. Introduction There are a number of situations, one comes across in one s life, in which one has to find the k nearest neighbors of an object, be it a location on a map, an image or even a number. Finding the k nearest neighbors of an object can be done as easily as sorting those very objects, once you have defined the method of calculating the distance between the objects. In some cases, it simply involves calculating the distance using coordinate geometry and in others, it is more complicated than that. The world wide web is becoming an essential component in every organization. Nowadays, there is not a single company, organization, or TV channel that does not have a web page. An important key to success for a company, university, or even an individual, is keeping up with the latest technology. A lot of software can be downloaded from the web. This saves time and money since the available software is already tested for errors. But wouldn t it be nice if you could simply get your information from a site without having to download the code? 2. Main function of the Project As you must have already guessed, this project deals with inserting and finding the k nearest neighbors of an object, in this case being a stock. The distance is calculated on the basis of the closing prices of the stocks. A number of databases can be created in which you can insert a number of files with closing stock quotes in them. The distance is calculated using the famous Euclidean distance between 2 vectors. The vectors, in turn, are calculated using the Daubechies-4-wavelet transform. One of the important features of this project is that it can be run from the web. It was written in JAVA and is run from the web as an applet. There are a number of reasons for choosing JAVA as the programming language. An important reason is that Java is an object oriented programming language. Now comes the question, Why not use C++? C++ is not easily portable unlike Java, in which the same code can be run on Windows 95, 1

2 Solaris, Unix, and Macintosh. And the main reason being that Java has a number of routines that make it relatively easy to communicate with TCP/IP protocols like HTTP and FTP, which other programming languages lack. 3. Applet Security Since applets are designed to be loaded from a remote site but executed locally, security becomes an important issue. Security of files restricts the functionality of applets. Applets cannot run any local executable program. Applets can only communicate with the server from which they were downloaded. When applets are run from Netscape, they cannot read or write to the local computer s file system. Although, if you use other browers it may be possible to do so because this is not a part of the Java specification. Applets cannot find out any information from the local computer. 4. Client-Server Architecture Java is an extremely powerful language in terms of using the object oriented methodology in software engineering. The design approach used in this project was object oriented and therefore, can be expanded to find the k nearest neighbors of any object. As the applet security prohibits reading and writing of files, the design is based on a client server architecture. The current version of applets prevents access of files across the internet. But perhaps, later versions will provide for this facility, thus facilitating the task of accessing files without need for the client-server model. If the project had been an application, the need for a client-server model would not have arisen. 5. Main components 5.1 Client A user can bring up the applet from a web browser at the URL The client comprises the User Interface called the Interface object, the Graph-Maker object and the Connection object. The Interface object is responsible for the graphical user interface which is displayed at the specified URL. 2

3 All information requested or wished to be inserted in the Database is passed on to the Database via the Connection object, which connects to a Server on which the Database is located. If an error occurs in contacting the Server a ConnectionException is thrown and a message is displayed indicating the occurrence of the error. The Graph-Maker object is responsible for displaying on an applet window the x-y plot of the closing prices of the k nearest neighbors of a particular stock along with its distance from that stock. CLIENT GUI: Graphical Interface (Interface.java) Graph Maker (Graph.java, Axis.java) Connector (Connection.java, ConenctionException.java) Figure 2.1: The Client component is an aggregation of the above components. 3

4 CLIENT Gets Information From SERVER Figure 2.2: Many to one relationship 5.2 Server The server is a multi-threaded server which allows several clients to connect to it, simultaneously. Every time a client starts up the applet, a new client connection is requested and the Server spawns off the responsibility of the new connection to one of its child processes. And whenever, the client is finished with its work the child process is killed but the Server continues to run. Problems arise when two threads have access to the same object and both threads call a method that modifies the same object. This can lead to corrupted objects and loss of data. A problem that crop up in this program is when two users create two files with different stock information in the same sub-database. Normally, this would not cause a problem, but since, the database in this project is, merely, a creation of directories and files in that directory, problems could arise when two users have access to and modify the same file. The next section explains in detail the design of the database in this program. The objects that the server is comprised of are: The MultipleConnection object which is the object which is responsible for creating the different threads so that multiple users can have access to the program simultaneously. Generator/Database Object: this object facilitates the insertion and search of stocks in the database. It is responsible for all communication with the database. An additional 4

5 responsibility of the Generator object is that it communicates with the VectorCalculator and DistanceCalculator objects. The VectorCalculator object calculates the vectors for the individual stocks based on the closing prices. These vectors are later used by the DistanceCalculator to calculate the distance between different stocks. The algorithm for the VectorCalculator is a shell script program written by Dr. Faloutsos. The algorithm is based on the Daubechies-4- wavelet transform. The vector consists of 5 numbers each representing a different value. For example, one number represents the average or mean of all the closing prices for that particular stock. The object whose function is to calculate the distance between stocks is the DistanceCalculator. In calculating the distance, it uses the vectors, calculated by the VectorCalculator object, for individual stocks. The current equation used by the DistanceCalculator object is the Euclidean equation. During a search for neighbors of a specific stock, the distances between that specific stock and other stocks in that sub-database, are sorted in ascending order by the Sorter object. The Sorter object can be used to sort any length of double numbers. 5

6 Server MultipleConnection/ Thread DistanceCalculator Generator/Database Sorter VectorCalculator Figure 2.3 Object Model for the Server 6.0 Database The database is responsible for the storing of files containing the quotes of closing stock prices. The database in this program is only a make-belief one which acts like a database but is not really one. Every time, a new sub-database is created by a user, a new directory is created and the stock quotes are stored in a file. The current version of the program disallows the deleting or appending of closing prices, to existing stocks. And neither does the program allow the deleting of sub-databases. Although, it would be relatively easy to provide these additional features in a later version of this program. But the fact that there isn t a real database on the server is hidden from user, since this information is not germane for his purposes. Since this program was developed while 6

7 keeping in mind the object oriented framework, it would not require excruciating efforts to include a real database to store the closing prices of stocks. 7.0 User s Manual The most important point to remember before you even start using the applet is to remember to start the applet on the same machine as the one on which you are running the program specific server. Once you know make sure that the applet and the server are running from and on the same machine, you can be sure that your instructions will be carried out properly. You can either insert new stocks in an existing sub-database, or create your own subdatabase and add a new stock file with closing stock prices. There is nothing much that the program does differently if you are inserting a stock in an existing or a new sub-database. For either of these you have to insert information in three fields. 1. The first field being the database field. If the sub-database already exists, the program does not create another one. Whereas, if the sub-database does not exist, it creates a new sub-database. 2. In the second field, the user must type in the name of the stock. 3. The last field which is an important field, the user has to type in the closing prices for that particular stock. The closing prices must be on separate lines, with one line containing only one stock price. If you make a mistake on any line, you can always return to it, with the mouse. So to insert a stock whether in an old or a new sub-database, the user must select the Insert button. Once the Insert button is selected, the three fields mentioned above get activated. When the user is ready to send the information, he/she must click on the OK button which is located in the center, towards the bottom, of the applet. The user will see a message on the bottom of the applet, indicating whether there was a success or failure in the insertion. If one or more of the three fields mentioned above were not filled, an error is reported. The user can also search for neighbors of a particular stock in a specific sub-database. If the user wishes to conduct a search, the Search button has to pressed, so that the 7

8 fields related to the Search routine, can be activated. The Search routine, also has three fields which are the following: 1. The list of sub-databases that the user can choose from. Once a sub-database is selected, the names of all the stocks in that sub-database appear in another list box. 2. The user also has to select the stock in the sub-database on which he/she wishes to conduct a search. 3. The third field requires a number to be entered into it, which will represent the number of neighbors that the user wants to search for, for that particular stock. One of the nice features of this program is that when a user inserts a new subdatabase or stock, it gets added to the list of sub-databases and stocks in the search section of the applet. This has been added so that a user does not have to exit the program every time he/she inserts a new stock or sub-database. If all three fields are not filled, an error is reported. The status of the search is reported to the user on the status message box located at the bottom of the applet. If the search was unsuccessful, an error message is reported. Otherwise, the plots for the all k neighbors are drawn on separate windows. The header of each window reports the name of the stock along with its distance away from the stock on which the search is being conducted. The closing prices for the stocks are plotted on an x-y axis. If you wish to delete all the information you have typed, in stead of going to each field and pressing the delete or backspace key, you can click on the CLEAR button, located on the bottom of the applet. This will delete all the information from all the fields, except the list boxes containing the names of the sub-database and stocks. If you wish to exit the program, all you have to do is exit netscape. The server will kill the child process but the server will continue to run on the machine on which it was started. 8.0 Protocol When data is being sent back and forth between the client and the server, each one has to know what the data represents. In the world of today, there is a protocol that exits in nearly every situation where communication is needed, whether it is in the diplomatic 8

9 circle or in the world of computers. I developed a protocol of my own, to facilitate the transfer of data and information between the client and the server. The user does not need to know how the client and server interact and how the data is deciphered by either one. So that the server knows whether the user requested an insertion or a search, the number 1 or 2 is placed first, in the bytes sent from the client to the server. If a 1 is read when the server is reading the bytes, it knows that an insertion is requested, and if the number 2 is read, a search is requested. The other data such as the name of the sub-database, the name of the stock and the closing prices of the stock are also sent to the server and are separated from the number 0 or 1 by :. They are separated from one another by,. The number 0 or 1 is placed first, and then the individual fields are placed after it. Each individual closing stock price is separated from other closing prices by semi-colons, ;. For example, for an insert request the data sent from the client to the server could look like this, 0:mydatabase,IBM,123;124.01;109.98;...and so on. An example of search data is, 1:mydatabase,CISCO,3. The last number representing the number of neighbors requested by the user. When the applet is started, the client does a search for the names of the sub-databases on the server end, to make the task of the user as easy as possible. When this information is sent to the server, it looks like the following, 3:. The number apprises the server that a list of sub-databases is needed to requested by the applet to fill the list box attached to the applet. When a user chooses a sub-database while doing a search, the client requests the server for the names of all the stocks in that particular sub-database. The client informs the server of its request by placing the number 4 followed by a colon, :, which in turn is followed by the name of the sub-database. For example, 4:mydatabase. After the client is informed by the server of a successful search and with the names of all the neighbors of a particular stock, the client requests the server for the closing prices of a particular stock, in a specific sub-database, so that it can draw the x-y plot for the stock. The server sends the needed request if it reads the number 2 followed by a colon, :, and the names of the sub-database, and the stock. For example, 2:mydatabase,IBM. 9

10 The server sends information back to the client in the form of bytes, which has to be deciphered by the client in order to find out whether the insert or the search was successful or not. In an insertion, if the server returns the number 0 followed by a colon, : it ensues that there was an error and the insert request was not fulfilled. If the server returns the number 1 followed by :, it represents a successful insertion. During a search, if the client receives the number 0 followed by a colon, it translates to mean that there were no other stocks in the sub-database besides the one on which the search was being conducted. If the client receives 1:, it represents a successful search, for all k neighbors specified by the user. And the graphs for the k neighbors are drawn on separate windows. If the client receives 2: from the server, it means that not all k neighbors were found because the number of neighbors requested by the user were more than the number of stocks in the sub-database excluding the stock on which the search was being conducted. If the client receives 3: followed by some error message, it means that the number of fields in the vector calculated for one of the stocks did not contain 5 fields. This leads to a problem when calculating the distance between that stock and the stock on which the search is being conducted because the DistanceCalculator object requires the vectors to be of length Enhancements to previous work A similar program was written using the Tcl and Tk tool kit. This program is better than the previous program in terms of the following new features: 1. Ease of portability: The compiled program should work the same with no problems on a Windows 95 based system, or a Unix system. Whereas the previous program could not have worked with very little extra effort on both systems. 10

11 2. Web based program: This program can be accessed from the web, whereas the one written in Tcl-Tk could not be viewed from the web. This allows this program to be used by remote users. 3. Object Oriented Methodology: This program was written using an object oriented methodology. As a result, it will be very easy to make improvements or any enhancements to the code, without drastically changing it. For example, a real database can be added using JDBC and most of the code need not change. 4. Multi-users: This program supports multi users simultaneously. All the users need not have a copy of all the code. All they need is one copy, that has the server running on it, and all of them can use it concurrently. The earlier code that was written supported only one user at a time Conclusion and future work This program is written for the sole purpose of searching for k neighbors of an object, in this case of stocks. Since it was written using an object oriented methodology, it can be expanded to include a search tool for any specifically defined object. An important feature of this program is that it can be run from the web and multiple users have access to it, simultaneously. It was modeled using a client-server model, because of applet security which prohibits reading and writing of locally stored files. Improvements can be made to this program by adding code that will employ a real database using JDBC, in stead of an illusory database. Some enhancements that can be made are the searching of objects which can be places on a map My Experience I thoroughly enjoyed working on this project. It was hard at first, since I did not have a clear understanding of what was the project was all about. But as I started working on it, I got a better understanding of the what features I was required to provide in this project. 11

12 Another reason for my getting off on a slow start was that I was learning the language as I was progressing in my work. I had done quite a bit of work, when I realized that my approach to the problem was completely wrong. And I had to redo a large portion of the already completed work. Anytime, I ran into any problems with JAVA, it took me some time to figure it out, since I had no friends who could help me because hardly anybody knows JAVA these days. But on the whole, I really enjoyed working on this, and I can say very confidently that I have learnt a lot from the project. I learnt JAVA, of course. And if I had not been assigned to work on a relatively large project like this one, I don t think I would have learnt the language in the near future. This project, in a sense, forced me to learn JAVA. And I am very grateful to Dr. Faloutsos for assigning me this project. I also got a better understanding of client-server based architecture. I would like to thank Dr. Faloutsos, once again, for giving me so much freedom in choosing my project and helping me learn so many other auxiliary topics. 12

13 13

14 14

(Refer Slide Time: 01.26)

(Refer Slide Time: 01.26) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture # 22 Why Sorting? Today we are going to be looking at sorting.

More information

Programming In Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur

Programming In Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur Programming In Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction First of all I wish like to welcome you all to the

More information

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 18 Transaction Processing and Database Manager In the previous

More information

Laboratory 1: Eclipse and Karel the Robot

Laboratory 1: Eclipse and Karel the Robot Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also

More information

3. WWW and HTTP. Fig.3.1 Architecture of WWW

3. WWW and HTTP. Fig.3.1 Architecture of WWW 3. WWW and HTTP The World Wide Web (WWW) is a repository of information linked together from points all over the world. The WWW has a unique combination of flexibility, portability, and user-friendly features

More information

COMP2100/2500 Lecture 17: Shell Programming II

COMP2100/2500 Lecture 17: Shell Programming II [ANU] [DCS] [COMP2100/2500] [Description] [Schedule] [Lectures] [Labs] [Homework] [Assignments] [COMP2500] [Assessment] [PSP] [Java] [Reading] [Help] COMP2100/2500 Lecture 17: Shell Programming II Summary

More information

Make $400 Daily. With Only. 5 Minutes Of Work

Make $400 Daily. With Only. 5 Minutes Of Work Make $400 Daily With Only 5 Minutes Of Work Hello friends, I am not a professional copywriter, so you will find a lot of mistakes and lack of professional touch in this e-book. But I have not made this

More information

Burning CDs in Windows XP

Burning CDs in Windows XP B 770 / 1 Make CD Burning a Breeze with Windows XP's Built-in Tools If your PC is equipped with a rewritable CD drive you ve almost certainly got some specialised software for copying files to CDs. If

More information

(Refer Slide Time 3:31)

(Refer Slide Time 3:31) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 5 Logic Simplification In the last lecture we talked about logic functions

More information

All textures produced with Texture Maker. Not Applicable. Beginner.

All textures produced with Texture Maker. Not Applicable. Beginner. Tutorial for Texture Maker 2.8 or above. Note:- Texture Maker is a texture creation tool by Tobias Reichert. For further product information please visit the official site at http://www.texturemaker.com

More information

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first. As per the today s scenario, companies not only desire to test software adequately, but they also want to get the work done as quickly and thoroughly as possible. To accomplish this goal, organizations

More information

Java/RealJ Troubleshooting Guide

Java/RealJ Troubleshooting Guide Java/RealJ Troubleshooting Guide by Bob Clark / Sharon Curtis / Simon Jones, September 2000 Some of these tips you will come across during your practical sessions, however we felt it would be helpful to

More information

CyberLynk FTP Service Functional Description

CyberLynk FTP Service Functional Description CyberLynk FTP Service Functional Description - November 3, 2005 - Version 2.7 Presented by CyberLynk Network 10125 S. 52 nd Street Franklin, WI 53132 P: 414.858.9335 - F: 414.858.9336 www.cyberlynk.net

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 20 Concurrency Control Part -1 Foundations for concurrency

More information

Animations involving numbers

Animations involving numbers 136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 31 Static Members Welcome to Module 16 of Programming in C++.

More information

ELEC 377 Operating Systems. Week 1 Class 2

ELEC 377 Operating Systems. Week 1 Class 2 Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.

More information

How To Upload Your Newsletter

How To Upload Your Newsletter How To Upload Your Newsletter Using The WS_FTP Client Copyright 2005, DPW Enterprises All Rights Reserved Welcome, Hi, my name is Donna Warren. I m a certified Webmaster and have been teaching web design

More information

Within Kodi you can add additional programs called addons. Each of these addons provides access to lots of different types of video content.

Within Kodi you can add additional programs called addons. Each of these addons provides access to lots of different types of video content. There are a lot of misconceptions in the Kodi world about what buffering is, what causes it, why it happens and how to help avoid it. So I wanted to write an article addressing some of the causes of buffering

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module

More information

9 th CA 2E/CA Plex Worldwide Developer Conference 1

9 th CA 2E/CA Plex Worldwide Developer Conference 1 1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best

More information

Lecture 34 SDLC Phases and UML Diagrams

Lecture 34 SDLC Phases and UML Diagrams That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome

More information

The Paperless Classroom with Google Docs by - Eric Curts

The Paperless Classroom with Google Docs by - Eric Curts The Paperless Classroom with Google Docs by - Eric Curts Table of Contents Overview How to name documents and folders How to choose sharing options: Edit, Comment, and View How to share a document with

More information

Post Experiment Interview Questions

Post Experiment Interview Questions Post Experiment Interview Questions Questions about the Maximum Problem 1. What is this problem statement asking? 2. What is meant by positive integers? 3. What does it mean by the user entering valid

More information

Windows Script Host Fundamentals

Windows Script Host Fundamentals O N E Windows Script Host Fundamentals 1 The Windows Script Host, or WSH for short, is one of the most powerful and useful parts of the Windows operating system. Strangely enough, it is also one of least

More information

KaleidaGraph Quick Start Guide

KaleidaGraph Quick Start Guide KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.

More information

MATLAB for MAPH 3071 Lab 2

MATLAB for MAPH 3071 Lab 2 MATLAB for MAPH 3071 Lab 2 1. Iteration Method - Continued We have looked at for loops as a control structure. We will now introduce more ways to control iterations. While Loops: MATLAB provides another

More information

Programming in Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur

Programming in Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur Programming in Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur Lecture 04 Demonstration 1 So, we have learned about how to run Java programs

More information

Laboratory. Operating. Systems. Objective. References. Watch how the operating system places jobs in memory and schedules jobs.

Laboratory. Operating. Systems. Objective. References. Watch how the operating system places jobs in memory and schedules jobs. Laboratory Operating 10 Systems Objective Watch how the operating system places jobs in memory and schedules jobs. References Software needed: 1) A web browser (Internet Explorer or Netscape) 2) Applets

More information

Introduction to Spreadsheets

Introduction to Spreadsheets Introduction to Spreadsheets Spreadsheets are computer programs that were designed for use in business. However, scientists quickly saw how useful they could be for analyzing data. As the programs have

More information

Let s Make a Front Panel using FrontCAD

Let s Make a Front Panel using FrontCAD Let s Make a Front Panel using FrontCAD By Jim Patchell FrontCad is meant to be a simple, easy to use CAD program for creating front panel designs and artwork. It is a free, open source program, with the

More information

Lecture 05 Application Layer - I

Lecture 05 Application Layer - I Computer Networks and Internet Protocol Prof. Soumya Kanti Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 05 Application Layer - I Hi. So, we will

More information

CS140 Final Project. Nathan Crandall, Dane Pitkin, Introduction:

CS140 Final Project. Nathan Crandall, Dane Pitkin, Introduction: Nathan Crandall, 3970001 Dane Pitkin, 4085726 CS140 Final Project Introduction: Our goal was to parallelize the Breadth-first search algorithm using Cilk++. This algorithm works by starting at an initial

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Chapter The Juice: A Podcast Aggregator

Chapter The Juice: A Podcast Aggregator Chapter 12 The Juice: A Podcast Aggregator For those who may not be familiar, podcasts are audio programs, generally provided in a format that is convenient for handheld media players. The name is a play

More information

(Refer Slide Time: 01:40)

(Refer Slide Time: 01:40) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #25 Javascript Part I Today will be talking about a language

More information

Describe the Squirt Studio Open Office Version

Describe the Squirt Studio Open Office Version Name: Recitation: Describe the Squirt Studio Open Office Version Most of this studio is done with a java applet online. There is one problem where you need to carry out a quadratic regression. Unfortunately,

More information

Depiction of program declaring a variable and then assigning it a value

Depiction of program declaring a variable and then assigning it a value Programming languages I have found, the easiest first computer language to learn is VBA, the macro programming language provided with Microsoft Office. All examples below, will All modern programming languages

More information

Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12)

Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Objective: Learn some basic aspects of the UNIX operating system and how to use it. What is UNIX? UNIX is the operating system used by most computers

More information

The RASTA Framework. Joel Becker October 3, 2001

The RASTA Framework. Joel Becker October 3, 2001 The RASTA Framework Joel Becker October 3, 2001 Abstract RASTA is an framework for describing tasks on a computer system. It is well known that casual and non-expert users prefer to be guided through tasks

More information

CHAPTER 2. Troubleshooting CGI Scripts

CHAPTER 2. Troubleshooting CGI Scripts CHAPTER 2 Troubleshooting CGI Scripts OVERVIEW Web servers and their CGI environment can be set up in a variety of ways. Chapter 1 covered the basics of the installation and configuration of scripts. However,

More information

Lastly, in case you don t already know this, and don t have Excel on your computers, you can get it for free through IT s website under software.

Lastly, in case you don t already know this, and don t have Excel on your computers, you can get it for free through IT s website under software. Welcome to Basic Excel, presented by STEM Gateway as part of the Essential Academic Skills Enhancement, or EASE, workshop series. Before we begin, I want to make sure we are clear that this is by no means

More information

Custom Fields in QuickBooks

Custom Fields in QuickBooks Custom Fields in QuickBooks November 20, 2013 By Charlie Russell 41 Replies Every business has some sort of unique information that is important to its operation. While QuickBooks Desktop provides the

More information

AcuConnect Versatile Remote COBOL Listener

AcuConnect Versatile Remote COBOL Listener AcuConnect Versatile Remote COBOL Listener EXECUTIVE OVERVIEW AcuConnect is a remote COBOL listener that lets you make the most efficient and strategic use of your existing computing resources. AcuConnect

More information

Tiny Instruction Manual for the Undergraduate Mathematics Unix Laboratory

Tiny Instruction Manual for the Undergraduate Mathematics Unix Laboratory Tiny Instruction Manual for the Undergraduate Mathematics Unix Laboratory 1 Logging In When you sit down at a terminal and jiggle the mouse to turn off the screen saver, you will be confronted with a window

More information

Heap Management. Heap Allocation

Heap Management. Heap Allocation Heap Management Heap Allocation A very flexible storage allocation mechanism is heap allocation. Any number of data objects can be allocated and freed in a memory pool, called a heap. Heap allocation is

More information

Describe the Squirt Studio

Describe the Squirt Studio Name: Recitation: Describe the Squirt Studio This sheet includes both instruction sections (labeled with letters) and problem sections (labeled with numbers). Please work through the instructions and answer

More information

Joopal and Drumla. Sam Moffatt, Joomla! September 13, 2009

Joopal and Drumla. Sam Moffatt, Joomla! September 13, 2009 Joopal and Drumla Sam Moffatt, Joomla! September 13, 2009 1 Introduction Joopal and Drumla grew out of a curiousity of mine. I wondered if it would be possible to integrate Drupal 6 into Joomla! 1.5 (hence

More information

One SAS To Rule Them All

One SAS To Rule Them All SAS Global Forum 2017 ABSTRACT Paper 1042 One SAS To Rule Them All William Gui Zupko II, Federal Law Enforcement Training Centers In order to display data visually, our audience preferred Excel s compared

More information

The compiler is spewing error messages.

The compiler is spewing error messages. Appendix B Debugging There are a few different kinds of errors that can occur in a program, and it is useful to distinguish between them in order to track them down more quickly. Compile-time errors are

More information

MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE

MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE 15 December 2008: Technical Criteria for Making the RTOS Choice INTERVIEWEE. RALPH MOORE PRESIDENT TEL. 714 427 7333 EMAIL. RALPHM@SMXRTOS.COM

More information

CS354 gdb Tutorial Written by Chris Feilbach

CS354 gdb Tutorial Written by Chris Feilbach CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that

More information

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1 Presents A case study by Devin Zander A look into how absolutely easy internet marketing is. Money Mindset Page 1 Hey guys! Quick into I m Devin Zander and today I ve got something everybody loves! Me

More information

(Refer Slide Time 6:48)

(Refer Slide Time 6:48) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about

More information

Understanding Latency and Response Time Behavior

Understanding Latency and Response Time Behavior Understanding Latency and Response Time Behavior Pitfalls, Lessons and Tools Matt Schuetze Director of Product Management Azul Systems Latency Behavior Latency: The time it took one operation to happen

More information

Xton Access Manager GETTING STARTED GUIDE

Xton Access Manager GETTING STARTED GUIDE Xton Access Manager GETTING STARTED GUIDE XTON TECHNOLOGIES, LLC PHILADELPHIA Copyright 2017. Xton Technologies LLC. Contents Introduction... 2 Technical Support... 2 What is Xton Access Manager?... 3

More information

GUARD1 PLUS Manual Version 2.8

GUARD1 PLUS Manual Version 2.8 GUARD1 PLUS Manual Version 2.8 2002 TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks of TimeKeeping Systems, Inc. Table of Contents GUARD1 PLUS... 1 Introduction How to get

More information

Managed Reporting Environment

Managed Reporting Environment Managed Reporting Environment WebFOCUS MANAGED REPORTING What is MRE and what does it mean for FLAIR users? MRE extends services to agencies giving them secure, self-service Web access to information they

More information

RenameMan User Guide. ExtraBit Software

RenameMan User Guide. ExtraBit Software RenameMan User Guide ExtraBit Software http://www.extrabit.com Version 3.1 August, 2005 Contents Introduction... 5 What does RenameMan do?... 5 Features... 5 Quick tour of RenameMan... 5 Getting started...

More information

Chapter 1 Getting Started

Chapter 1 Getting Started Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different

More information

Introduction to Access 97/2000

Introduction to Access 97/2000 Introduction to Access 97/2000 PowerPoint Presentation Notes Slide 1 Introduction to Databases (Title Slide) Slide 2 Workshop Ground Rules Slide 3 Objectives Here are our objectives for the day. By the

More information

My malloc: mylloc and mhysa. Johan Montelius HT2016

My malloc: mylloc and mhysa. Johan Montelius HT2016 1 Introduction My malloc: mylloc and mhysa Johan Montelius HT2016 So this is an experiment where we will implement our own malloc. We will not implement the world s fastest allocator, but it will work

More information

Information Security II Prof. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras

Information Security II Prof. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Information Security II Prof. Kamakoti Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 30 Task Switch recap - Week 6 (Refer Slide Time: 00:09) So welcome back

More information

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Introduction to Programming Language Concepts

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Molecular Statistics Exercise 1. As was shown to you this morning, the interactive python shell can add, subtract, multiply and divide numbers.

Molecular Statistics Exercise 1. As was shown to you this morning, the interactive python shell can add, subtract, multiply and divide numbers. Molecular Statistics Exercise 1 Introduction This is the first exercise in the course Molecular Statistics. The exercises in this course are split in two parts. The first part of each exercise is a general

More information

FLUENT Secondary flow in a teacup Author: John M. Cimbala, Penn State University Latest revision: 26 January 2016

FLUENT Secondary flow in a teacup Author: John M. Cimbala, Penn State University Latest revision: 26 January 2016 FLUENT Secondary flow in a teacup Author: John M. Cimbala, Penn State University Latest revision: 26 January 2016 Note: These instructions are based on an older version of FLUENT, and some of the instructions

More information

Focus Group Analysis

Focus Group Analysis Focus Group Analysis Contents FOCUS GROUP ANALYSIS... 1 HOW CAN MAXQDA SUPPORT FOCUS GROUP ANALYSIS?... 1 IMPORTING FOCUS GROUP TRANSCRIPTS... 1 TRANFORMING AN ALREADY IMPORTED TEXT INTO A FOCUS GROUP

More information

A New Measure of the Cluster Hypothesis

A New Measure of the Cluster Hypothesis A New Measure of the Cluster Hypothesis Mark D. Smucker 1 and James Allan 2 1 Department of Management Sciences University of Waterloo 2 Center for Intelligent Information Retrieval Department of Computer

More information

COSC 2P91. Bringing it all together... Week 4b. Brock University. Brock University (Week 4b) Bringing it all together... 1 / 22

COSC 2P91. Bringing it all together... Week 4b. Brock University. Brock University (Week 4b) Bringing it all together... 1 / 22 COSC 2P91 Bringing it all together... Week 4b Brock University Brock University (Week 4b) Bringing it all together... 1 / 22 A note on practicality and program design... Writing a single, monolithic source

More information

Certified Tester Foundation Level Performance Testing Sample Exam Questions

Certified Tester Foundation Level Performance Testing Sample Exam Questions International Software Testing Qualifications Board Certified Tester Foundation Level Performance Testing Sample Exam Questions Version 2018 Provided by American Software Testing Qualifications Board and

More information

Gearing Up for Development CS130(0)

Gearing Up for Development CS130(0) Gearing Up for Development CS130(0) Development Development is a coding heavy assignment! You will need to create application using React.js (a Javascript Library). This application will display a list

More information

HKALE 2012 ASL Computer Applications Paper 2 Disscussion forum system

HKALE 2012 ASL Computer Applications Paper 2 Disscussion forum system HKALE 2012 ASL Computer Applications Paper 2 Disscussion forum system Yan Chai Hospital Lim Por Yen Secondary School 7A(3) Chu Chun Kit CONTENT PAGE 1. Content Page P.1 2. Schedule P.2 3. Objective P.3-4

More information

D Programming Language

D Programming Language Group 14 Muazam Ali Anil Ozdemir D Programming Language Introduction and Why D? It doesn t come with a religion this is written somewhere along the overview of D programming language. If you actually take

More information

Certificate-based authentication for data security

Certificate-based authentication for data security Technical white paper Certificate-based authentication for data security Table of Contents Introduction... 2 Analogy: A simple checking account... 2 Verifying a digital certificate... 2 Summary... 8 Important

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

Art, Nature, and Patterns Introduction

Art, Nature, and Patterns Introduction Art, Nature, and Patterns Introduction to LOGO Describing patterns with symbols This tutorial is designed to introduce you to some basic LOGO commands as well as two fundamental and powerful principles

More information

ArcMap Online Tutorial Sarah Pierce How to map in ArcMap Online using the Fresh Prince of Bel Air as an example

ArcMap Online Tutorial Sarah Pierce How to map in ArcMap Online using the Fresh Prince of Bel Air as an example Fall GARP ArcMap Online Tutorial Sarah Pierce How to map in ArcMap Online using the Fresh Prince of Bel Air as an example Westfield State University Let s say you ve never used ArcGIS before and your professor

More information

An Intelligent Method for Searching Metadata Spaces

An Intelligent Method for Searching Metadata Spaces An Intelligent Method for Searching Metadata Spaces Introduction This paper proposes a manner by which databases containing IEEE P1484.12 Learning Object Metadata can be effectively searched. (The methods

More information

High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur High Performance Computer Architecture Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 23 Hierarchical Memory Organization (Contd.) Hello

More information

Introduction to the Emacs Editor

Introduction to the Emacs Editor Introduction to the Emacs Editor Scott D. Anderson Wellesley College Scott.Anderson@acm.org c Fall 2004 1 What is Emacs? Emacs is an editor: a program that allows you to modify files. Many of you have

More information

Introduction Installation and Startup JMeter GUI

Introduction Installation and Startup JMeter GUI Introduction Apache JMeter is the industry s most popular open-source performance testing tool, offering load testing through different processing protocols, e.g. HTML, JDBC, WCF. With the right personnel

More information

Fun with SunScreen. Peter Baer Galvin

Fun with SunScreen. Peter Baer Galvin Seite 1 von 7 Fun with SunScreen Peter Baer Galvin Solaris 9 has many security enhancements, including some supported ones like secure shell, a secure LDAP client, Kerberos KDC and administration tools,

More information

Running Java Programs

Running Java Programs Running Java Programs Written by: Keith Fenske, http://www.psc-consulting.ca/fenske/ First version: Thursday, 10 January 2008 Document revised: Saturday, 13 February 2010 Copyright 2008, 2010 by Keith

More information

CHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface

CHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface CHAPTER 1 Finding Your Way in the Inventor Interface COPYRIGHTED MATERIAL Understanding Inventor s interface behavior Opening existing files Creating new files Modifying the look and feel of Inventor Managing

More information

Version Operator Orientation. TIMMS Client. A guide to using the TIMMS System. Training & Navigation Notes

Version Operator Orientation. TIMMS Client. A guide to using the TIMMS System. Training & Navigation Notes Version 7.2.4 Operator Orientation TIMMS Client A guide to using the TIMMS System Training & Navigation Notes Disprax Pty Ltd 2015 WHAT IS TIMMS? TIMMS Stands for: Total Industry Management and Marketing

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

5 R1 The one green in the same place so either of these could be green.

5 R1 The one green in the same place so either of these could be green. Page: 1 of 20 1 R1 Now. Maybe what we should do is write out the cases that work. We wrote out one of them really very clearly here. [R1 takes out some papers.] Right? You did the one here um where you

More information

for Q-CHECKER Text version 15-Feb-16 4:49 PM

for Q-CHECKER Text version 15-Feb-16 4:49 PM Q-MONITOR 5.4.X FOR V5 for Q-CHECKER USERS GUIDE Text version 15-Feb-16 4:49 PM Orientation Symbols used in the manual For better orientation in the manual the following symbols are used: Warning symbol

More information

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore

High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore High Performance Computing Prof. Matthew Jacob Department of Computer Science and Automation Indian Institute of Science, Bangalore Module No # 09 Lecture No # 40 This is lecture forty of the course on

More information

Introduction to PascGalois JE (Java Edition)

Introduction to PascGalois JE (Java Edition) Introduction to PascGalois JE (Java Edition) So what is PascGalois JE? The PascGalois project was started in the late 1990 s as a new and innovative way to visualize concepts in an introductory abstract

More information

ACTUARIAL STUDIES AND DEMOGRAPHY

ACTUARIAL STUDIES AND DEMOGRAPHY ACTUARIAL STUDIES AND DEMOGRAPHY Research Paper Series A Survey of Macquarie University Students Home Computers Jim Farmer Research Paper No. 003/98 ISBN No. 1 86408 446 4 August 1998 jfarmer@efs.mq.edu.au

More information

Lesson 9 Transcript: Backup and Recovery

Lesson 9 Transcript: Backup and Recovery Lesson 9 Transcript: Backup and Recovery Slide 1: Cover Welcome to lesson 9 of the DB2 on Campus Lecture Series. We are going to talk in this presentation about database logging and backup and recovery.

More information

CS 051 Homework Laboratory #2

CS 051 Homework Laboratory #2 CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how

More information

Additional laboratory

Additional laboratory Additional laboratory This is addicional laboratory session where you will get familiar with the working environment. Firstly, you will learn about the different servers present in the lab and how desktops

More information

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Seminar report Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE A Seminar report On Java Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: www.studymafia.org SUBMITTED BY: www.studymafia.org 1 Acknowledgement I would like

More information