Introduction to the coursework for CI228

Size: px
Start display at page:

Download "Introduction to the coursework for CI228"

Transcription

1 Introduction to the coursework for CI228 It is very unlikely that you would be able to complete this coursework without attending lectures and tutorials and following the suggested completion deadlines. Part 1 To complete several small Java programs, to help refresh your programming skills. You should complete exercises 1.1 & 1.2 by the end of week 1 You should complete exercises 2.1, 2.2 & 2.3 by the end of week 4 at the latest. Part 2 To enhance/ improve parts of the CatShop system This is composed of 5 sections worth in total 80% of the marks for the coursewwork. 3.1 & 3.2 worth 10% each. (20% Total) 3.3,3.4 & 3.5 worth 20% each. (60% Total) Remember the tutorials are an integrated part of this assignment and provide guidance to the construction of the programs. M A Smith University of Brighton September 25, 2014 Page 1

2 Deadlines When Deadline for Mon Tue Wed Thu Fri Sat Sun Part 1 Week 4 by 2/11/ :30 CE Part 2 Week 11 11/01/ :30 CS Demonstration Week 12 Mon Jan 12 - Fri Jan In your tutorial slot (Fill in) CE Charon exercises (Worth 20%) CS Completed CatShop system, plus supporting documentation. (Worth 80%) T Your tutorial slot in week 12. Fill in your tutorial slot day as indicated by your course timetable. Remember the demonstration is an integral part of the assignment. M A Smith University of Brighton September 25, 2014 Page 2

3 Helping your fellow students Please do not share code solutions with your fellow students. This will not help them and in fact may well hinder their learning in this module. By all means help your fellow students, by helping them with compile time and logical errors with in their program. You will probably find that this gives you a greater understanding of programming. Plagiarism/ Collusion etc. Your submission will automatically be submitted to the turnitin plagiarism detection system. M A Smith University of Brighton September 25, 2014 Page 3

4 Part 1 - Introductory exercises Summary of BIO Static method call BIO.getInt() BIO.getDouble() BIO.getString() Description Read a line and return as an int the number that is contained within the line. If the number is malformed then return 0. Read a line and return as a double the number that is contained within the line. If the number is malformed then return 0.0. Read a line and return as an instance of a String the characters that are contained within the line. Leading and trailing white space (tab or space characters) will be removed. If during a read the end of input is detected a warning message will be printed and the program will terminate. M A Smith University of Brighton September 25, 2014 Page 4

5 1.1 Easy, Familiarisation with the Charon system and Eclipse Brief Construct an application in Java to: write the message Hello Brighton to the terminal window. Expected output Submitting to Charon Hello Brighton Remember to submit the whole application which must have the class name Main to the Charon system. Eclipse When trying this with Eclipse you will also need to create the class BIO M A Smith University of Brighton September 25, 2014 Page 5

6 1.2 Easy, Familiarisation with the Charon system and Eclipse Brief Construct an application in Java to: Read in an integer number (will always be between 1-25) and print the times table corresponding to this number. The class BIO is automatically included when you use BlueJ or submit a program to Charon. If you want to use this at home then you need to include the code for the class BIO (see programs on web site) in your program. Input data Commentary Input 8 Time table Expected output 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = * 8 = * 8 = * 8 = 96 Submitting to Charon Hints Remember to submit the whole application which must have the class name Main to the Charon system. Remember any line printed that contains a # will not be considered as part of your answer. This is so that you can write out a meaningful prompt (containing a # character) for any data required and this line of text will be ignored in the comparison of your answer. Use printf to control the layout of the numbers in your answer. M A Smith University of Brighton September 25, 2014 Page 6

7 Rounding errors with doubles and floats. Using an instance of a double or float to represent a monetary amount is not always a good idea because of rounding errors For example, in Java the result of calculating does not equal exactly 3.6. However, if you only print the result to a few decimal places then the answer will look correct. class Main public static void main( String args[] ) double sum = ; double result = sum; System.out.printf( "%30.28f\n", sum ); System.out.printf( "%30.28f\n", 3.6 ); System.out.printf( "%30.28f\n", result ); A double has about 16 decimal digits of accuracy. Do look up floating point numbers. Hence Holding a monetary amount in a double is not always a good idea, as rounding errors will lead to discrepancies in the 'money' held. Accountants would not be pleased. M A Smith University of Brighton September 25, 2014 Page 7

8 In relationship to the class Account class Account private double thebalance = 0.00; //Balance of account private double theoverdraft = 0.00; //Overdraft allowed public double getbalance() return thebalance; public double withdraw( final double money ) assert money >= 0.00; if ( thebalance - money >= theoverdraft ) thebalance = thebalance - money; return money; else return 0.00; public void deposit( final double money ) assert money >= 0.00; thebalance = thebalance + money; public void setoverdraftlimit( final double money ) theoverdraft = money; public double getoverdraftlimit() return theoverdraft; and the interfaces Transfer & Interest interface Interest public boolean incredit(); public void creditcharge(); //Is account in credit //Add credit charge (Daily) interface Transfer public boolean transferfrom( Account from, double amount ); public boolean transferto( Account to, double amount ); M A Smith University of Brighton September 25, 2014 Page 8

