CS 209 Spring, 2006 Lab 11: Files & Streams Instructor: J.G. Neal

Size: px
Start display at page:

Download "CS 209 Spring, 2006 Lab 11: Files & Streams Instructor: J.G. Neal"

Transcription

1 CS 209 Spring, 2006 Lab 11: Files & Streams Instructor: J.G. Neal Objectives: To gain experience with basic file input/output programming. Note: 1. This lab exercise corresponds to Chapter 16 of the textbook. 2. First, in this lab exercise, you will run and test an instructor-provided program. 3. Then you will extend your program from Lab Exercise 8 to include the saving and retrieving of employee data to/from file. Lab Instructions: 1. Obtain program files from instructor s webpage. EmployeeMultiTypeSeqFileExer.java: main class/file and driver for the demo program. EmployeeMultiTypeOpenListener.java: listener class containing event handler method for opening and reading a sequential file comprised of multiple data types. EmployeeMultiTypeSaveListener.java: listener class containing event handler method for writing a sequential file comprised of multiple data types. Employee.java: file to be used only to run the instructor-provided program; contains only a rudimentary tostring() method. 2. Create a project in NetBeans for this assignment. Add the four (4) instructor-provided classes (files) to the project. Run and test the program as indicated below. 3. Run the program comprised of the instructor-provided files mentioned above. To run the program, run the file EmployeeMultiTypeSeqFileEx.java. Note: This program only writes and reads part of the Employee data to/from file. As explained below, your job is to extend your Lab Exercise 8 program to include capabilities for writing the list of employees (including all their attributes) to file and reading a list of employees (including all their attributes) from a file. 4. Test the functionality of the instructor-provided program. If you enter an integer in the first field and hit the Enter key, the data on the employee in that position in the list (array) is displayed in the JTextFields. If no employee has been inserted into the selected list position, a message to that effect is displayed. If you enter data in all the fields and hit the Enter key in any field other than the first Employee Position field, then: i. if the array cell at the indicated position is empty, the employee is added to the array; ii. otherwise, if there is an object in the array cell at the indicated position, then the employee object is replaced with an employee created using the new updated data. After having entered several person objects into the array, click on the Save File button. This will write the array of Employee objects to a file, whose name and location is specified by the user. Important note: The saved file is not a text file, and therefore cannot be read or viewed in a tool such as Microsoft Word, NotePad, or WordPad. The data items are saved in binary form. After having saved the list of Employees to file by clicking the Save File button, exit the program. To do this, click the X button in the upper-right corner of the window. Re-start the program. Do not enter data on any Employees. Instead, click the Open File Page 1 of 8

