Here are the steps to get the files for this project after logging in on acad/bill.

Size: px
Start display at page:

Download "Here are the steps to get the files for this project after logging in on acad/bill."

Transcription

1 CSC 243, Java Programming, Spring 2014, Dr. Dale Parson Assignment 4, implementing undo, redo & initial GUI layout ASSIGNMENT due by 11:59 PM on Saturday April 19 via gmake turnitin ASSIGNMENT 5 (see page 5) is due by end of May 3 via gmake turnitin Here are the steps to get the files for this project after logging in on acad/bill. cd $HOME/JavaLang cp ~parson/javalang/perquack4.problem.zip perquack4.problem.zip unzip perquack4.problem.zip cd./perquack4 This project consists of implementing the layout of a Graphical User Interface (GUI) for playing Perquacky, Perwhacky, or other subclasses of IPerquacky. All of your work will go into file PerquackyFrame.java, where class PerquackyFrame is a subclass of javax.swing.jframe. Assignment 5 will follow up by adding event handlers and making this a fully functioning game. I have posted Javadoc at I have added various query methods to IPerquacky that your code will need to use to figure out certain details of laying our your GUI, including valid word lengths (do NOT assume 3 through 10), the maximum number of words of a given length allowed (do NOT assume / hard code 5), the various point thresholds, and the number of players. The penalty for hard coding values such a 3, 10, 5, or similar values that you can query from IPerquacky will be 10% of the project. Our goal is to make this GUI as flexible as possible in supporting any class derived from IPerquacky. Study the Javadoc for IPerquacky to figure out the query methods for laying out your GUI, and for obtaining the state of a game to display. I will NOT accept late submission for this assignment. I need to post my solution to assignment 4 on the morning of April 20 so students can get started on assignment 5. Any assignment that comes in after I post the solution to assignment 4 at about 8 AM on the 20 th will be worth 0%. A. Lay out JFrame-derived class PerquackyFrame by completing STUDENT code in PerquackyFrame.java. You can do this step on your own laptop or PC, or you can do it on acad/bill from on campus. You need to install some software if you are using your own machine. That installation is part of the assignment. We will not spend class time on actually doing this, but if you have problems, we can resolve them during office hours. A0: Run gmake clean test on acad/bill before copying any files to your remote PC / laptop to make sure that everything is intact. Do that again at the end, after you copy files back onto acad / bill for turning in. You can develop and test this entire assignment on acad/bill by using Xming and enabling putty X11 to localhost:0 if you want to. You are NOT required to use a PC or laptop. You can run gmake test to test previous assignments and gmake testgui to test your GUI if running on acad/bill with Xming. A1: If your machine runs Windows or Linux 1, go to and download and install the JDK for your operating system. The java compiler should already be installed on Mac / OSX machines. A2: After completing installation, bring up a terminal. On Windows this is the Command Prompt window under the Accessories program entry. Try typing the following commands to see whether you can access the javac compiler and java JVM from the command prompt. All of our building and testing takes place from a command window. You can ignore my cd commands below for the moment. All Programs -> Accessories -> Command Prompt 1 If you decide to test on bill, get an XMing terminal server from (PC only), run it, and enabled X11 tunneling on putty to localhost:0. On Mac use ssh to log in as you usually do, with X in the ssh command line. We will discuss this approach in class. 1

2 C:\>z: Z:\JavaLang\perquack4>cd \JavaLang\perquack4 Z:\JavaLang\perquack4>javac -version javac Z:\JavaLang\perquack4>java -version java version "1.7.0" Java(TM) SE Runtime Environment (build b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) If that does not work, you will need to update your System Path variable on Windows. Follow the links from Control Panel -> System -> Advanced System Settings -> Environment Variables -> System variables -> Path and add the path to the FOLDER (directory) that houses the javac.exe file at the end of the System Path, preceded by a semicolon like this: ;PATHTOFOLDERCONTAININGJAVAC. A3. After you have performed all of STEPS A & B including testing on bill/acad, you need to download the entire directory onto your machine. Run gmake clean before you do that to remove compiled files and test output files. Then use either WinSCP available at or the FileZilla client from to manage file downloads from bill to your machine and later upload. BE CAREFUL NOT TO OVER-WRITE YOUR MOST RECENT WORK BY COPYING IN THE WRONG DIRECTION! After you have the entire perquack4 directory on your machine, you can cd into that directory, compile files and run tests as follows. These examples use my directory location for perquack4. C:\>z: Z:\JavaLang\perquack4> cd \JavaLang\perquack4 Z:\JavaLang\perquack4> buildwindows.bat Z:\JavaLang\perquack4> runwindows.bat On Mac, Linux and Solaris (bill) you can run bash x./buildunix.sh and bash x./rununix.sh instead. 2