9 2.1 Easy / Moderate - but carefully read the description Brief Construct the class AccountBetter1: The class AccountBetter1 inherits from the class Account and implements the interface Transfer. The interface Transfer is defined as: Submitting to Charon Important interface Transfer public boolean transferfrom(account from, double amount); public boolean transferto(account to, double amount); Then: mike.transferfrom( miri, ); would transfer from miri (An instance of an Account) to mike (An instance of the class AccountBetter1). and mike.transferto( miri, ); would transfer from mike (An instance of AccountBetter1) to miri (An instance of Account). The boolean result returned is true if the transfer succeeded otherwise false. You should also return false for invalid transactions, such as attempting to transfer a negative amount of money. Submit only the class AccountBetter1 to the Charon system. The Charon system will provide the implementation of the class Account and the interface specification for Transfer. There should be no print statements in the class AccountBetter1. Do not change the implementation of class Account Using a double to represent money in a real application dealing with money is not a good idea, as small rounding errors can accumulate to give inaccurate results. M A Smith University of Brighton September 25, 2014 Page 9

10 Assuming appropriate declarations had been made the application shown below when run: class Main public static void main( String args[] ) AccountBetter1 mike = new AccountBetter1(); AccountBetter1 cori = new AccountBetter1(); Account miri = new Account(); mike.deposit( ); cori.deposit( ); miri.deposit( ); //Transfer from miri's account to mike's account mike.transferfrom( miri, ); //Transfer from mike's account to cori's account mike.transferto( cori, ); System.out.printf( "Mike = %5.2f\n", mike.getbalance() ); System.out.printf( "Miri = %5.2f\n", miri.getbalance() ); System.out.printf( "Cori = %5.2f\n", cori.getbalance() ); Would print: Mike = Miri = Cori = Extension Question (Easy): Why does mike.transferto( cori, ); compile and run, as cori is an instance of AccountBetter1. M A Smith University of Brighton September 25, 2014 Page 10

11 How the checking works When you submit your class AccountBetter1, an additional class Main is added to test you class, as well as the class Account to form a complete application. This application is then run which prints out the results from performing various transactions with an instance of your class AccountBetter1. The output from running this application is then compared against the output from running the code with a 'correct' version of AccountBetter1. What to do if the check fails If the check fails you will see a lot of output, but by looking at this output you will be able to see where your class delivered an incorrect result. Look first at the differences, then find these in the output from running your class. Work out why the differences have occurred. Example of part of the output from running the test Executing java Main Using the declarations: AccountBeter1 ab = new AccountBetter1(); Account a = new Account(); Then sending messages to these objects - gives: ab.deposit( ) ab.getbalance() -> a.getbalance() -> 0.00 a.deposit( ) ab.getbalance() -> a.getbalance() -> ab.transferto( a, ) -> returns true ab.getbalance() -> a.getbalance() -> ab.transferto( a, ) -> returns true ab.getbalance() -> a.getbalance() -> Which shows the result from messages sent to instances of the class Account & AccountBetter1. M A Smith University of Brighton September 25, 2014 Page 11

12 2.2 Moderate - but carefully read the description Brief Construct the class AccountBetter2: The class AccountBetter2 inherits from the class AccountBetter1 (written for exercise 2.1) and implements the interface Interest. The interface Interest is defined as: interface Interest boolean incredit(); //Is account in credit void creditcharge(); //Add credit charge (Daily) The method incredit returns true if the account is in credit (thebalance >= 0.0 ) and false otherwise. The method creditcharge is responsible for implementing a charge for credit if the account is overdrawn. The method will be called at the end of each day to work out the charge for any overdraft. Overdrawn accounts are currently charged 10% interest on the amount the account is overdrawn. When this method is called any balance overdrawn is multiplied by and this amount is deducted from the account. Thus if this method is called every day it will equate to an annual interest rate of 10% on the negative balance. Special instructions Important Hints Submit only the class AccountBetter2 that you have written to the Charon system. Do not change the implementation of class Account or class AccountBetter1. Think, about the case when deducting interest from the account will not be possible as the overdraft limit check will prevent this. You will need to change the overdraft limit to allow this withdrawal (for the interest charged) to happen, but not any other 'normal' withdrawals after this to take place. M A Smith University of Brighton September 25, 2014 Page 12

13 2.3 Moderate - but read carefully the description Brief Construct the class AccountStudent: The class Account Student inherits from the class AccountBetter2 (Written for exercise 2.2) This class overrides the method creditcharge so that a student account is not charged interest if the overdraft is less than or equal to 5,000. When an account is overdrawn by more then 5,000 then interest is charged on a daily bases on the full overdrawn amount. Thus if the account is overdrawn by 5,000 on a single day no interest is charged. If however, the next day the account is overdrawn by more than 5, then interest for that day would be charged on the whole overdrawn amount. Overdrawn accounts are currently charged 10% interest on the amount the account is overdrawn. This is calculated by multiplying the overdrawn balance by each day. When interest is calculated (using this rate) on all the days of a year it will equate to an annual interest rate of 10%. Special instructions Important Hints Submit only the class Account Student that you have written to the Charon system. Do not change the implementation of class Account class AccountBetter1 or class AccountBetter2 Think about the Java concept of overriding. To benefit fully from this exercise write a comprehensive program to test your class AccountBetter2 M A Smith University of Brighton September 25, 2014 Page 13

14 Part 2 The CatShop Overview [80% of c/w marks] This part of the coursework is the completion/enhancement of a 3 tired system that implements a computer system for the CatShop. Remember, that you need to start this part of the coursework at the times indicated. Like all coursework involving programming if you leave it to the last minute you will probably encounter a problem (that though simple to solve) will delay you sufficiently to prevent you completing most of this coursework on time. M A Smith University of Brighton September 25, 2014 Page 14