2 button, and specify the name and location of the file to which you saved the list of employees in the previous step. The program should read the file and display the list of employees in the JTextArea. You should then be able to continue to add and change employees in the array list. You should be able to save the Employee list to file whenever desired, or open (read) an employee list from file into the program, as desired. 5. Instructions for file writing and reading. In this program and in the program that you will write as part of this exercise, file writing and reading is performed using the methods of the DataInputStream and DataOutputStream classes. These classes are used because they provide methods to read/write the different Java data types. The class MultiTypeSaveListener contains code that writes a list of employees to a file. This class illustrates how to write each item to file in its binary form using the methods of the DataOutputStream class. As part of this exercise and as illustrated in the class MultiTypeSaveListener, your code must write each data item to file in its binary form: i. Text string data items are written to the file as Strings of variable length. Since the strings are of variable length, a semi-colon is used as the special character to mark the end of a string in the file. Use the method writechars from the DataOutputStream class. o Employee member variables of type String: name, employee type, job title. ii. Integers are written as binary ints. Therefore, each has the same fixed length, namely 32 bits (4 bytes). Since all ints have the same fixed length, no special character is needed to mark the end of an int. Use method writeint from the DataOutputStream class. Do not insert a special character to mark the end of an int. o Employee member variables of type int: idnumber. iii. Decimal numbers are written as binary doubles. Therefore, each has the same fixed length, namely 64 bits (8 bytes). Since all doubles have the same fixed length, no special character is needed to mark the end of a double. Use method writedouble from the DataOutputStream class. Do not insert a special character to mark the end of a double. o Employee member variables of type double: payrate, hoursworked, The class MultiTypeOpenListener contains code that reads a list of employees from a file that has been written by the program. This class illustrates how to read each item from a file containing the data in binary form, using the methods of the DataInputStream class. As part of this exercise and as illustrated in the class MultiTypeOpenListener, your code must read each data item from a file containing the data in binary form. 6. In the next steps, you will modify and extend your Lab Exercise 8 program so that all the data on all the employees is written to a file and read from a file. 7. Mod 1. Add panel of buttons for file operations to your Lab Exercise 8 program. Copy the code from the file EmployeeMultiTypeSeqFileExer.java that creates and adds the button panel for file operations to the GUI (the panel containing the buttons Open File and Save File). The primary code should consist of lines Paste this code into your Lab 8 program. Copy and paste any other necessary related code also (e.g., declaration of the file-related Page 2 of 8

3 variables in lines Make any other necessary modifications to the code. This would include making it consistent with your Lab 8 program. 8. Mod 2. In class EmployeeMultiTypeSaveListener, add code to write all the rest of the data on every employee to file. In the actionperformed method, modify and extend the code so that it writes the rest of the data on each employee to file. The only employee attributes that are currently written to file are the name and idnumber. You must add code to write the following member variables or attributes to the file in addition to the name and idnumber: i. employeetype as a String (of any arbitrary length) ii. job title as a String (of any arbitrary length) iii. hoursworked as a double. iv. payrate as a double. 9. Mod 3. In class MultiTypeOpenListener, add code to read all the rest of the data on every employee from file. In the actionperformed method, modify and extend the code so that it reads the rest of the data on each employee from file. The only employee attributes that are currently read from file are the name and idnumber. You must add code to read the following member variables or attributes from the file in addition to the name and idnumber: i. employeetype as a String (of arbitrary length). ii. job title as a String (of arbitrary length) iii. hoursworked as a double. iv. payrate as a double. 10. Mod 4. Make any other necessary additions and changes to your program. 11. Run, test, and debug your program. Make sure that all the member variables are written to file by the Save File handler. Make sure that all the member variables are read from file by the Open File handler. Perform the following test when running your program: Create an employee list, write the list to a file, and exit the program. Then re-start the program and read the employee list from the saved file. Make sure that the employee list displayed in the program s JTextArea is the same as it was just before the list was written to file. 12. After getting the modified program to work correctly, make window captures for submission for credit. 13. See the figures below for window captures of the finished working program. 14. Create batch file. Create a batch file as you did for previous assignments so that your program can be executed without the use of NetBeans. Be sure that the batch file is within your top level NetBeans project folder 15. Create ReadMe file. Using Microsoft Word, create a file named ReadMe. In this document, insert your name at the top, and on the next line insert the assignment Page 3 of 8

4 number. Then enter any comments regarding the assignment and your program. Indicate whether you did the extra credit part of the assignment. Then insert your window captures that demonstrate that the program works correctly. If you did the extra credit part of the assignment, be sure to state this in your ReadMe file. Also, include window captures that demonstrate the extra credit capabilities. Be sure the ReadMe document file is in your top level NetBeans project folder. 16. Zip the project folder and all its contents. Create a zip file that contains the entire contents of your NetBeans project folder, including all sub-folders and files. Your project folder should contain your ReadMe file and batch file, as for previous project assignments. Change the name the zip file so that its name consists of your name along with the assignment number, as follows: JohnJones-11.zip. Do not use spaces in the name of the file, use hyphens instead. 17. Extra Credit: Do A or B: A. Add code to store the user-selected file name in the GUI class and report file operations to the user. Add a private member variable, named filename, to the JFrame subclass of your program. The variable must be used to hold the name of the file selected by the user. Add a public method, named setfilename, that sets the value of the filename variable. This method should be added to the same JFrame subclass of your program. Add a public method, named getfilename, that gets the value of the filename variable. This method should be added to the same JFrame subclass of your program Add code that invokes the above-mentioned methods to set or get the filename value, as appropriate. This code should be added to the two handler methods that read and write files so that the name of the user-selected file is held within the main class as the value of the filename variable. The filename must be changed (set) when the user selects a different file to write/read. Add code that reports when a file operation is performed along with the file name on the GUI at the top of the JTextArea. The code must display (1) whether the file operation was a read or write, along with (2) the name of the file. A message should be displayed each time a file is written or read. A message should only be displayed if a file read/write has just been performed. B. Add code to your newly enhanced and modified program that enables the user to insert and retrieve employee objects into/from user-specified positions in the employee array, as in the instructor-provided demo program. Use the instructor-provided EmployeeMultiTypeSeqFileExer.java file as an example of how to implement the desired functionality. TO RECEIVE CREDIT FOR YOUR ASSIGNMENT: Submit the following for credit to Angel Drop Box for Exercise 11: a. The zip file containing your entire NetBeans project folder with all its subfolders and files. Page 4 of 8

5 b. You must have a batch file to run your program without using NetBeans, and the batch file must be in your top level project folder. c. You must have a ReadMe file that contains your name at the top, the lab number, any comments regarding the assignment, and window captures to show the program execution. The ReadMe file must be in the top level project folder. d. You must submit your zip file to the Lab11 Drop Box for this CS 209 course in Angel ( DUE DATE: Tuesday, April 25. EXAMPLES OF PROGRAM EXECUTION: Page 5 of 8

6 Page 6 of 8

7 Page 7 of 8

8 Page 8 of 8

CS 209 Spring, 2006 Lab 8: GUI Development Instructor: J.G. Neal

CS 209 Spring, 2006 Lab 8: GUI Development Instructor: J.G. Neal CS 209 Spring, 2006 Lab 8: GUI Development Instructor: J.G. Neal Objectives: To gain experience with the programming of: 1. Graphical user interfaces (GUIs), 2. GUI components, and 3. Event handling (required

More information

CS 209 Sec. 52 Spring, 2006 Lab 5: Classes Instructor: J.G. Neal

CS 209 Sec. 52 Spring, 2006 Lab 5: Classes Instructor: J.G. Neal CS 209 Sec. 52 Spring, 2006 Lab 5: Classes Instructor: J.G. Neal Objectives. To gain experience with: 1. The definition and use of a class to represent a real-world type of entity (an employee). 2. Adding

More information

CS 209 Sec. 52 Spring, 2006 Lab 4-A: Arrays Instructor: J.G. Neal Objectives: Lab Instructions: Obtain file ArrayDemoConsole.java

CS 209 Sec. 52 Spring, 2006 Lab 4-A: Arrays Instructor: J.G. Neal Objectives: Lab Instructions: Obtain file ArrayDemoConsole.java CS 209 Sec. 52 Spring, 2006 Lab 4-A: Arrays Instructor: J.G. Neal Objectives: To gain experience with: 1. The declaration, creation, and use of arrays. 2. Inserting/removing items into/from an array. 3.

More information

Page 1 of 7. public class EmployeeAryAppletEx extends JApplet

Page 1 of 7. public class EmployeeAryAppletEx extends JApplet CS 209 Spring, 2006 Lab 9: Applets Instructor: J.G. Neal Objectives: To gain experience with: 1. Programming Java applets and the HTML page within which an applet is embedded. 2. The passing of parameters

More information

CS 209 Sec. 52 Spring, 2006 Lab 6 - B: Inheritance Instructor: J.G. Neal

CS 209 Sec. 52 Spring, 2006 Lab 6 - B: Inheritance Instructor: J.G. Neal CS 209 Sec. 52 Spring, 2006 Lab 6 - B: Inheritance Instructor: J.G. Neal Objectives. To gain experience with: 1. The creation of a simple hierarchy of classes. 2. The implementation and use of inheritance.

More information

CS 209 Section 52 Lab 1-A: Getting Started with NetBeans Instructor: J.G. Neal Objectives: Lab Instructions: Log in Create folder CS209

CS 209 Section 52 Lab 1-A: Getting Started with NetBeans Instructor: J.G. Neal Objectives: Lab Instructions: Log in Create folder CS209 CS 209 Section 52 Lab 1-A: Getting Started with NetBeans Instructor: J.G. Neal Objectives: 1. To create a project in NetBeans. 2. To create, edit, compile, and run a Java program using NetBeans. 3. To

More information

CS 209 Spring, 2006 Lab 12: JAR Files Instructor: J.G. Neal

CS 209 Spring, 2006 Lab 12: JAR Files Instructor: J.G. Neal CS 209 Spring, 2006 Lab 12: JAR Files Instructor: J.G. Neal Objectives: To gain experience with the creation and use of JAR files, particularly for an applet. Notes: 1. This lab exercise corresponds to

More information

CS 209 Programming in Java #10 Exception Handling

CS 209 Programming in Java #10 Exception Handling CS 209 Programming in Java #10 Exception Handling Textbook Chapter 15 Spring, 2006 Instructor: J.G. Neal 1 Topics What is an Exception? Exception Handling Fundamentals Errors and Exceptions The try-catch-finally

More information

CS 251 Intermediate Programming Java I/O Streams

CS 251 Intermediate Programming Java I/O Streams CS 251 Intermediate Programming Java I/O Streams Brooke Chenoweth University of New Mexico Spring 2018 Basic Input/Output I/O Streams mostly in java.io package File I/O mostly in java.nio.file package

More information

CoSc Lab # 6 (The Model) Due Date: Part I, Experiment classtime, Tuesday, Nov 6 th, 2018.

CoSc Lab # 6 (The Model) Due Date: Part I, Experiment classtime, Tuesday, Nov 6 th, 2018. CoSc 10403 Lab # 6 (The Model) Due Date: Part I, Experiment classtime, Tuesday, Nov 6 th, 2018. Part II, Program - by midnight, Tuesday, Nov 6 th, 2018. Again you will be required to "zip" together the

More information

Lab 10: Inheritance (I)

Lab 10: Inheritance (I) CS2370.03 Java Programming Spring 2005 Dr. Zhizhang Shen Background Lab 10: Inheritance (I) In this lab, we will try to understand the concept of inheritance, and its relation to polymorphism, better;

More information

Lecture 7. File Processing

Lecture 7. File Processing Lecture 7 File Processing 1 Data (i.e., numbers and strings) stored in variables, arrays, and objects are temporary. They are lost when the program terminates. To permanently store the data created in

More information

CS 116. Lab Assignment # 1 1

CS 116. Lab Assignment # 1 1 Points: 2 Submission CS 116 Lab Assignment # 1 1 o Deadline: Friday 02/05 11:59 PM o Submit on Blackboard under assignment Lab1. Please make sure that you click the Submit button and not just Save. Late

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

14.3 Handling files as binary files

14.3 Handling files as binary files 14.3 Handling files as binary files 469 14.3 Handling files as binary files Although all files on a computer s hard disk contain only bits, binary digits, we say that some files are text files while others

More information

Spring 2017 CMSC 140 Programming Project 7: Payroll

Spring 2017 CMSC 140 Programming Project 7: Payroll Spring 2017 CMSC 140 Programming Project 7: Payroll Concepts tested by the program: 1. Working with arrays 2. Using file operations 3. Using a selection sort to sort parallel arrays 4. Using a binary search

More information

Computer Architecture: Optional Homework Set

Computer Architecture: Optional Homework Set Computer Architecture: Optional Homework Set Black Board due date: Hard Copy due date: Monday April 27 th, at Midnight. Tuesday April 28 th, during Class. Exercise 1: (50 Points) Patterson and Hennessy

More information

Review sheet for Final Exam (List of objectives for this course)

Review sheet for Final Exam (List of objectives for this course) Review sheet for Final Exam (List of objectives for this course) Please be sure to see other review sheets for this semester Please be sure to review tests from this semester Week 1 Introduction Chapter

More information

CS 201 Advanced Object-Oriented Programming Lab 6 - Sudoku, Part 2 Due: March 10/11, 11:30 PM

CS 201 Advanced Object-Oriented Programming Lab 6 - Sudoku, Part 2 Due: March 10/11, 11:30 PM CS 201 Advanced Object-Oriented Programming Lab 6 - Sudoku, Part 2 Due: March 10/11, 11:30 PM Introduction to the Assignment In this lab, you will finish the program to allow a user to solve Sudoku puzzles.

More information

Critical Thinking Assignment #6: Java Program #6 of 6 (70 Points)

Critical Thinking Assignment #6: Java Program #6 of 6 (70 Points) Critical Thinking Assignment #6: Java Program #6 of 6 (70 Points) Java Interactive GUI Application for Number Guessing with Colored Hints (based on Module 7 material) 1) Develop a Java application that

More information

Java Programming Lecture 6

Java Programming Lecture 6 Java Programming Lecture 6 Alice E. Fischer Feb 15, 2013 Java Programming - L6... 1/32 Dialog Boxes Class Derivation The First Swing Programs: Snow and Moving The Second Swing Program: Smile Swing Components

More information

Java Programming Lecture 7

Java Programming Lecture 7 Java Programming Lecture 7 Alice E. Fischer Feb 16, 2015 Java Programming - L7... 1/16 Class Derivation Interfaces Examples Java Programming - L7... 2/16 Purpose of Derivation Class derivation is used

More information

DEMYSTIFYING PROGRAMMING: CHAPTER SIX METHODS (TOC DETAILED) CHAPTER SIX: METHODS 1

DEMYSTIFYING PROGRAMMING: CHAPTER SIX METHODS (TOC DETAILED) CHAPTER SIX: METHODS 1 DEMYSTIFYING PROGRAMMING: CHAPTER SIX METHODS (TOC DETAILED) CHAPTER SIX: METHODS 1 Objectives 1 6.1 Methods 1 void or return 1 Parameters 1 Invocation 1 Pass by value 1 6.2 GUI 2 JButton 2 6.3 Patterns

More information

CSC207 Week 4. Larry Zhang

CSC207 Week 4. Larry Zhang CSC207 Week 4 Larry Zhang 1 Logistics A1 Part 1, read Arnold s emails. Follow the submission schedule. Read the Q&A session in the handout. Ask questions on the discussion board. Submit on time! Don t

More information

CSE Lab 8 Assignment Note: This is the last lab for CSE 1341

CSE Lab 8 Assignment Note: This is the last lab for CSE 1341 CSE 1341 - Lab 8 Assignment Note: This is the last lab for CSE 1341 Pre-Lab : There is no pre-lab this week. Lab (100 points) The objective of Lab 8 is to get familiar with and utilize the wealth of Java

More information

It is academic misconduct to share your work with others in any form including posting it on publicly accessible web sites, such as GitHub.

It is academic misconduct to share your work with others in any form including posting it on publicly accessible web sites, such as GitHub. p4: Cache Simulator 1. Logistics 1. This project must be done individually. It is academic misconduct to share your work with others in any form including posting it on publicly accessible web sites, such

More information

DEMYSTIFYING PROGRAMMING: CHAPTER FOUR

DEMYSTIFYING PROGRAMMING: CHAPTER FOUR DEMYSTIFYING PROGRAMMING: CHAPTER FOUR Chapter Four: ACTION EVENT MODEL 1 Objectives 1 4.1 Additional GUI components 1 JLabel 1 JTextField 1 4.2 Inductive Pause 1 4.4 Events and Interaction 3 Establish

More information

2IS45 Programming

2IS45 Programming Course Website Assignment Goals 2IS45 Programming http://www.win.tue.nl/~wsinswan/programmeren_2is45/ Rectangles Learn to use existing Abstract Data Types based on their contract (class Rectangle in Rectangle.

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG 1 Notice Reading Assignment Chapter 1: Introduction to Java Programming Homework 1 It is due this coming Sunday

More information

Project #3. Computer Science 2334 Fall Create a Graphical User Interface and import/export software for a Hurricane Database.

Project #3. Computer Science 2334 Fall Create a Graphical User Interface and import/export software for a Hurricane Database. User Request: Project #3 Computer Science 2334 Fall 2007 Milestones: Create a Graphical User Interface and import/export software for a Hurricane Database. 1. Create import software that can read the output

More information

S8352: Java From the Very Beginning Part I - Exercises

S8352: Java From the Very Beginning Part I - Exercises S8352: Java From the Very Beginning Part I - Exercises Ex. 1 Hello World This lab uses the Eclipse development environment which provides all of the tools necessary to build, compile and run Java applications.

More information

5/29/2006. Announcements. Last Time. Today. Text File I/O Sample Programs. The File Class. Without using FileReader. Reviewed method overloading.

5/29/2006. Announcements. Last Time. Today. Text File I/O Sample Programs. The File Class. Without using FileReader. Reviewed method overloading. Last Time Reviewed method overloading. A few useful Java classes: Other handy System class methods Wrapper classes String class StringTokenizer class Assn 3 posted. Announcements Final on June 14 or 15?

More information

TIME : 3 Hrs MAX. MARKS : 70 SET 1

TIME : 3 Hrs MAX. MARKS : 70 SET 1 Sample Paper 0 Class XI Subject Informatics Practices TIME : 3 Hrs MAX. MARKS : 70 SET Q (a) Which of the following is not hardware : (i) Hard disk (ii) Printer (iii) Keyboard (iv) CPU (v) Assembler (vi)

More information

Event Driven Programming

Event Driven Programming Event Driven Programming Part 1 Introduction Chapter 12 CS 2334 University of Oklahoma Brian F. Veale 1 Graphical User Interfaces So far, we have only dealt with console-based programs Run from the console

More information

Topic 7: Algebraic Data Types

Topic 7: Algebraic Data Types Topic 7: Algebraic Data Types 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 5.5, 5.7, 5.8, 5.10, 5.11, 5.12, 5.14 14.4, 14.5, 14.6 14.9, 14.11,

More information

CSE 1325 Project Description

CSE 1325 Project Description CSE 1325 Summer 2016 Object-Oriented and Event-driven Programming (Using Java) Instructor: Soumyava Das Graphical User Interface (GUI), Event Listeners and Handlers Project IV Assigned On: 07/28/2016 Due

More information

CS 134 Test Program #2

CS 134 Test Program #2 CS 134 Test Program #2 Sokoban Objective: Build an interesting game using much of what we have learned so far. This second test program is a computer maze game called Sokoban. Sokoban is a challenging

More information

CS 251 Intermediate Programming GUIs: Event Listeners

CS 251 Intermediate Programming GUIs: Event Listeners CS 251 Intermediate Programming GUIs: Event Listeners Brooke Chenoweth University of New Mexico Fall 2017 What is an Event Listener? A small class that implements a particular listener interface. Listener

More information

EE 422C HW 6 Multithreaded Programming

EE 422C HW 6 Multithreaded Programming EE 422C HW 6 Multithreaded Programming 100 Points Due: Monday 4/16/18 at 11:59pm Problem A certain theater plays one show each night. The theater has multiple box office outlets to sell tickets, and the

More information

Project 1: Remote Method Invocation CSE 291 Spring 2016

Project 1: Remote Method Invocation CSE 291 Spring 2016 Project 1: Remote Method Invocation CSE 291 Spring 2016 Assigned: Tuesday, 5 April Due: Thursday, 28 April Overview In this project, you will implement a remote method invocation (RMI) library. RMI forwards

More information

Assessment details for All students Assessment item 1

Assessment details for All students Assessment item 1 Assessment details for All students Assessment item 1 Due Date: Weighing: 20% Thursday of Week 6 (19 th April) 11.45 pm AEST 1. Objectives The purpose of this assessment item is to assess your skills attributable

More information

SINGLE EVENT HANDLING

SINGLE EVENT HANDLING SINGLE EVENT HANDLING Event handling is the process of responding to asynchronous events as they occur during the program run. An event is an action that occurs externally to your program and to which

More information

Programming Exercise 14: Inheritance and Polymorphism

Programming Exercise 14: Inheritance and Polymorphism Programming Exercise 14: Inheritance and Polymorphism Purpose: Gain experience in extending a base class and overriding some of its methods. Background readings from textbook: Liang, Sections 11.1-11.5.

More information

CSC 161 SPRING 17 LAB 2-1 BORDERLAYOUT, GRIDLAYOUT, AND EVENT HANDLING

CSC 161 SPRING 17 LAB 2-1 BORDERLAYOUT, GRIDLAYOUT, AND EVENT HANDLING CSC 161 SPRING 17 LAB 2-1 BORDERLAYOUT, GRIDLAYOUT, AND EVENT HANDLING PROFESSOR GODFREY MUGANDA 1. Learn to Generate Random Numbers The class Random in Java can be used to create objects of the class

More information

Homework 3 Huffman Coding. Due Thursday October 11

Homework 3 Huffman Coding. Due Thursday October 11 Homework 3 Huffman Coding Due Thursday October 11 Huffman Coding Implement Huffman Encoding and Decoding and the classes shown on the following slides. You will also need to use Java s stack class HuffmanEncode

More information

EXPERIMENT 1. FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS

EXPERIMENT 1. FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS EXPERIMENT 1 FAMILIARITY WITH DEBUG, x86 REGISTERS and MACHINE INSTRUCTIONS Pre-lab: This lab introduces you to a software tool known as DEBUG. Before the lab session, read the first two sections of chapter

More information

New York University Computer Science Department Courant Institute of Mathematical Sciences

New York University Computer Science Department Courant Institute of Mathematical Sciences New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:

More information

Files and Streams

Files and Streams Files and Streams 4-18-2006 1 Opening Discussion Do you have any questions about the quiz? What did we talk about last class? Do you have any questions about the assignment? What are files and why are

More information

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department CPCS204, 2 nd Term 2014 Program 5: FCITbook Assigned: Thursday, May 1 st, 2014 Due: Thursday, May 15

More information

CS Exam 1 Review Suggestions

CS Exam 1 Review Suggestions CS 235 - Fall 2015 - Exam 1 Review Suggestions p. 1 last modified: 2015-09-30 CS 235 - Exam 1 Review Suggestions You are responsible for material covered in class sessions, lab exercises, and homeworks;

More information

CS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM

CS ) PROGRAMMING ASSIGNMENT 11:00 PM 11:00 PM CS3114 (Fall 2017) PROGRAMMING ASSIGNMENT #4 Due Thursday, December 7 th @ 11:00 PM for 100 points Due Tuesday, December 5 th @ 11:00 PM for 10 point bonus Last updated: 11/13/2017 Assignment: Update:

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

CSCI 355 LAB #2 Spring 2004

CSCI 355 LAB #2 Spring 2004 CSCI 355 LAB #2 Spring 2004 More Java Objectives: 1. To explore several Unix commands for displaying information about processes. 2. To explore some differences between Java and C++. 3. To write Java applications

More information

Project phase 1 Scanner front-end assigned Tuesday 2 September, due Tuesday 16 September

Project phase 1 Scanner front-end assigned Tuesday 2 September, due Tuesday 16 September CS 351 Design of Large Programs, Fall 2003 1 Project phase 1 Scanner front-end assigned Tuesday 2 September, due Tuesday 16 September 1.1 Task Write Java classes and interfaces to implement the scanner

More information

CS31 Discussion 1E. Jie(Jay) Wang Week1 Sept. 30

CS31 Discussion 1E. Jie(Jay) Wang Week1 Sept. 30 CS31 Discussion 1E Jie(Jay) Wang Week1 Sept. 30 About me Jie Wang E-mail: holawj@gmail.com Office hour: Wednesday 3:30 5:30 BH2432 Thursday 12:30 1:30 BH2432 Slides of discussion will be uploaded to the

More information

Data Structures. 03 Streams & File I/O

Data Structures. 03 Streams & File I/O David Drohan Data Structures 03 Streams & File I/O JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN 0132162709 2012 Pearson Education, Inc., Upper Saddle River, NJ.

More information

We first learn one useful option of gcc. Copy the following C source file to your

We first learn one useful option of gcc. Copy the following C source file to your Lecture 5 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lab 5: gcc and gdb tools 10-Oct-2018 Location: Teaching Labs Time: Thursday Instructor: Vlado Keselj Lab 5:

More information

CS 101, Spring 2014 April 1st Exam 2 Question 1. [3 points] What output is printed by the following code?

CS 101, Spring 2014 April 1st Exam 2 Question 1. [3 points] What output is printed by the following code? CS 101, Spring 2014 April 1st Exam 2 Name: Question 1. [3 points] What output is printed by the following code? int arr[4] = {13, 1, 9, 18; printf("%i\n", arr[3]); Question 2. [3 points] Specify a function

More information

Lab 4. Since this lab has several components in it, I'm providing some guidance to keep everyone

Lab 4. Since this lab has several components in it, I'm providing some guidance to keep everyone CS 241 Algorithms and Data Structures Spring Semester, 2003 Lab 4 April 1, 2003 Due Date: Tuesday April 15 This lab will bring together several of the topics we have studied this semester to nd the route

More information

// class variable that gives the path where my text files are public static final String path = "C:\\java\\sampledir\\PS10"

// class variable that gives the path where my text files are public static final String path = C:\\java\\sampledir\\PS10 Problem Set 10 Due: 4:30PM, Friday May 10, 2002 Problem 1. Files and hashing, preliminary question (30%) This problem focuses on the use of the hashcode() method, and touches on the tostring() and equals()

More information

CPS122 Lecture: Graphical User Interfaces and Event-Driven Programming

CPS122 Lecture: Graphical User Interfaces and Event-Driven Programming CPS122 Lecture: Graphical User Interfaces and Event-Driven Programming Objectives: Last revised 1/15/10 1. To introduce the notion of a component and some basic Swing components (JLabel, JTextField, JTextArea,

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

To gain experience using GUI components and listeners.

To gain experience using GUI components and listeners. Lab 5 Handout 7 CSCI 134: Fall, 2017 TextPlay Objective To gain experience using GUI components and listeners. Note 1: You may work with a partner on this lab. If you do, turn in only one lab with both

More information

CS Week 14 Lab Exercise

CS Week 14 Lab Exercise CS 111 - Week 14 Lab Exercise p.1 Deadline CS 111 - Week 14 Lab Exercise - 2018-11-05 Due by the end of lab on 2018-11-26. (Submit whatever you have by the end of lab, even if incomplete.) How to submit

More information

Object Oriented Design: Identifying Objects

Object Oriented Design: Identifying Objects Object Oriented Design: Identifying Objects Review What did we do in the last lab? What did you learn? What classes did we use? What objects did we use? What is the difference between a class and an object?

More information

Prototyping a Swing Interface with the Netbeans IDE GUI Editor

Prototyping a Swing Interface with the Netbeans IDE GUI Editor Prototyping a Swing Interface with the Netbeans IDE GUI Editor Netbeans provides an environment for creating Java applications including a module for GUI design. Here we assume that we have some existing

More information

Assignment 2: Temperature Class

Assignment 2: Temperature Class Assigned: September 23, 2016 Due: October 03, 2016, 11:59:59pm Assignment 2: Temperature Class Purpose The purpose of this project is to provide you more practice with implementing classes. Here you will

More information

GUI Forms and Events, Part II

GUI Forms and Events, Part II GUI Forms and Events, Part II Quick Start Compile step once always mkdir labs javac PropertyTax6.java cd labs Execute step mkdir 6 java PropertyTax6 cd 6 cp../5/propertytax5.java PropertyTax6.java Submit

More information

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2) Welcome Orientation to online CPS102 Computer Science 2 (Java 2) All online courses use Blackboard system, as soon as you login Blackboard in college s pipeline, please complete Blackboard Learn Student

More information

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 P a g e 1 CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 Q1 Describe some Characteristics/Advantages of Java Language? (P#12, 13, 14) 1. Java

More information

Java Just in Time: Collected concepts after chapter 18

Java Just in Time: Collected concepts after chapter 18 Java Just in Time: Collected concepts after chapter 18 John Latham, School of Computer Science, Manchester University, UK. April 15, 2011 Contents 1 Computer basics 18000 1.1 Computer basics: hardware

More information

Streams and File I/O

Streams and File I/O Walter Savitch Frank M. Carrano Streams and File I/O Chapter 10 Objectives Describe the concept of an I/O stream Explain the difference between text and binary files Save data, including objects, in a

More information

Structured Programming

Structured Programming CS 170 Java Programming 1 Objects and Variables A Little More History, Variables and Assignment, Objects, Classes, and Methods Structured Programming Ideas about how programs should be organized Functionally

More information

Week Chapter Assignment SD Technology Standards. 1,2, Review Knowledge Check JP3.1. Program 5.1. Program 5.1. Program 5.2. Program 5.2. Program 5.

Week Chapter Assignment SD Technology Standards. 1,2, Review Knowledge Check JP3.1. Program 5.1. Program 5.1. Program 5.2. Program 5.2. Program 5. Week Chapter Assignment SD Technology Standards 1,2, Review JP3.1 Review exercises Debugging Exercises 3,4 Arrays, loops and layout managers. (5) Create and implement an external class Write code to create

More information

Unit 2: Data Storage CS 101, Fall 2018

Unit 2: Data Storage CS 101, Fall 2018 Unit 2: Data Storage CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Evaluate digital circuits that use AND, OR, XOR, and NOT. Convert binary integers to/from decimal,

More information

Project 1. LibraryTest.java. Yuji Shimojo CMSC 335

Project 1. LibraryTest.java. Yuji Shimojo CMSC 335 Project 1 LibraryTest.java Yuji Shimojo CMSC 335 April 1, 2012 1 Contents 1. Programs... 3 2. Execution Result... 10 3. Class Diagram... 11 4. Operating Instructions & Test Cases... 11 5. Test Data...

More information

Final Examination Semester 2 / Year 2012

Final Examination Semester 2 / Year 2012 Final Examination Semester 2 / Year 2012 COURSE : JAVA PROGRAMMING COURSE CODE : PROG1114 TIME : 2 1/2 HOURS DEPARTMENT : COMPUTER SCIENCE LECTURER : LIM PEI GEOK Student s ID : Batch No. : Notes to candidates:

More information

CS Prof J.P.Morrison

CS Prof J.P.Morrison CS1061 2018-2019 Prof J.P.Morrison C Programming C is the most popular language worldwide. Everything from microcontrollers to operating systems is written in C flexible and versatile, allowing maximum

More information

CS112 Lecture: Streams

CS112 Lecture: Streams CS112 Lecture: Streams Objectives: Last Revised March 30, 2006 1. To introduce the abstract notion of a stream 2. To introduce the java File, Input/OutputStream, and Reader/Writer abstractions 3. To show

More information

Web API Lab. The next two deliverables you shall write yourself.

Web API Lab. The next two deliverables you shall write yourself. Web API Lab In this lab, you shall produce four deliverables in folder 07_webAPIs. The first two deliverables should be pretty much done for you in the sample code. 1. A server side Web API (named listusersapi.jsp)

More information

Final Examination Semester 3 / Year 2008

Final Examination Semester 3 / Year 2008 Southern College Kolej Selatan 南方学院 Final Examination Semester 3 / Year 2008 COURSE : JAVA PROGRAMMING COURSE CODE : PROG1114 TIME : 2 1/2 HOURS DEPARTMENT : COMPUTER SCIENCE CLASS : CS08-A + CS08-B LECTURER

More information

Yanbu University College Applied Computer Science (ACS) Introduction to Computer Science (CS 102) Lab Exercise 10

Yanbu University College Applied Computer Science (ACS) Introduction to Computer Science (CS 102) Lab Exercise 10 Yanbu University College BACHELOR OF SCIENCE IN Applied Computer Science (ACS) Introduction to Computer Science (CS 102) Third Semester Academic Year 2011 2012 Lab Exercise 10 Course Instructor: Mohammed

More information

File Operations. Lecture 16 COP 3014 Spring April 18, 2018

File Operations. Lecture 16 COP 3014 Spring April 18, 2018 File Operations Lecture 16 COP 3014 Spring 2018 April 18, 2018 Input/Ouput to and from files File input and file output is an essential in programming. Most software involves more than keyboard input and

More information

Manual of Basic Instructions

Manual of Basic Instructions AMES Wholesale Power Market Testbed: Version 2.XX A Free Open-Source Computational Laboratory for the Agent-Based Modeling of Electricity Systems (Li, Sun, and Tesfatsion) Section I: Basic Project Set-Up

More information

Instruc)onal Staff. Instructors Ron Cytron & Roger Chamberlain. Head TA Andrew Buckley. TAs there are many! See the web page

Instruc)onal Staff. Instructors Ron Cytron & Roger Chamberlain. Head TA Andrew Buckley. TAs there are many! See the web page Introduc)on CSE 132 Instruc)onal Staff Instructors Ron Cytron & Roger Chamberlain Offices: Bryan 525 & Bryan 509 Email: cytron & roger @wustl.edu Head TA Andrew Buckley Use piazza for pos)ng problems You