3 Running buildwindows.bat gives the following output on success. If you have compilation errors, you will see those. Typing runwindows.bat runs PerquackyFrame.main, displaying the window appearing at the end of this document. C4: Your actual code changes go into the STUDENT section of PerquackyFrame.java. C5: When your display is roughly the same as mine at the end of this document (you may dress it up if you like), copy all files back onto bill (including the generated data_do_not_lose_this_file.txt) and run gmake clean test to ensure that you have not broken any of the non-gui parts. Then run gmake javadoc and make sure that the little bit of javadoc that you have added appears OK without warnings. Finally, run gmake turnitin on bill/acad by the deadline as before. Have fun, and May the Force be with You. OPTIONAL 2% BONUS CREDITS I am collecting data for a summer assessment that determines the associations between a) project start date, b) length of work sessions, c) time of day of work sessions, and d) conflicting schedule pressures, and student success on projects as measured by grades and grade improvements. You can earn half of these bonus points (1% additional for the project) by permitting me to collect file sizes, time stamps, time of change, and duration of work session. My automatic script uses a simple ls l command to list directory contents, and it keeps backup copies of your source files to determine amount of code changed per session. The log data goes to my account to keep your account from running out of file space. You need to include data_do_not_lose_this_file.txt in your directory on bill if you build and test remotely. If you do not want to participate, run gmake optout to shut off data collection, and also notify me my using the subject line opt out. I will not collect your data, and if you have already turned some in, I will remove the files. You can earn an additional 1% bonus point by completing a survey in file survey.txt in the project directory. Please fully replace each ****** field with a number. To get this 1% you must also allow data collection for the previous 1%. This survey is not useful without the auto-collected log data. Thus, the total possible points for a project is 102%. The collected data in no way affects your grade, other than by contribution of bonus points. My assessment outlined in the first paragraph of this section could show an association between number of CSC courses that assign you big projects on the same week and the rate of problems encountered completing an assignment. I am looking for ways to improve success rates on projects in future semesters, and I need to collect data in survey.txt and by automatic data collection before I can analyze these data. This is not secret data mining, and I have no time or intention of analyzing the data until this summer. Again, if you wish to opt out of this optional part of assignments, there is no penalty. There are Mac/OSX screen shots of my initial game layout and of a game on progress on the next page. You need to query the IPerquacky object passed as a constructor parameter to PerquackyFrame to get the state to display. I wrote helper method PerquackyFrame.updateDisplay to prompt the game object and set the contents of the various widgets using settext(). Note my color scheme (the color PDF file of this assignment is on the course page) and the enlarged font. You can lay the GUI out according to your own tastes, but everything must be clearly there in approximately the following layout. We will discuss all of this in class. 3

4 The following call pops up an error message. Please read the Javadoc for class JOptionPane. This is how you must report errors and warnings; px is an Exception (e.g., PerquackyException) object in this example. JOptionPane.showMessageDialog(null, "Game exception: " + px.getmessage(), "Error", JOptionPane.ERROR_MESSAGE); 4

5 ASSIGNMENT 5: Make it work! Assignment 5 is due by the end of May 3 via gmake turnitin. You can continue to use my PerquackyFrame.java solution to assignment 4 as a starting point for assignment 5 if you want, although I encourage you to use your own assignment 4 result and just keep working on it. You need to make the game playable, the GUI intuitive, and you need to use a Timer to limit each player s turn to 3 minutes. Use./runparsonunix.sh or runparsonwindows.bat to play my game. Matching my game is the minimum required result. I will grant up to 25% bonus points for interesting features added to PerquackyFrame.java, at my discretion, depending on the quality of the enhancement. Also you can create a new game subclass with novel rules that work with the GUI. IF YOU GO FOR ANY BONUS POINTS, ADD FILE README.txt in your directory and describe the bonus features. Their use should be intuitive. PerquackyFrame.java as handed out: 1 // perquack4/perquackyframe 2 // CSC 243 Java Programming Spring // JFrame-derived class for CSC 243 assignment 4, spring package perquack4 ; 6 import java.awt.* ; 7 import java.awt.event.* ; 8 import javax.swing.* ; 9 import java.util.list ; 10 import java.util.linkedlist ; /** 13 This JFrame-derived class provides a GUI so players can play a 14 game derived from interface IPerquacky. IPerquacky 16 **/ 17 public class PerquackyFrame extends JFrame { 18 private final static int secondsperplayer = 180 ; 19 private int secondsremaining = secondsperplayer; 20 private IPerquacky thegame ; 21 private final int wordlenmin ; 22 private final int wordlenmax ; 23 private final int wordlimitperlength ; 24 private JTextField txtword ; 25 private JLabel lbldice ; 26 private JButton btnnext = new JButton("Next player"); 27 private JLabel lbltimer = new JLabel("" + secondsperplayer, 28 JLabel.CENTER); 29 private Font myfont ; 30 private JLabel [] name ; 31 private JLabel [] score ; 32 private JLabel [][] words ; // [num-of-one-len][num-of-different-lens] 33 private Timer timer ; 34 /** 35 * Construct a top-level JFrame for playing game. 36 game is the newly constructed game in which to begin play. 37 **/ 38 public PerquackyFrame(IPerquacky game) { 39 // STUDENT WORK STARTS HERE: 40 // REPLACE THE FOLLOWING FIELD ASSIGNMENTS. 41 // I am doing this to get past the compiler errors. 42 // Do not hard code values if you can ask the game for the value! 5