15 Exercises 3.3, 3.4 (3.5?) depend on exercise 3.2 working. Apart from this dependency the order of completion is immaterial. # Components to complete/ Implement 3.1 Using inheritance create a new class to provide enhanced functionality to the 10% original class Basket. Start and finish in weeks Complete the methods in the class Order that have been deliberately left 10% unfinished. Start and finish in weeks Produce a unit test for the class Order. The unit test should test the progression 20% of several orders through the system, from creation to collection. Start in week Enhance the Display client by using graphical components. Start in week 6 20% Any other enhancement(s) to the system 3.5 that you wish to make. 20% Start in week 6-8 M A Smith University of Brighton September 25, 2014 Page 15

16 About the CatShop part of the coursework Though a large amount of code is provided, you do not need to understand the details of much of this code base. By using OO techniques, modifications to a program can usually be isolated to a single class or at worst a few classes. For example, exercise 3.1 requires the completion of a single class plus (Not the best solution) a change to 1 line in another class. Exercises 3.2 & 3.3 require completing a single existing class. Exercise 3.4 will require an understanding of the architectural pattern MVC together with modifications to the code in the classes that compose this pattern for the shop display. Exercise 3.5 is an opportunity for you to demonstrate your programming skills by extending/ enhancing the CatShop system. M A Smith University of Brighton September 25, 2014 Page 16

17 3.1 Easy/ Moderate Brief Construct the class BetterBasket The class BetterBasket inherits from the class Basket (Core class of the CatShop) and should provide a better experience for users who interact with the system by: 1. Merging repeated product items into a single request for multiple product items. 2. Sorting the ordered items into ascending order (on the product key) The code given to you includes a skeleton implementation of the class BetterBasket. You will need to modify this class. In addition you will need to create a new instance of BetterBasket rather than Basket. The easiest way of doing this is to change the method makebasket in the class CashierModel to return a new instance of a BetterBasket. However a better way of doing this is to use the Factory method pattern in Main to create a new (inherited) version of CashierModel which overrides makebasket with a new method that returns an instance of a BetterBasket. This will mean that the major class CashierModel has not had to be changed. In fact you could have another cashier client running that exhibits the old behaviour. Remember, you must not change the code that accesses an instance of Basket in the rest of the CatShop system. Using the factory method pattern will gain higher marks. M A Smith University of Brighton September 25, 2014 Page 17

18 Hints One approach is to override the method add with the new functionality to merge and sort the contents of the basket after each new product is added. Do remember that an object retains its type, even after assignment. Do remember that you can assign an instance of a subclass to an instance of its super class. Do remember that there is one place in the CatsShop were an instance of a BetterBasket will need to be created. Do remember that Basket is inherited from an ArrayList<Product>. So that in any inherited class you can use the methods in the class ArrayList. Do remember that there is the method Collections.sort. M A Smith University of Brighton September 25, 2014 Page 18

19 3.2 Easy/ Moderate Brief Complete the class Order The class Order maintains the state of the orders in the system. Waiting Orders that can not be processed (picked) yet as all the pickers are busy collecting products from the warehouse shelves for other orders. Each picker process each order individually. Being Picked Orders that are currently being picked from the warehouse shelves. In the current system there are two 'pickers' but this may change. ToBeCollected Orders that are currently waiting at the collection desk for a customer to collect. Once collected the order is 'discarded' from the system. Once you have completed this class order the whole system will function to allow orders to be progressed through the system. Hints It may help to role play what happens in an instance of the class Order as individual clients interact with it. M A Smith University of Brighton September 25, 2014 Page 19

20 3.3 Moderate / Difficult Brief Construct a unit test for the class Order that you have completed. The aim to provide a test that checks the progression of orders through the system. You should think about providing some useful methods to help you do this. In particular think about (not exhaustive): 1. How extensible are your tests. 2. Is the code easy to follow, concise, easy to modify. Could you factor out some parts into seperate methods that complete part of a test. 3. Does it check for error conditions such as orders becoming lost, not being progressed correctly etc. Hints Do think about what could go wrong in the code of the class Order. Do check what happens when there are several orders in the system. Do check that the returned values from the methods are correct. Do simplify the code by factoring 'common code' sequences into a single method call. Sometimes writing a Unit test can be more difficult than writing the class that it is testing. M A Smith University of Brighton September 25, 2014 Page 20

21 3.4 Moderate / Difficult Brief Use graphics to better display to customers the current state of the orders in the computer system. You should still use the MVC architectural pattern, but enhance the display to better show to customers the state of the system. Think about (not exhaustive): 1. What information, should be shown. Could it be shown graphically. 2. Would it be better to display orders in sorted order. This can happen if items are picked by several pickers. 3. What happens if the orders can not all be displayed at once on the screen. Incorporate your enhanced display into the CatShop system. Hints Do look at how the MVC architectural pattern works. Do think about what the display will look like. Do think about using animation to enhance the visual experience of the customers. M A Smith University of Brighton September 25, 2014 Page 21

22 3.5 Easy / Moderate / Difficult Brief Implement any other enhancement(s) to the system that you wish to make. This is to allow you to correct/ enhance / make more realistic the system. Some suggestions (not exhaustive): 1. Easy Record the orders that have been collected for later analysis to a file. 2. Easy / moderate / difficult Allow for the case when a picker finds that a product is not in the warehouse. 3. Moderate / difficult Add a remove button to remove the last order added to the shopping basket. Assume that in the future more than one item of a particular product may have been added to the shopping basket in separate actions. Thus you need to remember the transactions carried out on the shopping basket so that they can be undone individually. 4. Difficult Create a new display client that is on a remote device such as an android table/ phone. You will need to run the distributed version of the CatShop system for this extension. This is deliberately vague to allow you to use your imagination and programming skills to add to the functionality of the CatShop. High marks will be awarded for a significant extension(s) to the CatShop system. Just changing the colour of the display is not significant. M A Smith University of Brighton September 25, 2014 Page 22