More information

CO Java SE 8: Fundamentals

CO Java SE 8: Fundamentals CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator

More information

Introduction to C/C++ Programming

Introduction to C/C++ Programming Chapter 1 Introduction to C/C++ Programming This book is about learning numerical programming skill and the software development process. Therefore, it requires a lot of hands-on programming exercises.

More information

During the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency.

During the first 2 weeks of class, all students in the course will take an in-lab programming exam. This is the Exam in Programming Proficiency. Description of CPSC 301: This is a 2-unit credit/no credit course. It is a course taught entirely in lab, and has two required 2-hour 50-minute lab sessions per week. It will review, reinforce, and expand

More information

CEN5501 Computer Networks Project Description

CEN5501 Computer Networks Project Description Due Date: April 21, 2008 CEN5501 Computer Networks Project Description Project Overview In this project, you are asked to write a P2P file sharing software similar to BitTorrent. You can complete the project

More information

CS 111: Programming Fundamentals II

CS 111: Programming Fundamentals II CS 111: Programming Fundamentals II Summer 2016 Home Syllabus Schedule Exams Project Meeting Times: 111-001: Lectures: 10:50 am - 12:15 pm Mon, Tue, Wed HB 112 Labs: 10:50 am - 12:15 pm Thu, HB 206, 207