6 43 thegame = null ; // REPLACE THIS LINE! 44 wordlenmin = 0 ; // REPLACE THIS LINE! 45 wordlenmax = 0 ; // REPLACE THIS LINE! 46 wordlimitperlength = 0 ; // REPLACE THIS LINE! // STUDENT WORK ENDS HERE for the constructor. 50 // You can also add private helper methods and nested 51 // helper classes outside this constructor as needed. 52 // You can add new (non-static) fields into the object 53 // if you feel you need them. 54 setsize(800, 600); 55 settitle(game.getgamename()); 56 setlocationrelativeto(null); 57 setdefaultcloseoperation(jframe.exit_on_close); 58 setvisible(true); 59 } 60 /** 61 * Validate command line arguments, then construct and play 62 * a game of IPerquacky to completion. Command line usage is 63 * java perquack4.perquackyframe IPerquackyCLASS dictionaryfilename seed players * where there must be 2 or more players. 65 **/ 66 public static void main(string [] args) { 67 // DO NOT CHANGE THE MAIN METHOD! 68 String usage = 69 "java perquack4.perquackyframe IPerquackyCLASS dictionaryfilename seed players..."; 70 if (args.length < 5) { 71 System.err.println(usage); 72 System.exit(1); 73 } 74 List<String> players = new LinkedList<String>(); 75 for (int i = 3 ; i < args.length ; i++) { 76 players.add(args[i]); 77 } 78 try { 79 // Load class args[0] from the file 80 // system and run its 3-param cons. 81 Class <? extends 82 IPerquacky> puzzleclass 83 = Class.forName(args[0]). 84 assubclass(iperquacky.class); 85 Class<?> [] consparams = new Class<?> [3]; 86 consparams[0] = String.class ; // constructor's param type 87 consparams[1] = Long.class ; // constructor's param type 88 consparams[2] = List.class ; // constructor's param type 89 // NOTE: consargs[2] must be a List<String> 90 Object [] consargs = new Object [3]; 91 consargs[0] = args[1]; 92 consargs[1] = new Long(args[2]) ; 93 consargs[2] = players; 94 java.lang.reflect.constructor<? 95 extends IPerquacky> newcons = 96 puzzleclass.getconstructor(consparams); 97 IPerquacky game = (IPerquacky) 98 newcons.newinstance(consargs); 6