23 What to submit (Complete project) A single zip file ci228_your_name.zip containing the following directory structure: In the top level directory: doc A single pdf file that contains the written part of your course work. (See below) In the top level directory: src The source files of your implementation of the game. In the same form as the original directory structure in the file jd3.zip or jd3.tgz. The toplevel file 00Readme.txt that explains how to compile and run your program In the top level directory: class The class files to run your program. You need to test this so that it can be run by simply typing at a cmd windows whose current directory is at the package level of the CatShop class files. java clients/setup java clients/main Alternatively provide a jar file for the applications with appropirate instructions to run java -jar Setup.jar java -jar Main.jar What to submit (Written part only) The pdf file to the turnitin system (More details later) M A Smith University of Brighton September 25, 2014 Page 23

24 Written part of your coursework index The class BetterBasket Listing (Your code highlighted) Critique of your code Testing/ Example of output For the class Order Listing (Your code highlighted) Critique of your code Testing/ Example of output Testing of the class Order using a JUnit test Listing (Your code highlighted) Critique of your unit test Testing/ Example of output Code for the Client Display Listing (Your code highlighted) Critique of your code Testing/ Example of output Your extension(s) / modification(s) Listing (Your code highlighted) Critique of your work Testing/ Example of output M A Smith University of Brighton September 25, 2014 Page 24

25 What is a listing of your code A neatly indented code listing, with appropriate comments neatly laid out so that another programmer could easily follow your code. The code listing should be in a non proportional font for example Courier. (Minimum size 9 point) You should also show any lines of code that you have changed in the rest of the application. For example, in completing the class BetterBasket you at some point would need to create an instance of BetterBasket that is used by the cashier client. Do remember, that a badly laid out program will have a negative impact on the marks awarded. For example, in Question 3.2 only show the methods that you have completed in the class Order, you do not need to show any method in this class Order that you have not changed. What is a critique of your code A description with critical comment on the implementation route taken. You should include reflection on any advantages / limitations to your code as well as the general approach that you have taken. What is testing/ Examples of output Test data you used, with expected results. Evidence of this for example (screen shots) of your program giving the expected results. Any Unit testing that you have done. M A Smith University of Brighton September 25, 2014 Page 25

CI228 CI228 Tutorials

CI228 CI228 Tutorials CI228 M A Smith University of Brighton September 13, 2016 Page 1 BIO - Basic Input Output Input of an integer number The static method BIO.getInt() will read from the keyboard an integer number typed by

More information

In the following description the h: drive is used to indicate the directory in which during the actual ci101 exam the files used will reside.

In the following description the h: drive is used to indicate the directory in which during the actual ci101 exam the files used will reside. Important In the following description the h: drive is used to indicate the directory in which during the actual ci101 exam the files used will reside. However, if you are trying the exam system out yourself

More information

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 2 EXAMINATIONS 2014/2015 CI101/CI101H. Programming

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 2 EXAMINATIONS 2014/2015 CI101/CI101H. Programming s SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 2 EXAMINATIONS 2014/2015 CI101/CI101H Programming Time allowed: THREE hours Answer: ALL questions Items permitted: Items supplied: There is no

More information

CSSE2002/7023 The University of Queensland