More information

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:

More information

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09

Object-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09 Object-Oriented Programming: Revision / Graphics / Subversion Inf1 :: 2008/09 Breaking out of loops, 1 Task: Implement the method public void contains2(int[] nums). Given an array of ints and a boolean

More information

CSIS 10B Lab 2 Bags and Stacks

CSIS 10B Lab 2 Bags and Stacks CSIS 10B Lab 2 Bags and Stacks Part A Bags and Inheritance In this part of the lab we will be exploring the use of the Bag ADT to manage quantities of data of a certain generic type (listed as T in the

More information

CS 134 Programming Exercise 7:

CS 134 Programming Exercise 7: CS 134 Programming Exercise 7: Scribbler Objective: To gain more experience using recursion and recursive data structures. This week, you will be implementing a program we call Scribbler. You have seen

More information

First Name: AITI 2004: Exam 2 July 19, 2004

First Name: AITI 2004: Exam 2 July 19, 2004 First Name: AITI 2004: Exam 2 July 19, 2004 Last Name: JSP Track Read Instructions Carefully! This is a 3 hour closed book exam. No calculators are allowed. Please write clearly if we cannot understand

More information

Lab 3. A Multi-Message Reader

Lab 3. A Multi-Message  Reader Lab 3 A Multi-Message Email Reader Due: Wed. 2/21 at 11PM (for Mon. aft. lab), Thurs. 2/22 at 5PM (for Mon. evening), or Thurs. 2/22 at 11 (for Tues. aft.) The goal in this week s lab is to exercise your

More information

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues

More information

CS 31 Discussion 1A, Week 1. Zengwen Yuan (zyuan [at] cs.ucla.edu) Humanities A65, Friday 10:00 11:50

CS 31 Discussion 1A, Week 1. Zengwen Yuan (zyuan [at] cs.ucla.edu) Humanities A65, Friday 10:00 11:50 CS 31 Discussion 1A, Week 1 Zengwen Yuan (zyuan [at] cs.ucla.edu) Humanities A65, Friday 10:00 11:50 TA Zengwen Yuan ( zyuan [at] cs.ucla.edu ) Discussion session (1A): Humanities A65 Friday 10:00 11:50

More information

CS 180 Final Exam Review 12/(11, 12)/08

CS 180 Final Exam Review 12/(11, 12)/08 CS 180 Final Exam Review 12/(11, 12)/08 Announcements Final Exam Thursday, 18 th December, 10:20 am 12:20 pm in PHYS 112 Format 30 multiple choice questions 5 programming questions More stress on topics

More information

3. When you process a largest recent earthquake query, you should print out:

3. When you process a largest recent earthquake query, you should print out: CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #1 Due Wednesday, September 18 @ 11:00 PM for 100 points Due Tuesday, September 17 @ 11:00 PM for 10 point bonus Updated: 9/11/2013 Assignment: This is the first

More information