7 99 PerquackyFrame frame = new PerquackyFrame(game); 100 } catch (java.lang.classnotfoundexception cnx) { 101 System.err.println("Class not found: " + args[0] ": " + cnx.getmessage()); 103 // cnx.printstacktrace(); // DEBUG comment me out 104 System.exit(3); 105 } catch (java.lang.classcastexception ccx) { 106 System.err.println("Class does not inherit from IPerquacky: " args[0] ": " + ccx.getmessage()); 109 System.exit(3); 110 } catch (java.lang.nosuchmethodexception nnx) { 111 System.err.println("Class constructor not found: " + args[0] ": " + nnx.getmessage()); 113 System.exit(3); 114 } catch (java.lang.instantiationexception inx) { 115 System.err.println("Class constructor error: " + args[0] ": " + inx.getmessage()); 117 System.exit(3); 118 } catch (java.lang.illegalaccessexception anx) { 119 System.err.println("Class constructor access error: " + args[0] ": " + anx.getmessage()); 121 System.exit(3); 122 } catch (java.lang.reflect.invocationtargetexception vnx) { 123 System.err.println("Class constructor call error: " + args[0] ": " + vnx.getmessage()); 125 System.exit(3); 126 } 127 } 128 } 7

Assignment 2, perquack2 class hierarchy in Java, due 11:59 PM, Sunday March 16, 2014 Login into your account on acad/bill and do the following steps:

Assignment 2, perquack2 class hierarchy in Java, due 11:59 PM, Sunday March 16, 2014 Login into your account on acad/bill and do the following steps: CSC 243 Java Programming, Spring 2014, Dr. Dale E. Parson Assignment 2, perquack2 class hierarchy in Java, due 11:59 PM, Sunday March 16, 2014 Login into your account on acad/bill and do the following

More information

Here are the steps to get the files for this project after logging in on acad/bill.

Here are the steps to get the files for this project after logging in on acad/bill. CSC 243, Java Programming, Spring 2013, Dr. Dale Parson Assignment 5, handling events in a working GUI ASSIGNMENT due by 11:59 PM on Thursday May 9 via gmake turnitin Here are the steps to get the files

More information

Here are the steps to get the files for this project after logging in on acad/bill.

Here are the steps to get the files for this project after logging in on acad/bill. CSC 243, Java Programming, Spring 2013, Dr. Dale Parson Assignment 3, cloning & serializing game state for save & restore commands ASSIGNMENT due by 11:59 PM on Thursday April 11 via gmake turnitin Here

More information

CSC 310 Programming Languages, Spring 2014, Dr. Dale E. Parson

CSC 310 Programming Languages, Spring 2014, Dr. Dale E. Parson CSC 310 Programming Languages, Spring 2014, Dr. Dale E. Parson Assignment 3, Perquacky in Python, due 11:59 PM, Saturday April 12, 2014 I will turn the solution back on Monday April 14, after which I 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

Graphics User Defined Forms, Part I

Graphics User Defined Forms, Part I Graphics User Defined Forms, Part I Quick Start Compile step once always mkdir labs javac PropertyTax5.java cd labs mkdir 5 Execute step cd 5 java PropertyTax5 cp /samples/csc/156/labs/5/*. cp PropertyTax1.java

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Schedule Computing Environment AFS (Andrew File System) Linux/Unix Commands Helpful Tricks Computers First Java

More information

Introduction to Java. Nihar Ranjan Roy. https://sites.google.com/site/niharranjanroy/

Introduction to Java. Nihar Ranjan Roy. https://sites.google.com/site/niharranjanroy/ Introduction to Java https://sites.google.com/site/niharranjanroy/ 1 The Java Programming Language According to sun Microsystems java is a 1. Simple 2. Object Oriented 3. Distributed 4. Multithreaded 5.

More information

Shell Interface Assignment

Shell Interface Assignment Page 1 of 9 Shell Interface Assignment Creating a Shell Interface Using Java This assignment consists of modifying a Java program so that it serves as a shell interface that accepts user commands and then

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

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/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG 1 Notice Class Website http://www.cs.umb.edu/~jane/cs114/ Reading Assignment Chapter 1: Introduction to Java Programming

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

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

CPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation

CPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation CPSC 150 Laboratory Manual A Practical Approach to Java, jedit & WebCAT Department of Physics, Computer Science & Engineering Christopher Newport University Lab 1 Introduction to Program Creation Welcome

More information

ASSIGNMENT 5 Objects, Files, and More Garage Management

ASSIGNMENT 5 Objects, Files, and More Garage Management ASSIGNMENT 5 Objects, Files, and More Garage Management COMP-202B, Winter 2010, All Sections Due: Wednesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified,

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

Swing from A to Z Some Simple Components. Preface

Swing from A to Z Some Simple Components. Preface By Richard G. Baldwin baldwin.richard@iname.com Java Programming, Lecture Notes # 1005 July 31, 2000 Swing from A to Z Some Simple Components Preface Introduction Sample Program Interesting Code Fragments

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

CS 241 Data Organization using C

CS 241 Data Organization using C CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 80 points Due Date: Friday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Monday, February 5, 11:59 pm General information This assignment is to be done

More information

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2017 Lab 01 Hello World CMSC 201 Spring 2017 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 5th by 8:59:59 PM Value: 10 points At UMBC, our General Lab (GL) system is designed to grant students the

More information

High-Level Design Specification for the Callimuse System

High-Level Design Specification for the Callimuse System High-Level Design Specification for the Callimuse System CSC354 Introduction to Software Engineering, Dr. Dale Parson, Fall 2013. This assignment is due by end of October 24, 2013 1. Introduction by the

More information

CMSC 201 Spring 2018 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World CMSC 201 Spring 2018 Lab 01 Hello World Assignment: Lab 01 Hello World Due Date: Sunday, February 4th by 8:59:59 PM Value: 10 points At UMBC, the GL system is designed to grant students the privileges

More information

JRadioButton account_type_radio_button2 = new JRadioButton("Current"); ButtonGroup account_type_button_group = new ButtonGroup();

JRadioButton account_type_radio_button2 = new JRadioButton(Current); ButtonGroup account_type_button_group = new ButtonGroup(); Q)Write a program to design an interface containing fields User ID, Password and Account type, and buttons login, cancel, edit by mixing border layout and flow layout. Add events handling to the button

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

Lab Exercise #1 Project Compilation, Javadoc Generation, and Submission Computer Science 2334

Lab Exercise #1 Project Compilation, Javadoc Generation, and Submission Computer Science 2334 Lab Exercise #1 Project Compilation, Javadoc Generation, and Submission Computer Science 2334 Name: Learning Objectives (Milestones): 1. Install Java Development Kit and SSH Secure Shell Software 2. Successfully

More information

Perform the following steps to copy and inspect my initial code handout.

Perform the following steps to copy and inspect my initial code handout. Java classes, interfaces and exceptions Assignment 2 for CSC 243, Spring, 2010, Dr. Dale E. Parson http://faculty.kutztown.edu/parson/spring2010/csc243spring2010.html Assignment 2 is due 11:59 PM on Thursday

More information

AP Computer Science Summer Work Mrs. Kaelin

AP Computer Science Summer Work Mrs. Kaelin AP Computer Science Summer Work 2018-2019 Mrs. Kaelin jkaelin@pasco.k12.fl.us Welcome future 2018 2019 AP Computer Science Students! I am so excited that you have decided to embark on this journey with

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors

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: Standard 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

BCIS 3630 Dr. GUYNES SPRING 2018 TUESDAY SECTION [JAN version] GRADER COURSE WEBSITE

BCIS 3630 Dr. GUYNES SPRING 2018 TUESDAY SECTION [JAN version] GRADER   COURSE WEBSITE COURSE WEBSITE http://www.steveguynes.com/bcis3630/bcis3630/default.html Instructor: Dr. Guynes Office: BLB 312H Phone: (940) 565-3110 Office Hours: By Email Email: steve.guynes@unt.edu TEXTBOOK: Starting

More information

CSE115 Lab 9 Fall 2016

CSE115 Lab 9 Fall 2016 DUE DATES: Monday recitations: 8:00 PM on 11/13 Wednesday recitations: 8:00 PM on 11/15 Thursday recitations: 8:00 PM on 11/16 Friday recitations: 8:00 PM on 11/17 Saturday recitations: 8:00 PM on 11/18

More information

Perform the following steps to set up for this project. Start out in your login directory on csit (a.k.a. acad).

Perform the following steps to set up for this project. Start out in your login directory on csit (a.k.a. acad). CSC 458 Data Mining and Predictive Analytics I, Fall 2017 (November 22, 2017) Dr. Dale E. Parson, Assignment 4, Comparing Weka Bayesian, clustering, ZeroR, OneR, and J48 models to predict nominal dissolved

More information

COMP 1210 Documentation Guidelines Page 1 of 7. Class documentation (Chapter 1):

COMP 1210 Documentation Guidelines Page 1 of 7. Class documentation (Chapter 1): COMP 1210 Documentation Guidelines Page 1 of 7 Class documentation (Chapter 1): Every class in your program should have a Javadoc tag that specifies the programs purpose, the project number, the author,

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

AP CS Unit 11: Graphics and Events

AP CS Unit 11: Graphics and Events AP CS Unit 11: Graphics and Events This packet shows how to create programs with a graphical interface in a way that is consistent with the approach used in the Elevens program. Copy the following two

More information

CSC 220 Object Oriented Multimedia Programming, Fall 2018

CSC 220 Object Oriented Multimedia Programming, Fall 2018 CSC 220 Object Oriented Multimedia Programming, Fall 2018 Dr. Dale E. Parson, Assignment 3, text menu on a remote-control Android, mostly array handling. This assignment is due via D2L Assignment Assignment

More information

Timing ListOperations

Timing ListOperations Timing ListOperations Michael Brockway November 13, 2017 These slides are to give you a quick start with timing operations in Java and with making sensible use of the command-line. Java on a command-line

More information

CS Fall Homework 5 p. 1. CS Homework 5

CS Fall Homework 5 p. 1. CS Homework 5 CS 235 - Fall 2015 - Homework 5 p. 1 Deadline: CS 235 - Homework 5 Due by 11:59 pm on Wednesday, September 30, 2015. How to submit: Submit your files using ~st10/235submit on nrs-projects, with a homework

More information

RAIK 183H Examination 2 Solution. November 11, 2013

RAIK 183H Examination 2 Solution. November 11, 2013 RAIK 183H Examination 2 Solution November 11, 2013 Name: NUID: This examination consists of 5 questions and you have 110 minutes to complete the test. Show all steps (including any computations/explanations)

More information

CS260 Intro to Java & Android 02.Java Technology

CS260 Intro to Java & Android 02.Java Technology CS260 Intro to Java & Android 02.Java Technology CS260 - Intro to Java & Android 1 Getting Started: http://docs.oracle.com/javase/tutorial/getstarted/index.html Java Technology is: (a) a programming language

More information

Part 3: Graphical User Interface (GUI) & Java Applets

Part 3: Graphical User Interface (GUI) & Java Applets 1,QWURGXFWLRQWR-DYD3URJUDPPLQJ (( Part 3: Graphical User Interface (GUI) & Java Applets EE905-GUI 7RSLFV Creating a Window Panels Event Handling Swing GUI Components ƒ Layout Management ƒ Text Field ƒ

More information

ASSIGNMENT 5 Objects, Files, and a Music Player

ASSIGNMENT 5 Objects, Files, and a Music Player ASSIGNMENT 5 Objects, Files, and a Music Player COMP-202A, Fall 2009, All Sections Due: Thursday, December 3, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified, you

More information

Phase 2: Due 05/02/18 The Gui now stores and displays a graph in response to user mouse clicks on the screen.

Phase 2: Due 05/02/18 The Gui now stores and displays a graph in response to user mouse clicks on the screen. Spring 2018 CS313 Project Implementation of a GUI to work with Graphs. Reminder: This is a pass/fail assignment, you must pass it to pass the course. You do not have to do a perfect job to pass the assignment,

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

CS 11 java track: lecture 3

CS 11 java track: lecture 3 CS 11 java track: lecture 3 This week: documentation (javadoc) exception handling more on object-oriented programming (OOP) inheritance and polymorphism abstract classes and interfaces graphical user interfaces

More information

Assignment 1. Application Development

Assignment 1. Application Development Application Development Assignment 1 Content Application Development Day 1 Lecture The lecture provides an introduction to programming, the concept of classes and objects in Java and the Eclipse development

More information

EECE.2160: ECE Application Programming Spring 2019

EECE.2160: ECE Application Programming Spring 2019 Course Meetings Section 201: MWF 8-8:50, Kitson 305 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp19/ Schedule: http://mjgeiger.github.io/eece2160/sp19/schedule.htm

More information

CS108, Stanford Handout #22. Thread 3 GUI

CS108, Stanford Handout #22. Thread 3 GUI CS108, Stanford Handout #22 Winter, 2006-07 Nick Parlante Thread 3 GUI GUIs and Threading Problem: Swing vs. Threads How to integrate the Swing/GUI/drawing system with threads? Problem: The GUI system

More information

For Dr Landau s PHYS8602 course

For Dr Landau s PHYS8602 course For Dr Landau s PHYS8602 course Shan-Ho Tsai (shtsai@uga.edu) Georgia Advanced Computing Resource Center - GACRC January 7, 2019 You will be given a student account on the GACRC s Teaching cluster. Your

More information

CS61BL: Data Structures & Programming Methodology Summer Project 1: Dots!

CS61BL: Data Structures & Programming Methodology Summer Project 1: Dots! CS61BL: Data Structures & Programming Methodology Summer 2014 Project 1: Dots! Note on compiling Board.java You will not be able to compile Board.java until you make your own CantRemoveException class.

More information

H212 Introduction to Software Systems Honors

H212 Introduction to Software Systems Honors Introduction to Software Systems Honors Lecture #19: November 4, 2015 1/14 Third Exam The third, Checkpoint Exam, will be on: Wednesday, November 11, 2:30 to 3:45 pm You will have 3 questions, out of 9,

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

Program Submission Guidelines CIS/CMSC 274

Program Submission Guidelines CIS/CMSC 274 Program Submission Guidelines CIS/CMSC 274 The attached packet illustrates the expected printed submissions for programming assignments (designated as Px.y in the assignment summary). The following materials

More information

Introduction to Computers and Engineering Problem Solving 1.00 / Fall 2004

Introduction to Computers and Engineering Problem Solving 1.00 / Fall 2004 Introduction to Computers and Engineering Problem Solving 1.00 / 1.001 Fall 2004 Problem Set 1 Due: 11AM, Friday September 17, 2004 Loan Calculator / Movie & Game Rental Store (0) [100 points] Introduction

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2017 Assignment 1 80 points Due Date: Thursday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Friday, February 3, 11:59 pm General information This assignment is to be done

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

Welcome to Kmax Installing Kmax

Welcome to Kmax Installing Kmax Welcome to Kmax 10.2 Kmax is a cross-platform, Java-based application that will run on Windows, Linux, or Mac OS X. This distribution of Kmax replaces all previous releases except for Kmax on Mac OS X

More information

The JFrame Class Frame Windows GRAPHICAL USER INTERFACES. Five steps to displaying a frame: 1) Construct an object of the JFrame class

The JFrame Class Frame Windows GRAPHICAL USER INTERFACES. Five steps to displaying a frame: 1) Construct an object of the JFrame class CHAPTER GRAPHICAL USER INTERFACES 10 Slides by Donald W. Smith TechNeTrain.com Final Draft 10/30/11 10.1 Frame Windows Java provides classes to create graphical applications that can run on any major graphical

More information

RAIK 183H Examination 2 Solution. November 10, 2014

RAIK 183H Examination 2 Solution. November 10, 2014 RAIK 183H Examination 2 Solution November 10, 2014 Name: NUID: This examination consists of 5 questions and you have 110 minutes to complete the test. Show all steps (including any computations/explanations)

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 32 April 9, 2018 Swing I: Drawing and Event Handling Chapter 29 HW8: Spellchecker Available on the web site Due: Tuesday! Announcements Parsing, working

More information

CPSC150L Lab 0 Lab Set Up

CPSC150L Lab 0 Lab Set Up CPSC150L Lab 0 Lab Set Up Fall 2016 Welcome to the laboratory exercises that accompany the lecture course CPSC 150 Computers and Programming I. These lab exercises are designed to support and complement

More information

Graphical User Interfaces 2

Graphical User Interfaces 2 Graphical User Interfaces 2 CSCI 136: Fundamentals CSCI 136: Fundamentals of Computer of Science Computer II Science Keith II Vertanen Keith Vertanen Copyright 2011 Extending JFrame Dialog boxes Overview

More information

Bitnami JRuby for Huawei Enterprise Cloud

Bitnami JRuby for Huawei Enterprise Cloud Bitnami JRuby for Huawei Enterprise Cloud Description JRuby is a 100% Java implementation of the Ruby programming language. It is Ruby for the JVM. JRuby provides a complete set of core built-in classes

More information

MIT AITI Swing Event Model Lecture 17

MIT AITI Swing Event Model Lecture 17 MIT AITI 2004 Swing Event Model Lecture 17 The Java Event Model In the last lecture, we learned how to construct a GUI to present information to the user. But how do GUIs interact with users? How do applications

More information

Systems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid

Systems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid Systems Programming Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid Leganés, 21st of March, 2014. Duration: 75 min. Full

More information

Lab 5 Classy Chat. XMPP Client Implementation --- Part 2 Due Oct. 19 at 11PM

Lab 5 Classy Chat. XMPP Client Implementation --- Part 2 Due Oct. 19 at 11PM Lab 5 Classy Chat XMPP Client Implementation --- Part 2 Due Oct. 19 at 11PM In this week s lab we will finish work on the chat client programs from the last lab. The primary goals are: to use multiple

More information

CS180 Spring 2010 Exam 2 Solutions, 29 March, 2010 Prof. Chris Clifton

CS180 Spring 2010 Exam 2 Solutions, 29 March, 2010 Prof. Chris Clifton CS180 Spring 2010 Exam 2 Solutions, 29 March, 2010 Prof. Chris Clifton Turn Off Your Cell Phone. Use of any electronic device during the test is prohibited. Time will be tight. If you spend more than the

More information

Lab Exercise 6: Abstract Classes and Interfaces CS 2334

Lab Exercise 6: Abstract Classes and Interfaces CS 2334 Lab Exercise 6: Abstract Classes and Interfaces CS 2334 September 29, 2016 Introduction In this lab, you will experiment with using inheritance in Java through the use of abstract classes and interfaces.

More information

CSC 543 Multiprocessing & Concurrent Programming, Fall 2016

CSC 543 Multiprocessing & Concurrent Programming, Fall 2016 CSC 543 Multiprocessing & Concurrent Programming, Fall 2016 Dr. Dale E. Parson, Midterm Exam Project, Assorted Thread Synchronization Problems This assignment is due by 11:59 PM on Wednesday November 2

More information

KF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation

KF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation KF5008 Program Design & Development Lecture 1 Usability GUI Design and Implementation Types of Requirements Functional Requirements What the system does or is expected to do Non-functional Requirements

More information

Software Installation - Accessing Linux and Checking your Environmental Variables

Software Installation - Accessing Linux and Checking your Environmental Variables Accessing Linux and Checking your Environmental Although you may be fortunate enough to have a powerful multi-processor desktop running Linux, most of our sponsors do not. Most of our sponsors will have

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Fall 2018 Miniassignment 1 40 points Due Date: Friday, October 12, 11:59 pm (midnight) Late deadline (25% penalty): Monday, October 15, 11:59 pm General information This assignment is to be done

More information

Graphical User Interface

Graphical User Interface Lecture 10 Graphical User Interface An introduction Sahand Sadjadee sahand.sadjadee@liu.se Programming Fundamentals 725G61 http://www.ida.liu.se/~725g61/ Department of Computer and Information Science

More information

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple movie data system. Milestones: 1. Use

More information

ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists

ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists ASSIGNMENT 5 Data Structures, Files, Exceptions, and To-Do Lists COMP-202B, Winter 2009, All Sections Due: Tuesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise

More information

Our second exam is Monday, April 3. Note that it will not be possible to get all the homework submissions graded before the exam.

Our second exam is Monday, April 3. Note that it will not be possible to get all the homework submissions graded before the exam. Com S 227 Spring 2017 Assignment 3 300 points Due Date:, Wednesday, March 29 11:59 pm (midnight) Late deadline (25% penalty): Thursday, March 30, 11:59 pm General information This assignment is to be done

More information

CS56 final (E03) W15, Phill Conrad, UC Santa Barbara Wednesday, 03/18/2015. Name: Umail umail.ucsb.edu. Circle one: 4pm 5pm 6pm

CS56 final (E03) W15, Phill Conrad, UC Santa Barbara Wednesday, 03/18/2015. Name: Umail umail.ucsb.edu. Circle one: 4pm 5pm 6pm CS56 final (E03) W15, Phill Conrad, UC Santa Barbara Wednesday, 03/18/2015 Name: Umail Address: @ umail.ucsb.edu Circle one: 4pm 5pm 6pm Please write your name only on this page. That allows me to grade

More information

The Command Shell. Fundamentals of Computer Science

The Command Shell. Fundamentals of Computer Science The Command Shell Fundamentals of Computer Science Outline Starting the Command Shell Locally Remote Host Directory Structure Moving around the directories Displaying File Contents Compiling and Running

More information

Swing - JTextField. Adding a text field to the main window (with tooltips and all)

Swing - JTextField. Adding a text field to the main window (with tooltips and all) Swing - JTextField Adding a text field to the main window (with tooltips and all) Prerequisites - before this lecture You should have seen: The lecture on JFrame The lecture on JButton Including having

More information

Topic 9: Swing. Swing is a BIG library Goal: cover basics give you concepts & tools for learning more

Topic 9: Swing. Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Swing = Java's GUI library Topic 9: Swing Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Assignment 5: Will be an open-ended Swing project. "Programming Contest"

More information

Topic 9: Swing. Why are we studying Swing? GUIs Up to now: line-by-line programs: computer displays text user types text. Outline. 1. Useful & fun!

Topic 9: Swing. Why are we studying Swing? GUIs Up to now: line-by-line programs: computer displays text user types text. Outline. 1. Useful & fun! Swing = Java's GUI library Topic 9: Swing Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Why are we studying Swing? 1. Useful & fun! 2. Good application of OOP techniques

More information

CSC 552 UNIX System Programming, Fall 2015

CSC 552 UNIX System Programming, Fall 2015 CSC 552 UNIX System Programming, Fall 2015 Dr. Dale E. Parson, Assignment 4, multi-threading a socket-based server loop & helper functions. This assignment is due via make turnitin from the wordcathreadc4/

More information

CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2

CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2 CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2 1 Introduction For this project you will write a P2P file sharing application named HiP2P running on the N800 Tablet.

More information

Phase 2: Due 11/28/18: Additional code to add, move and remove vertices in response to user mouse clicks on the screen.

Phase 2: Due 11/28/18: Additional code to add, move and remove vertices in response to user mouse clicks on the screen. Fall 2018 CS313 Project Implementation of a GUI to work with Graphs. Reminder: This is a pass/fail assignment. If you fail the assignment you will lose half a grade from your course grade. If you pass

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

Setting up your Computer

Setting up your Computer Setting up your Computer 1 Introduction On this lab, you will be getting your computer ready to develop and run Java programs. This lab will be covering the following topics: Installing Java JDK 1.8 or

More information

Submitting coursework online through BART Handbook Contents

Submitting coursework online through BART Handbook Contents Submitting coursework online through BART Handbook Contents 1. Tips before submitting... 2 2. Formatting requirements checklist... 3 3. Submitting Online... 4 3.1. LOCATING YOUR ASSIGNMENT... 4 3.2. STEP

More information

Graphical User Interfaces (GUIs)

Graphical User Interfaces (GUIs) CMSC 132: Object-Oriented Programming II Graphical User Interfaces (GUIs) Department of Computer Science University of Maryland, College Park Model-View-Controller (MVC) Model for GUI programming (Xerox

More information

Project #1 Computer Science 2334 Fall 2008

Project #1 Computer Science 2334 Fall 2008 Project #1 Computer Science 2334 Fall 2008 User Request: Create a Word Verification System. Milestones: 1. Use program arguments to specify a file name. 10 points 2. Use simple File I/O to read a file.

More information

Introduction to Computation and Problem Solving

Introduction to Computation and Problem Solving Class 1: Introduction Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward Handouts for Today Course syllabus Academic Honesty Guidelines Laptop request form

More information

Multiple Choice Questions: Identify the choice that best completes the statement or answers the question. (15 marks)

Multiple Choice Questions: Identify the choice that best completes the statement or answers the question. (15 marks) M257 MTA Spring2010 Multiple Choice Questions: Identify the choice that best completes the statement or answers the question. (15 marks) 1. If we need various objects that are similar in structure, but

More information

CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2015

CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2015 CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2015 Name: This exam consists of 5 problems on the following 7 pages. You may use your double- sided hand- written 8 ½ x 11 note sheet

More information

Programming Assignment 2 ( 100 Points ) Due: Thursday, October 12 by 11:59pm

Programming Assignment 2 ( 100 Points ) Due: Thursday, October 12 by 11:59pm Programming Assignment 2 ( 100 Points ) Due: Thursday, October 12 by 11:59pm PA2 is a two part / two program assignment. The first part involves creating a graphical user interface (GUI) which responds

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

Sona Systems, Ltd. Experiment Management System Master Documentation Set 20 April 2015

Sona Systems, Ltd. Experiment Management System Master Documentation Set 20 April 2015 Sona Systems, Ltd. Experiment Management System Master Documentation Set 20 April 2015 Copyright 2015 Sona Systems, Ltd., All Rights Reserved PARTICIPANT (STUDENT) DOCUMENTATION... 2 Introduction... 2

More information

CS 316 (Kong): TinyJ Assignment 1

CS 316 (Kong): TinyJ Assignment 1 CS 316 (Kong): TinyJ Assignment 1 To be submitted no later than: Thursday, May 3. [Note: I expect euclid to be up until midnight that evening, but there is no guarantee that it will be: If euclid unexpectedly

More information

Programming Assignment 1

Programming Assignment 1 CS 276 / LING 286 Spring 2017 Programming Assignment 1 Due: Thursday, April 20, 2017 at 11:59pm Overview In this programming assignment, you will be applying knowledge that you have learned from lecture

More information

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment Parallel Programming Pre-Assignment Setting up the Software Environment Author: B. Wilkinson Modification date: January 3, 2016 Software The purpose of this pre-assignment is to set up the software environment

More information