CSSE2002/7023 The University of Queensland CSSE2002 / CSSE7023 Semester 1, 2016 Assignment 1 Goal: The goal of this assignment is to gain practical experience with data abstraction, unit testing and using the Java class libraries (the Java 8 SE

More information

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177. Programming

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177. Programming s SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177 Programming Time allowed: THREE hours: Answer: ALL questions Items permitted: Items supplied: There is

More information

M A Smith University of Brighton January 12, 2015 Page 1

M A Smith University of Brighton January 12, 2015 Page 1 Semester 1 CI228 Object oriented software development M A Smith University of Brighton January 12, 2015 Page 1 This is a copy of some of the slides used in the 'Software implementation in Java' part of

More information

M A Smith University of Brighton October 25, 2016 Page 1

M A Smith University of Brighton October 25, 2016 Page 1 Semester 1 CI228 Object oriented software development M A Smith University of Brighton October 25, 2016 Page 1 This is a copy of some of the slides used in the 'Software implementation in Java' part of

More information

M A Smith University of Brighton November 23, 2015 Page 1

M A Smith University of Brighton November 23, 2015 Page 1 Semester 1 CI228 Object oriented software development M A Smith University of Brighton November 23, 2015 Page 1 This is a copy of some of the slides used in the 'Software implementation in Java' part of

More information

This is a copy of some of the slides used in the 'Software implementation in Java' part of the module CI228.

This is a copy of some of the slides used in the 'Software implementation in Java' part of the module CI228. This is a copy of some of the slides used in the 'Software implementation in Java' part of the module CI228. It is presented to you in the hope that it will be useful and reduce some of the burden of taking

More information

This is a copy of some of the slides used in the 'Software implementation in Java' part of the module CI228.

This is a copy of some of the slides used in the 'Software implementation in Java' part of the module CI228. This is a copy of some of the slides used in the 'Software implementation in Java' part of the module CI228. It is presented to you in the hope that it will be useful and reduce some of the burden of taking

More information

Do this by creating on the m: drive (Accessed via start menu link Computer [The m: drive has your login id as name]) the subdirectory CI101.

Do this by creating on the m: drive (Accessed via start menu link Computer [The m: drive has your login id as name]) the subdirectory CI101. Creating and running a Java program. This tutorial is an introduction to running a computer program written in the computer programming language Java using the BlueJ IDE (Integrated Development Environment).

More information

CSCI 1301: Introduction to Computing and Programming Spring 2018 Project 3: Hangman 2.0 (A Word Guessing Game)

CSCI 1301: Introduction to Computing and Programming Spring 2018 Project 3: Hangman 2.0 (A Word Guessing Game) Introduction In this project, you are going to implement the word guessing game, Hangman 2.0. Your program is going to get a random word from an enumerated list (instructions below) and then let the user

More information

Storing Data in Objects

Storing Data in Objects Storing Data in Objects Rob Miles Department of Computer Science 28d 08120 Programming 2 Objects and Items I have said for some time that you use objects to represent things in your problem Objects equate

More information

Please do not share code solutions with your fellow students. This will not help them and in fact may well hinder their learning in this module.

Please do not share code solutions with your fellow students. This will not help them and in fact may well hinder their learning in this module. Extension coursework for Helping your fellow students Please do not share code solutions with your fellow students. This will not help them and in fact may well hinder their learning in this module. By

More information

This is a copy of the notes used in the module CI01.

This is a copy of the notes used in the module CI01. CI101 This is a copy of the notes used in the module CI01. It is presented to you in the hope that it will be useful and reduce some of the burden of taking notes during the lectures. However, it will

More information

COMP Assignment 1

COMP Assignment 1 COMP281 2019 Assignment 1 In the following, you will find the problems that constitute Assignment 1. They will be also available on the online judging (OJ) system available at https://student.csc.liv.ac.uk/judgeonline

More information

Pace University. Fundamental Concepts of CS121 1

Pace University. Fundamental Concepts of CS121 1 Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

More information

High Performance Computing MPI and C-Language Seminars 2009

High Performance Computing MPI and C-Language Seminars 2009 High Performance Computing - Seminar Plan Welcome to the High Performance Computing seminars for 2009. Aims: Introduce the C Programming Language. Basic coverage of C and programming techniques needed

More information

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points Files to submit: 1. HW3.py This is a PAIR PROGRAMMING Assignment: Work with your partner! For pair

More information

A Fraction Class. Using a Fraction class, we can compute the above as: Assignment Objectives

A Fraction Class. Using a Fraction class, we can compute the above as: Assignment Objectives A Fraction Class Assignment Objectives What to Submit Evaluation Individual Work Write a Fraction class that performs exact fraction arithmetic. 1. Practice fundamental methods like equals, tostring, and

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

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

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,

More information

Software Engineering Large Practical (Android version) 2013/2014

Software Engineering Large Practical (Android version) 2013/2014 Software Engineering Large Practical (Android version) 2013/2014 Professor Stephen Gilmore School of Informatics Issued on: Wednesday 18 th September, 2013 About The Software Engineering Practical is available

More information

Inf1-OP. Inf1-OP Exam Review. Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein. March 20, School of Informatics

Inf1-OP. Inf1-OP Exam Review. Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein. March 20, School of Informatics Inf1-OP Inf1-OP Exam Review Timothy Hospedales, adapting earlier version by Perdita Stevens and Ewan Klein School of Informatics March 20, 2017 Overview Overview of examinable material: Lectures Week 1

More information

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 2 EXAMINATIONS 2013/2014 CI101/CI101H. Programming

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 2 EXAMINATIONS 2013/2014 CI101/CI101H. Programming s SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 2 EXAMINATIONS 2013/2014 CI101/CI101H Programming Time allowed: THREE hours Answer: ALL questions Items permitted: Items supplied: There is no

More information

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java Introduction Objectives An overview of object-oriented concepts. Programming and programming languages An introduction to Java 1-2 Problem Solving The purpose of writing a program is to solve a problem

More information

CS 6353 Compiler Construction Project Assignments

CS 6353 Compiler Construction Project Assignments CS 6353 Compiler Construction Project Assignments In this project, you need to implement a compiler for a language defined in this handout. The programming language you need to use is C or C++ (and the

More information

Announcements. 1. Forms to return today after class:

Announcements. 1. Forms to return today after class: Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.

More information

COMP 202 Java in one week

COMP 202 Java in one week COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of

More information

Basics of programming

Basics of programming 0. Java summary Core char int double boolean short long float primitive types; int a = 2; int b = 2, c = 4; Declaration of a variable a = b; a = b + c; Assignment b + c; // Addition b - c; // Subtraction

More information

5COS005W Coursework 2 (Semester 2)

5COS005W Coursework 2 (Semester 2) University of Westminster Department of Computer Science 5COS005W Coursework 2 (Semester 2) Module leader Dr D. Dracopoulos Unit Coursework 2 Weighting: 50% Qualifying mark 30% Description Learning Outcomes

More information

CS/COE 1501

CS/COE 1501 CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ Introduction Meta-notes These notes are intended for use by students in CS1501 at the University of Pittsburgh. They are provided free of charge and may not be

More information

CS/COE 1501 cs.pitt.edu/~bill/1501/ Introduction

CS/COE 1501 cs.pitt.edu/~bill/1501/ Introduction CS/COE 1501 cs.pitt.edu/~bill/1501/ Introduction Meta-notes These notes are intended for use by students in CS1501 at the University of Pittsburgh. They are provided free of charge and may not be sold

More information

Semester 1 CI101/CI177. Java

Semester 1 CI101/CI177. Java Semester 1 CI101/CI177 Java Object oriented programming M A Smith University of Brighton March 20, 2017 Page 1 This is a copy of the notes used in the module CI01. It is presented to you in the hope that

More information

CSE 331 Final Exam 3/16/15 Sample Solution

CSE 331 Final Exam 3/16/15 Sample Solution Question 1. (12 points, 3 each) A short design exercise. Suppose Java did not include a Set class in the standard library and we need to store a set of Strings for an application. We know that the maximum

More information

CSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017

CSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017 This week the main activity was a quiz activity, with a structure similar to our Friday lecture activities. The retrospective for the quiz is in Quiz-07- retrospective.pdf This retrospective explores the

More information

Instructions PLEASE READ (notice bold and underlined phrases)

Instructions PLEASE READ (notice bold and underlined phrases) Assignment 4 Recursive and Sorting Methods Solutions Required Reading Java Foundations Chapter 13 Linked Structures Chapter 17 Recursion Chapter 18 Searching and Sorting Chapter 19 Trees Instructions PLEASE

More information

CpSc 1111 Lab 9 2-D Arrays

CpSc 1111 Lab 9 2-D Arrays CpSc 1111 Lab 9 2-D Arrays Overview This week, you will gain some experience with 2-dimensional arrays, using loops to do the following: initialize a 2-D array with data from an input file print out the

More information

Inheritance and Interfaces

Inheritance and Interfaces Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical

More information

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments. Java How to Program, 9/e Education, Inc. All Rights Reserved. } Java application programming } Use tools from the JDK to compile and run programs. } Videos at www.deitel.com/books/jhtp9/ Help you get started

More information

Project #1 Seam Carving

Project #1 Seam Carving Project #1 Seam Carving Out: Fri, Jan 19 In: 1 Installing, Handing In, Demos, and Location of Documentation 1. To install, type cs016 install seamcarve into a shell in the directory in which you want the

More information

COMP 202 Java in one week

COMP 202 Java in one week CONTENTS: Basics of Programming Variables and Assignment Data Types: int, float, (string) Example: Implementing a calculator COMP 202 Java in one week The Java Programming Language A programming language

More information

EXAM Computer Science 1 Part 1

EXAM Computer Science 1 Part 1 Maastricht University Faculty of Humanities and Science Department of Knowledge Engineering EXAM Computer Science 1 Part 1 Block 1.1: Computer Science 1 Code: KEN1120 Examiner: Kurt Driessens Date: Januari

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

CMSC 150 INTRODUCTION TO COMPUTING LAB WEEK 3 STANDARD IO FORMATTING OUTPUT SCANNER REDIRECTING

CMSC 150 INTRODUCTION TO COMPUTING LAB WEEK 3 STANDARD IO FORMATTING OUTPUT SCANNER REDIRECTING CMSC 150 INTRODUCTION TO COMPUTING LAB WEEK 3 STANDARD IO FORMATTING OUTPUT SCANNER REDIRECTING INPUT AND OUTPUT Input devices Keyboard Mouse Hard drive Network Digital camera Microphone Output devices.

More information

Java Style Guide. 1.0 General. 2.0 Visual Layout. Dr Caffeine

Java Style Guide. 1.0 General. 2.0 Visual Layout. Dr Caffeine September 25, 2002 Java Style Guide Dr Caffeine This document defines the style convention the students must follow in submitting their programs. This document is a modified version of the document originally

More information

CS 6353 Compiler Construction Project Assignments

CS 6353 Compiler Construction Project Assignments CS 6353 Compiler Construction Project Assignments In this project, you need to implement a compiler for a language defined in this handout. The programming language you need to use is C or C++ (and the

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 Project III Assigned On: 7/12/2016 Due on: 7/25/2016 (before 11:59pm) Submit by: Blackboard (1 folder

More information

Regis University CC&IS CS310 Data Structures Programming Assignment 2: Arrays and ArrayLists

Regis University CC&IS CS310 Data Structures Programming Assignment 2: Arrays and ArrayLists Regis University CC&IS CS310 Data Structures Programming Assignment 2 Arrays and ArrayLists Problem Scenario The real estate office was very impressed with your work from last week. The IT director now

More information

Homework 09. Collecting Beepers

Homework 09. Collecting Beepers Homework 09 Collecting Beepers Goal In this lab assignment, you will be writing a simple Java program to create a robot object called karel. Your robot will start off in a world containing a series of

More information

gcc hello.c a.out Hello, world gcc -o hello hello.c hello Hello, world

gcc hello.c a.out Hello, world gcc -o hello hello.c hello Hello, world alun@debian:~$ gcc hello.c alun@debian:~$ a.out Hello, world alun@debian:~$ gcc -o hello hello.c alun@debian:~$ hello Hello, world alun@debian:~$ 1 A Quick guide to C for Networks and Operating Systems

More information

Mutating Object State and Implementing Equality

Mutating Object State and Implementing Equality Mutating Object State and Implementing Equality 6.1 Mutating Object State Goals Today we touch the void... (sounds creepy right... see the movie, or read the book, to understand how scary the void can

More information

Software and Programming 1

Software and Programming 1 Software and Programming 1 Lab 1: Introduction, HelloWorld Program and use of the Debugger 17 January 2019 SP1-Lab1-2018-19.pptx Tobi Brodie (tobi@dcs.bbk.ac.uk) 1 Module Information Lectures: Afternoon

More information

Lecture Transcript While and Do While Statements in C++

Lecture Transcript While and Do While Statements in C++ Lecture Transcript While and Do While Statements in C++ Hello and welcome back. In this lecture we are going to look at the while and do...while iteration statements in C++. Here is a quick recap of some

More information

Decision-Making and Repetition

Decision-Making and Repetition 2.2 Recursion Introduction A recursive method is a method that call itself. You may already be familiar with the factorial function (N!) in mathematics. For any positive integer N, N! is defined to be

More information

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make

More information

CIS 121 Data Structures and Algorithms with Java Spring 2018

CIS 121 Data Structures and Algorithms with Java Spring 2018 CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 2 Thursday, January 18 Due Monday, January 29 by 11:59 PM 7 Required Problems (85 points), and Style and Tests (15 points) DO NOT modify

More information

1 Introduction Java, the beginning Java Virtual Machine A First Program BlueJ Raspberry Pi...

1 Introduction Java, the beginning Java Virtual Machine A First Program BlueJ Raspberry Pi... Contents 1 Introduction 3 1.1 Java, the beginning.......................... 3 1.2 Java Virtual Machine........................ 4 1.3 A First Program........................... 4 1.4 BlueJ.................................

More information

COSC 243. Data Representation 3. Lecture 3 - Data Representation 3 1. COSC 243 (Computer Architecture)

COSC 243. Data Representation 3. Lecture 3 - Data Representation 3 1. COSC 243 (Computer Architecture) COSC 243 Data Representation 3 Lecture 3 - Data Representation 3 1 Data Representation Test Material Lectures 1, 2, and 3 Tutorials 1b, 2a, and 2b During Tutorial a Next Week 12 th and 13 th March If you

More information

Lab ACN : C++ Programming Exercises

Lab ACN : C++ Programming Exercises Lab ACN : C++ Programming Exercises ------------------------------------------------------------------------------------------------------------------- Exercise 1 Write a temperature conversion program

More information

You should now start on Chapter 4. Chapter 4 introduces the following concepts

You should now start on Chapter 4. Chapter 4 introduces the following concepts Summary By this stage, you have met the following principles : the relationship between classes and objects that a class represents our understanding of something weʼre interested in, in a special and

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Java application A computer program that executes when you use the java command to launch the Java Virtual Machine

More information

CS 211 Programming Practicum Fall 2018

CS 211 Programming Practicum Fall 2018 Due: Wednesday, 11/7/18 at 11:59 pm Infix Expression Evaluator Programming Project 5 For this lab, write a C++ program that will evaluate an infix expression. The algorithm REQUIRED for this program will

More information

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Advanced Databases Course Level: 4 Lecture Time: Course code:

More information

Collections, Maps and Generics

Collections, Maps and Generics Collections API Collections, Maps and Generics You've already used ArrayList for exercises from the previous semester, but ArrayList is just one part of much larger Collections API that Java provides.

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba Laboratory Session: Exercises on classes Analogy to help you understand classes and their contents. Suppose you want to drive a car and make it go faster by pressing down

More information

Inf1-OOP. OOP Exam Review. Perdita Stevens, adapting earlier version by Ewan Klein. March 16, School of Informatics

Inf1-OOP. OOP Exam Review. Perdita Stevens, adapting earlier version by Ewan Klein. March 16, School of Informatics Inf1-OOP OOP Exam Review Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics March 16, 2015 Overview Overview of examinable material: Lectures Topics S&W sections Week 1 Compilation,

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

Introduction to Programming using C++

Introduction to Programming using C++ Introduction to Programming using C++ Lecture One: Getting Started Carl Gwilliam gwilliam@hep.ph.liv.ac.uk http://hep.ph.liv.ac.uk/~gwilliam/cppcourse Course Prerequisites What you should already know

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

CS2 Practical 1 CS2A 22/09/2004

CS2 Practical 1 CS2A 22/09/2004 CS2 Practical 1 Basic Java Programming The purpose of this practical is to re-enforce your Java programming abilities. The practical is based on material covered in CS1. It consists of ten simple programming

More information

Part III Appendices 165

Part III Appendices 165 Part III Appendices 165 Appendix A Technical Instructions Learning Outcomes This material will help you learn how to use the software you need to do your work in this course. You won t be tested on it.

More information

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are

More information

CMPSCI 187 / Spring 2015 Hangman

CMPSCI 187 / Spring 2015 Hangman CMPSCI 187 / Spring 2015 Hangman Due on February 12, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI 187 / Spring 2015 Hangman Contents Overview

More information

Graded Project. Microsoft Excel

Graded Project. Microsoft Excel Graded Project Microsoft Excel INTRODUCTION 1 PROJECT SCENARIO 1 CREATING THE WORKSHEET 2 GRAPHING YOUR RESULTS 4 INSPECTING YOUR COMPLETED FILE 6 PREPARING YOUR FILE FOR SUBMISSION 6 Contents iii Microsoft

More information

Software Design and Analysis for Engineers

Software Design and Analysis for Engineers Software Design and Analysis for Engineers by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc251 Simon Fraser University Slide Set: 2 Date:

More information

ICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit

ICOM 4015 Advanced Programming Laboratory. Chapter 1 Introduction to Eclipse, Java and JUnit ICOM 4015 Advanced Programming Laboratory Chapter 1 Introduction to Eclipse, Java and JUnit University of Puerto Rico Electrical and Computer Engineering Department by Juan E. Surís 1 Introduction This

More information

CSCI 355 Lab #2 Spring 2007

CSCI 355 Lab #2 Spring 2007 CSCI 355 Lab #2 Spring 2007 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

CMPSCI 187 / Spring 2015 Hanoi

CMPSCI 187 / Spring 2015 Hanoi Due on Thursday, March 12, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 Contents Overview 3 Learning Goals.................................................

More information

Course Outline. Introduction to java

Course Outline. Introduction to java Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.

More information

Design Patterns: State, Bridge, Visitor

Design Patterns: State, Bridge, Visitor Design Patterns: State, Bridge, Visitor State We ve been talking about bad uses of case statements in programs. What is one example? Another way in which case statements are sometimes used is to implement

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

COMP-202 Unit 8: Defining Your Own Classes. CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation

COMP-202 Unit 8: Defining Your Own Classes. CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation COMP-202 Unit 8: Defining Your Own Classes CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation Defining Our Own Classes (1) So far, we have been creating

More information

Dr. Manal Helal CC316:Object Oriented Programming, Fall 2015 AASTMT College of Engineering & Technology

Dr. Manal Helal CC316:Object Oriented Programming, Fall 2015 AASTMT College of Engineering & Technology OOP Term Project Ideas Goal: To learn how to build and evolve large-scale programs using object-oriented programming, and work in teams learning from each other. Topics: In exploring object-oriented programming,

More information

Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time)

Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time) CSE 11 Winter 2017 Program Assignment #2 (100 points) START EARLY! Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time) PROGRAM #2: DoubleArray11 READ THE ENTIRE ASSIGNMENT BEFORE STARTING In lecture,

More information

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab CSC 111 Fall 2005 Lab 6: Methods and Debugging Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab Documented GameMethods file and Corrected HighLow game: Uploaded by midnight of lab

More information

CS18000: Programming I

CS18000: Programming I CS18000: Programming I Testing Basics 19 April 2010 Prof. Chris Clifton Testing Programs Your programs are getting large and more complex How do you make sure they work? 1. Reason about the program Think

More information

C++ Style Guide. 1.0 General. 2.0 Visual Layout. 3.0 Indentation and Whitespace

C++ Style Guide. 1.0 General. 2.0 Visual Layout. 3.0 Indentation and Whitespace C++ Style Guide 1.0 General The purpose of the style guide is not to restrict your programming, but rather to establish a consistent format for your programs. This will help you debug and maintain your

More information

CS1 Lecture 3 Jan. 22, 2018

CS1 Lecture 3 Jan. 22, 2018 CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow

More information

Our first program is a simple calculator, which will carry out the arithmetic operations of adding, subtracting, multiplying and dividing numbers.

Our first program is a simple calculator, which will carry out the arithmetic operations of adding, subtracting, multiplying and dividing numbers. Chapter 2: Calculations 29 2 Calculations Most computer programs need to carry out calculations, for example: with money, quantities of materials, or dates and times. In this chapter, we will examine how

More information

Lecture 02, Fall 2018 Friday September 7

Lecture 02, Fall 2018 Friday September 7 Anatomy of a class Oliver W. Layton CS231: Data Structures and Algorithms Lecture 02, Fall 2018 Friday September 7 Follow-up Python is also cross-platform. What s the advantage of Java? It s true: Python

More information

Stage 11 Array Practice With. Zip Code Encoding

Stage 11 Array Practice With. Zip Code Encoding A Review of Strings You should now be proficient at using strings, but, as usual, there are a few more details you should know. First, remember these facts about strings: Array Practice With Strings are

More information

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018

Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Lab 1: Silver Dollar Game 1 CSCI 2101B Fall 2018 Due: Tuesday, September 18, 11:59 pm Collaboration Policy: Level 1 (review full policy for details) Group Policy: Individual This lab will give you experience

More information

Programming Project 5: NYPD Motor Vehicle Collisions Analysis

Programming Project 5: NYPD Motor Vehicle Collisions Analysis : NYPD Motor Vehicle Collisions Analysis Due date: Dec. 7, 11:55PM EST. You may discuss any of the assignments with your classmates and tutors (or anyone else) but all work for all assignments must be

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

Software and Programming 1

Software and Programming 1 Software and Programming 1 Lab 8: Use of classes, static class variables and methods 1st March 2018 SP1-Lab8-2018.pdf Tobi Brodie (Tobi@dcs.bbk.ac.uk) 1 Lab 8 Objectives Understanding the encapsulation

More information

Department of Computer Science Purdue University, West Lafayette

Department of Computer Science Purdue University, West Lafayette Department of Computer Science Purdue University, West Lafayette Fall 2011: CS 180 Problem Solving and OO Programming Exam 1 Solutions Q 1 Answer the questions below assuming that binary integers are represented

More information

15-110: Principles of Computing, Spring 2018

15-110: Principles of Computing, Spring 2018 5-: Principles of Computing, Spring 28 Problem Set 8 (PS8) Due: Friday, March 3 by 2:3PM via Gradescope Hand-in HANDIN INSTRUCTIONS Download a copy of this PDF file. You have two ways to fill in your answers:.

More information

Inf2C Software Engineering Coursework 3. Creating an abstract implementation of a tour guide app

Inf2C Software Engineering Coursework 3. Creating an abstract implementation of a tour guide app Inf2C Software Engineering 2017-18 Coursework 3 Creating an abstract implementation of a tour guide app 1 Introduction The aim of this coursework is to implement and test an abstract version of software

More information