Pencil-and-Paper Exercises (15 points total)

Size: px
Start display at page:

Download "Pencil-and-Paper Exercises (15 points total)"

Transcription

1 Computer Science E-50a: Introduction to Computer Science Using Java, I Handout part 1 I.Description Refer to the Savitch text (or your favorite Java reference) to reinforce your comprehension of Java parameter passing mechanisms and other constructs. Unless otherwise indicated, everything which the human would type to the computer has been underlined. Everything which the computer types is not. Work carefully! The programming problems which are done on the computer will be graded partly on the basis of style as well as correctness. These problems are due prior to the start of lecture on Monday evening, April 14. Get started as soon as possible! II. Pencil-and-Paper Exercises (15 points total) [1] 5 points Write Java code (it doesn t have to be a complete program) that generates two random integers, each between 1 and 7 (inclusive). Use a switch statement to output one of the following three messages: A tie! if the difference between the numbers is zero You lose! if the difference between the numbers is 1, 3, or 5 You win! if the difference between the numbers is 2, 4, or 6 Spring 2003 Dr. S. J. Eigen

2 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 2 [2] 5 points Precisely what is printed by the following horrible program? In answering this question, draw little boxes that clearly show how the values of all the different variables change as each instruction gets executed. (We want you to demonstrate that you understand how parameter passing works!) class Prob2 { static int foo (int a, int b) { return (a + b); } static int bar (int x) { x += 2; return (x * x); } } public static void main (String args[ ] ) { int x = 2; System.out.println("Foo = " + foo(x, 3) ); System.out.println("Foo = " + foo(x, 4) ); System.out.println("Bar = " + bar( -x )); System.out.println("Bar = " + bar( foo(x+x, ++x) )); } [3] 5 points In Java s Character class, there s a method named isjavaidentifierstart(char ch). This method determines if the char argument is permissible as the first character in a Java identifier. A character may start a Java identifier if and only if it is (1) a letter; (2) a currency symbol (i.e., $ ); or (3) a connecting punctuation character (i.e., _ which is the underscore). This method returns true if the character may start a Java identifier; false otherwise. Define your own version of isjavaidentifierstart

3 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 3 III. Programming Problems (up to 100 points) For the problems in this section, be sure to follow the instructions on electronic submission as described in [4] 15 points (use file ThisOldMan.java) Write a program to print the lyrics for the song This Old Man. This old man, he played 1. He played nick-nack on my drum; With a nick-nack paddy-whack, give the dog a bone, This old man came running home. This old man, he played 2. He played nick-nack on my shoe; With a nick-nack paddy-whack, give the dog a bone, This old man came running home. Use the same technique demonstrated in lecture for the Marching Ants song. The remaining verses are 3 on my tree 4 on my door 5 on my hive 6 on my sticks 7 up in heaven 8 on my gate 9 on my spine 10 on my hen Alternative lyrics, as well as other nursery rhymes appear at

4 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 4 [5] 10 points (use file LeapYear.java) Write a predicate method static boolean isleapyear(int year) that tests whether its argument repesents a leap year, i.e., a year with 366 days. Leap years are necessary to keep the calendar synchronized with the sun because the earth revolves around this star once every days. Actually, that figure is not entirely precise, and so for all dates after 1582 the Gregorian Correction applies: the years that are divisible by 4 are usually leap years (for example, 1996). However, years that are divisible by 100 (for example, 1900) are not leap years; but years that are divisible by 400 are leap years (e.g., the year 2000). Write a main method that tests your isleapyear method. It should work as shown here asking the user for a year until the value -1 is typed. The year value that is input should be passed to the isleapyear method, which then computes and returns the answer that gets printed by your main program. Type a year greater than 1582, or -1 to stop: IS a leap year! Type a year greater than 1582, or or -1 to stop: IS NOT a leap year! Type a year greater than 1582, or or -1 to stop: IS a leap year! Type a year greater than 1582, or or -1 to stop: -1 Thank you for using this program! For those of you interested in the background of leap years, Sarah L. Maher w/information provided by Royal Greenwich Observatory has written the following. See also Our solar year (the time required for Earth to travel once around the Sun) is days. Our calendar year is either 365 days in non leap years or 366 days in leap years. A leap year every 4 years gives us days, sending our seasons off course and eventually in

5 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 5 the wrong months. hundred years or so. To change.25 days to.24219, we skip a few leap days every one Here s the history: The Romans originally had a 355-day calendar. To keep up with the seasons, an extra 22 or 23-day month was inserted every second year. For reasons unknown, this extra month was only observed now and then. By Julius Caesar s time, the seasons no longer occurred at the same calendar periods as history had shown. To correct this, Caesar eliminated the extra month and added one or two extra days to the end of various months (his month included, which was Quintilis, later renamed Juliuswe know it as July). This extended the calendar to 365 days. Also intended was an extra calendar day every fourth year (following the 28th day of Februarius). However, after Caesar s death in 44 B.C., the calendars were written with an extra day every 3 years instead of every 4 until corrected in 8 A.D. So again, the calendar drifted away from the seasons. By 1582, Pope Gregory XIII recognized that Easter would eventually become closer and closer to Christmas. The calendar was reformed so that a leap day would occur in any year that is divisible by 4 but not divisible by 100 except when the year is divisible by 400. Thus 1600 and 2000, although century marks, have a Leap Day. The calendar we use today, known as the Gregorian calendar, makes our year days only off from our solar year by.00031, which amounts to only one day s error after 4,000 years. [6] 15 points (use file License.java) Write a Java program that prints 20 random license plate numbers, each one consisting of three randomly-chosen digits followed by three randomly chosen upper-case letters. The first digit cannot be zero.

6 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 6 [7] 15 points (use file Initials.java) Write a Java method named getinitials that accepts a String value in its only parameter. Assume the actual argument passed to this parameter is some person s full name and contains their first, middle and last names. This method should return a String containing this person s initials. Use the built-in String methods such as length(), charat(), compareto(), indexof(), concat(), and so on. For example, getinitials( William H. Gates, III ) should return the value WHG. Assume that precisely one space character separates the first name from the middle name, and the middle name from the last name. Be sure you write a main method that tests your program out thoroughly; it should read in a character string that the user types on the keyboard using one of the SavitchIn methods. Describe carefully whether and why your method will fail if you pass as an argument to it a String that lacks a middle name. [8] 15 points (use file Nim.java) Write a program that plays a complete game of Nim against a human opponent. In this very simple game, the players start with a pile of 11 match sticks. Each player takes a turn at removing one, two, or three matches from the pile. The player that ends up with the last stick is the loser. Here s a simple interaction to illustrate how your program will look in action: WELCOME TO THE GAME OF NIM! How many matches do you want? -1 That s an illegal move. Choose 1, 2, or 3 matches. How many matches do you want? 1 Human takes one match, leaving 10 Computer takes 1 match, leaving 9 How many matches do you want? 1

7 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 7 Human takes one match, leaving 8 Computer takes 3 matches, leaving 5 How many matches do you want? 2 Human takes 2 matches, leaving 3 Computer takes 2 matches, leaving 1 Computer wins the game! Note that the human always goes first, and whenever the human makes a stupid move, the computer will win the game. If the computer is in a situation where it knows it cannot win (e.g., it has 5 matches), have it pick an appropriate random number of matches. Note also that the output from the program is grammatical. By this we mean the program prints the singular and plural forms of the word match correctly (e.g., 1 match versus 2 matches ). Also note that the program will not allow the human to make an illegal move. Use a switch statement in the part of your program that deals with the computer s strategy.

8 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 8 [9] 10 points (use file Baseball.java) THIS PROBLEM IS REQUIRED FOR ALL GRADUATE-CREDIT STUDENTS. Undergraduate-credit students may solve the problem for extra credit. Johann VanDerDoe, a baseball player, has the following lifetime hitting percentages: Out 63.4% Walk10.3% Single 19.0% Double 4.9% Triple 1.1% Home run 1.3% Using random numbers write a Java program to simulate 1000 times at bat for Johann, counting (and printing out) the number of outs, walks, singles, and so on, and then calculating his batting average, which is (# of hits) / ( # of walks) Note that singles, doubles, triples and home runs are all considered to be hits. Hint: if the random numbers you generate are each between 0 and 1, then a random number which is less than or equal to.634 should count as an out. Random numbers greater than.634 but less than or equal to.737 represent a walk, and so on. Think about it! [10] 10 points Given the time of day in terms of an hour, minute, second and day half (i.e., AM or PM), write a static Java method named fractionofday to calculate and return the fraction of the day (a value of type double) that has elapsed since midnight (12:00 AM). For example, System.out.print(fractionOfDay ( 12, 0, 0, 'A')); would print 0.0 System.out.print(fractionOfDay ( 12, 0, 0, 'P')); would print 0.5 System.out.print(fractionOfDay ( 11, 59, 59, 'P')); would print Write a main method that can produce a table like the following (use a

9 Computer Science E-50a: Introduction to Computer Science Using Java, I Page 9 couple of for loops): Time Fraction since midnight 12:00 AM 0 1:00 AM :00 AM :00 AM :00 AM :00 AM :00 AM :00 AM :00 AM :00 AM :00 AM :00 AM :00 PM 0.5 1:00 PM :00 PM :00 PM :00 PM :00 PM :00 PM :00 PM :00 PM :00 PM :00 PM :00 PM

Problem Set 2 Out of 45 points Due Thursday, September 27, 2012 at 8pm

Problem Set 2 Out of 45 points Due Thursday, September 27, 2012 at 8pm Problem Set 2 Out of 45 points Due Thursday, September 27, 2012 at 8pm Goals Get acquainted with functions and libraries Get acquainted with character values and strings Recommended Reading Pages 11 14

More information

Ryerson University Vers HAL6891A-05 School of Computer Science CPS109 Midterm Test Fall 05 page 1 of 6

Ryerson University Vers HAL6891A-05 School of Computer Science CPS109 Midterm Test Fall 05 page 1 of 6 CPS109 Midterm Test Fall 05 page 1 of 6 Last Name First Name Student Number Circle Your Instructor Your last name here Your first name here Your student number here Ferworn Harley Instructions: (a) There

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

ICS3U0 - ONGOING REVIEW PRACTICE PROBLEMS

ICS3U0 - ONGOING REVIEW PRACTICE PROBLEMS ICS3U0 - ONGOING REVIEW PRACTICE PROBLEMS ICS3U0 - ONGOING REVIEW PRACTICE PROBLEMS... 1 IMPORTANT POINTS TO CONSIDER... 2 WHAT YOU NEED TO UNDERSTAND TO SOLVE ALL THE PROBLEMS... 2 PP1 - ASTRONOMICAL

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

CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 4

CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 4 CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 4 20 points Out: February 18/19, 2015 Due: February 25/26, 2015 Reminder: This is a programming assignment, and work on this assignment

More information

Claremont McKenna College Computer Science

Claremont McKenna College Computer Science Claremont McKenna College Computer Science CS 51 Handout 4: Problem Set 4 February 10, 2011 This problem set is due 11:50pm on Wednesday, February 16. As usual, you may hand in yours until I make my solutions

More information

EASY

EASY Downloaded from: justpaste.it/hsfm ------------------------------- EASY ------------------------------- NUMBERS Even or Odd Write a program that accepts a number and returns whether the number is equal

More information

Computer Science E-50a: Introduction to Computer Science Using Java, I Handout #7 part 2

Computer Science E-50a: Introduction to Computer Science Using Java, I Handout #7 part 2 Computer Science E-50a: Introduction to Computer Science Using Java, I Handout #7 part 2 part 2 These problems are due prior to the start of lecture on Monday night, March 31. Part A The Reading You may

More information

CSci 1113, Fall 2015 Lab Exercise 4 (Week 5): Write Your Own Functions. User Defined Functions

CSci 1113, Fall 2015 Lab Exercise 4 (Week 5): Write Your Own Functions. User Defined Functions CSci 1113, Fall 2015 Lab Exercise 4 (Week 5): Write Your Own Functions User Defined Functions In previous labs, you've encountered useful functions, such as sqrt() and pow(), that were created by other

More information

York University AK/ITEC OBJECT-BASED PROGRAMMING. Midterm Test Sample. Examiner: S.Y. Chen Duration: One Hour and Fifteen Minutes

York University AK/ITEC OBJECT-BASED PROGRAMMING. Midterm Test Sample. Examiner: S.Y. Chen Duration: One Hour and Fifteen Minutes York University AK/ITEC 1620 3.0 OBJECT-BASED PROGRAMMING Midterm Test Sample Examiner: S.Y. Chen Duration: One Hour and Fifteen Minutes This exam is closed textbook(s) and closed notes. Use of any electronic

More information

The Irving K. Barber School of Arts and Sciences COSC 111 Final Exam Winter Term II Instructor: Dr. Bowen Hui. Tuesday, April 19, 2016

The Irving K. Barber School of Arts and Sciences COSC 111 Final Exam Winter Term II Instructor: Dr. Bowen Hui. Tuesday, April 19, 2016 First Name (Print): Last Name (Print): Student Number: The Irving K. Barber School of Arts and Sciences COSC 111 Final Exam Winter Term II 2016 Instructor: Dr. Bowen Hui Tuesday, April 19, 2016 Time: 6:00pm

More information

2. INTRODUCTORY EXCEL

2. INTRODUCTORY EXCEL CS130 - Introductory Excel 1 2. INTRODUCTORY EXCEL Fall 2017 CS130 - Introductory Excel 2 Introduction to Excel What is Microsoft Excel? What can we do with Excel? CS130 - Introductory Excel 3 Launch Excel

More information

Python allows variables to hold string values, just like any other type (Boolean, int, float). So, the following assignment statements are valid:

Python allows variables to hold string values, just like any other type (Boolean, int, float). So, the following assignment statements are valid: 1 STRINGS Objectives: How text data is internally represented as a string Accessing individual characters by a positive or negative index String slices Operations on strings: concatenation, comparison,

More information

4. Use a loop to print the first 25 Fibonacci numbers. Do you need to store these values in a data structure such as an array or list?

4. Use a loop to print the first 25 Fibonacci numbers. Do you need to store these values in a data structure such as an array or list? 1 Practice problems Here is a collection of some relatively straightforward problems that let you practice simple nuts and bolts of programming. Each problem is intended to be a separate program. 1. Write

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 1 Lecture 2: Static Methods reading: 1.4-1.5 (Slides adapted from Stuart Reges, Hélène Martin, and Marty Stepp) 2 Recall: structure, syntax class: a program public class

More information

Excel Tips. Contents. By Dick Evans

Excel Tips. Contents. By Dick Evans Excel Tips By Dick Evans Contents Pasting Data into an Excel Worksheet... 2 Divide by Zero Errors... 2 Creating a Dropdown List... 2 Using the Built In Dropdown List... 3 Entering Data with Forms... 4

More information

CSE Fall 2015 Section 002 Exam 2, Time: 80 mins

CSE Fall 2015 Section 002 Exam 2, Time: 80 mins CSE 1310 - Fall 2015 Section 002 Exam 2, Time: 80 mins Name:. Student ID:. Total exam points: 100. Question Points Out of 1 20 2 20 3 20 4 20 5 20 6 20 Total 100 SOLVE 5 OUT 6 PROBLEMS. You must specify

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

Programming Assignment #2

Programming Assignment #2 Programming Assignment #2 Due: 11:59pm, Wednesday, Feb. 13th Objective: This assignment will provide further practice with classes and objects, and deepen the understanding of basic OO programming. Task:

More information

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

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

The little book of programming challenges

The little book of programming challenges 24 The little book of programming challenges The following challenges are here to challenge and inspire you as well as help you on your journey to becoming a computational thinker. You may be set these

More information

Introduction to Java

Introduction to Java Introduction to Java A Farewell to Karel Welcome to Java But First... A Brief History of Digital Computers Image credit: http://upload.wikimedia.org/wikipedia/commons/4/4e/eniac.jpg Programming in the

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

Introduction to Computer Science Unit 3. Programs

Introduction to Computer Science Unit 3. Programs Introduction to Computer Science Unit 3. Programs This section must be updated to work with repl.it Programs 1 to 4 require you to use the mod, %, operator. 1. Let the user enter an integer. Your program

More information

15100 Fall 2005 Final Project

15100 Fall 2005 Final Project 15100 Fall 2005 Final Project Robby Findler & Jacob Matthews 1 Introduction to Sudoku Sudoku is a logic puzzle set on a nine by nine grid. The goal is to fill in the blank spaces in the puzzle with the

More information

Q1: Multiple choice / 20 Q2: C input/output; operators / 40 Q3: Conditional statements / 40 TOTAL SCORE / 100 EXTRA CREDIT / 10

Q1: Multiple choice / 20 Q2: C input/output; operators / 40 Q3: Conditional statements / 40 TOTAL SCORE / 100 EXTRA CREDIT / 10 EECE.2160: ECE Application Programming Spring 2016 Exam 1 February 19, 2016 Name: Section (circle 1): 201 (8-8:50, P. Li) 202 (12-12:50, M. Geiger) For this exam, you may use only one 8.5 x 11 double-sided

More information

EECE.2160: ECE Application Programming Spring 2016 Exam 1 Solution

EECE.2160: ECE Application Programming Spring 2016 Exam 1 Solution EECE.2160: ECE Application Programming Spring 2016 Exam 1 Solution 1. (20 points, 5 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling

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

Assignment 1 (Lexical Analyzer)

Assignment 1 (Lexical Analyzer) Assignment 1 (Lexical Analyzer) Compiler Construction CS4435 (Spring 2015) University of Lahore Maryam Bashir Assigned: Saturday, March 14, 2015. Due: Monday 23rd March 2015 11:59 PM Lexical analysis Lexical

More information

COMP 110 Programming Exercise: Simulation of the Game of Craps

COMP 110 Programming Exercise: Simulation of the Game of Craps COMP 110 Programming Exercise: Simulation of the Game of Craps Craps is a game of chance played by rolling two dice for a series of rolls and placing bets on the outcomes. The background on probability,

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #06 Loops: Operators

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #06 Loops: Operators Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #06 Loops: Operators We have seen comparison operators, like less then, equal to, less than or equal. to and

More information

Programming Assignment 1 (PA1) - Display Bowtie

Programming Assignment 1 (PA1) - Display Bowtie Programming Assignment 1 (PA1) - Display Bowtie Milestone Due: Final Due: Wednesday, April 18 @ 11:59 pm Wednesday, April 25 @ 11:59 pm Example Input Milestone Functions Unit Testing Extra Credit Detailed

More information

How To Think Like A Computer Scientist, chapter 3; chapter 6, sections

How To Think Like A Computer Scientist, chapter 3; chapter 6, sections 6.189 Day 3 Today there are no written exercises. Turn in your code tomorrow, stapled together, with your name and the file name in comments at the top as detailed in the Day 1 exercises. Readings How

More information

CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics. COMP-202 Unit 1: Introduction

CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics. COMP-202 Unit 1: Introduction CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics COMP-202 Unit 1: Introduction Announcements Did you miss the first lecture? Come talk to me after class. If you want

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 Spring 2018 Miniassignment 1 40 points Due Date: Thursday, March 8, 11:59 pm (midnight) Late deadline (25% penalty): Friday, March 9, 11:59 pm General information This assignment is to be done

More information

CSE115 / CSE503 Introduction to Computer Science I. Dr. Carl Alphonce 343 Davis Hall Office hours:

CSE115 / CSE503 Introduction to Computer Science I. Dr. Carl Alphonce 343 Davis Hall Office hours: CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Thursday 12:00 PM 2:00 PM Friday 8:30 AM 10:30 AM OR request appointment via e-mail

More information

CE151 ASSIGNMENT

CE151 ASSIGNMENT Set by: Mike Sanderson Credit: 20% of total module mark Deadline: 11.59.59, Monday 8 December Submission of this assignment will be via the online submission system; your programs may be tested during

More information

Reviewing all Topics this term

Reviewing all Topics this term Today in CS161 Prepare for the Final Reviewing all Topics this term Variables If Statements Loops (do while, while, for) Functions (pass by value, pass by reference) Arrays (specifically arrays of characters)

More information

CSCI 201L Written Exam #1 Fall % of course grade

CSCI 201L Written Exam #1 Fall % of course grade Name Final Score /15 ID Extra Credit /0.5 Lecture Section (circle one): TTh 8:00-9:20 TTh 9:30-10:50 TTh 11:00-12:20 CSCI 201L Fall 2017 15% of course grade The exam is one hour and 50 minutes and is closed

More information

Lecture Notes 15 Number systems and logic CSS Data Structures and Object-Oriented Programming Professor Clark F. Olson

Lecture Notes 15 Number systems and logic CSS Data Structures and Object-Oriented Programming Professor Clark F. Olson Lecture Notes 15 Number systems and logic CSS 501 - Data Structures and Object-Oriented Programming Professor Clark F. Olson Number systems The use of alternative number systems is important in computer

More information

Topic 4 Expressions and variables

Topic 4 Expressions and variables Topic 4 Expressions and variables "Once a person has understood the way variables are used in programming, he has understood the quintessence of programming." -Professor Edsger W. Dijkstra Based on slides

More information

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

King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department King Abdulaziz University Faculty of Computing and Information Technology Computer Science Department CPCS202, 1 st Term 2016 (Fall 2015) Program 5: FCIT Grade Management System Assigned: Thursday, December

More information

(Refer Slide Time: 1:43)

(Refer Slide Time: 1:43) (Refer Slide Time: 1:43) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 27 Pattern Detector So, we talked about Moore

More information

An Introduction to Processing

An Introduction to Processing An Introduction to Processing Variables, Data Types & Arithmetic Operators Produced by: Dr. Siobhán Drohan Mairead Meagher Department of Computing and Mathematics http://www.wit.ie/ Topics list Variables.

More information

Programming Project 1

Programming Project 1 Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may

More information

CS 170 Java Programming 1. Week 13: Classes, Testing, Debugging

CS 170 Java Programming 1. Week 13: Classes, Testing, Debugging CS 170 Java Programming 1 Week 13: Classes, Testing, Debugging What s the Plan? Short lecture for makeup exams Topic 1: A Little Review How to create your own user-defined classes Defining instance variables,

More information

Outline. Announcements. Homework 2. Boolean expressions 10/12/2007. Announcements Homework 2 questions. Boolean expression

Outline. Announcements. Homework 2. Boolean expressions 10/12/2007. Announcements Homework 2 questions. Boolean expression Outline ECS 10 10/8 Announcements Homework 2 questions Boolean expressions If/else statements State variables and avoiding sys.exit( ) Example: Coin flipping (if time permits) Announcements Professor Amenta

More information

CSE143 Notes for Monday, 4/25/11

CSE143 Notes for Monday, 4/25/11 CSE143 Notes for Monday, 4/25/11 I began a new topic: recursion. We have seen how to write code using loops, which a technique called iteration. Recursion an alternative to iteration that equally powerful.

More information

Have the students look at the editor on their computers. Refer to overhead projector as necessary.

Have the students look at the editor on their computers. Refer to overhead projector as necessary. Intro to Programming (Time 15 minutes) Open the programming tool of your choice: If you ve installed, DrRacket, double-click the application to launch it. If you are using the online-tool, click here to

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

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

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

! Two questions when we design an OO system : ! Our Initial goal: learn to design and implement simple objects.

! Two questions when we design an OO system : ! Our Initial goal: learn to design and implement simple objects. Designing Interactive Classes CS234 Chapter 3 Designing with objects! Two questions when we design an OO system :! what are the objects?! what features should these objects have?! Our Initial goal: learn

More information

CMPT-101. CMPT-101-D2, Spring Course Web Page Course Mailing List. Exams. Assignments

CMPT-101. CMPT-101-D2, Spring Course Web Page   Course Mailing List. Exams. Assignments CMPT-101 CMPT-101-D2, Spring 2000 Week 1, Introduction Instructor: Toby Donaldson An introduction to programming and computer science Covers the basic ideas used in (most) major general-purpose programming

More information

Assignment 4 - Vectors, Menus, & Creatures!

Assignment 4 - Vectors, Menus, & Creatures! Assignment 4 - Vectors, Menus, & Creatures! Due Wednesday July 20, 2011 by 11:59pm You may not work on assignments during your lab time. Submit all the deliverables to the Course Management System: https://courses.cs.sfu.ca/

More information

In this lab, you will learn more about selection statements. You will get familiar to

In this lab, you will learn more about selection statements. You will get familiar to Objective: In this lab, you will learn more about selection statements. You will get familiar to nested if and switch statements. Nested if Statements: When you use if or if...else statement, you can write

More information

CS1 Lecture 5 Jan. 26, 2018

CS1 Lecture 5 Jan. 26, 2018 CS1 Lecture 5 Jan. 26, 2018 HW1 due Monday, 9:00am. Notes: Do not write all the code at once (for Q1 and 2) before starting to test. Take tiny steps. Write a few lines test... add a line or two test...

More information

CSC-140 Assignment 6

CSC-140 Assignment 6 CSC-140 Assignment 6 1 Introduction In this assignment we will start out defining our own classes. For now, we will design a class that represents a date, e.g., Tuesday, March 15, 2011, or in short hand

More information

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 03. REQUIREMENTS CHANGE. I Love You, You re Perfect... Now Change!

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 03. REQUIREMENTS CHANGE. I Love You, You re Perfect... Now Change! PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 03. REQUIREMENTS CHANGE I Love You, You re Perfect... Now Change! You re a hero! The door you built for Todd and Gina was a huge success, and now Doug

More information

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world!

6.S189 Homework 1. What to turn in. Exercise 1.1 Installing Python. Exercise 1.2 Hello, world! 6.S189 Homework 1 http://web.mit.edu/6.189/www/materials.html What to turn in Do the warm-up problems for Days 1 & 2 on the online tutor. Complete the problems below on your computer and get a checkoff

More information

Songwords for HBCD103 Singalong Sticker Fun

Songwords for HBCD103 Singalong Sticker Fun Songwords for HBCD103 Singalong Sticker Fun 1 2 3 4 5 2 CD TRACK LIST PAGE TITLE 3 Singalong Sticker Fun 4 One Two Three Four Five Song 5 One Two Three Four Five Backtrack 6 Singalong Sticker Fun 7 One

More information

Problem Solving for Intro to Computer Science

Problem Solving for Intro to Computer Science Problem Solving for Intro to Computer Science The purpose of this document is to review some principles for problem solving that are relevant to Intro to Computer Science course. Introduction: A Sample

More information

Today in CS161. Week #3. Learn about. Writing our First Program. See example demo programs. Data types (char, int, float) Input and Output (cin, cout)

Today in CS161. Week #3. Learn about. Writing our First Program. See example demo programs. Data types (char, int, float) Input and Output (cin, cout) Today in CS161 Week #3 Learn about Data types (char, int, float) Input and Output (cin, cout) Writing our First Program Write the Inches to MM Program See example demo programs CS161 Week #3 1 Data Types

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

Question: Total Points: Score:

Question: Total Points: Score: CS 170 Exam 1 Section 000 Spring 2015 Name (print): Instructions: Keep your eyes on your own paper and do your best to prevent anyone else from seeing your work. Do NOT communicate with anyone other than

More information

Practice Final Examination #2

Practice Final Examination #2 Nick Troccoli Practice Final 2 CS 106A August 16, 2017 Practice Final Examination #2 Final Exam Time: Friday, August 18th, 12:15P.M. 3:15P.M. Final Exam Location: Various (see website) Based on handouts

More information

Critter #1 Attack.ROAR random winner #2 wins #1 wins Attack.POUNCE #1 wins random winner #2 wins Attack.SCRATCH #2 wins #1 wins random winner

Critter #1 Attack.ROAR random winner #2 wins #1 wins Attack.POUNCE #1 wins random winner #2 wins Attack.SCRATCH #2 wins #1 wins random winner CSE 142, Winter 2016 Programming Assignment #8: Critters (40 points) Due: Tuesday, March 8, 2016, 11:30 PM (Husky must be submitted on time to be in tournament in class on Friday, March 11) This assignment

More information

15-110: Principles of Computing, Spring 2018

15-110: Principles of Computing, Spring 2018 15-110: Principles of Computing, Spring 2018 Programming Assignment 11 (PA11) Due: Tuesday, May 1 by 9PM IMPORTANT ANNOUNCEMENT You cant drop this assignment even if it is your lowest PA score. Failure

More information

last time in cs recitations. computer commands. today s topics.

last time in cs recitations. computer commands. today s topics. last time in cs1007... recitations. course objectives policies academic integrity resources WEB PAGE: http://www.columbia.edu/ cs1007 NOTE CHANGES IN ASSESSMENT 5 EXTRA CREDIT POINTS ADDED sign up for

More information

CSE 21 Summer 2017 Homework 4

CSE 21 Summer 2017 Homework 4 CSE 21 Summer 201 Homework Key Concepts Minimum Spanning Trees, Directed Acyclic Graphs, Topological Sorting, Single source shortest paths, Counting, Basic probability principles, Independence, Linearity

More information

Assignment 1 (Lexical Analyzer)

Assignment 1 (Lexical Analyzer) Assignment 1 (Lexical Analyzer) Compiler Construction CS4435 (Spring 2015) University of Lahore Maryam Bashir Assigned: Saturday, March 14, 2015. Due: Monday 23rd March 2015 11:59 PM Lexical analysis Lexical

More information

Final CSE 131B Spring 2004

Final CSE 131B Spring 2004 Login name Signature Name Student ID Final CSE 131B Spring 2004 Page 1 Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 Page 8 (25 points) (24 points) (32 points) (24 points) (28 points) (26 points) (22 points)

More information

YEAH Hours. January , 7-8 PM Jared Wolens

YEAH Hours. January , 7-8 PM Jared Wolens YEAH Hours January 23 2017, 7-8 PM Jared Wolens YEAH Hours? Held after each assignment is released Future dates to be scheduled soon Review + Assignment Tips Plan for today: lecture review, assignment

More information

CS 455 Midterm Exam 1 Fall 2016 [Bono] Thursday, Sept. 29, 2016

CS 455 Midterm Exam 1 Fall 2016 [Bono] Thursday, Sept. 29, 2016 Name: USC NetID (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2016 [Bono] Thursday, Sept. 29, 2016 There are 5 problems on the exam, with 56 points total available. There are 10 pages to the exam (5 pages

More information

Lecture 8 " INPUT " Instructor: Craig Duckett

Lecture 8  INPUT  Instructor: Craig Duckett Lecture 8 " INPUT " Instructor: Craig Duckett Assignments Assignment 2 Due TONIGHT Lecture 8 Assignment 1 Revision due Lecture 10 Assignment 2 Revision Due Lecture 12 We'll Have a closer look at Assignment

More information

Midterms Save the Dates!

Midterms Save the Dates! University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Primitive Data Types Arithmetic Operators Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch 4.1-4.2.

More information

CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall Office hours:

CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall Office hours: CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Tuesday 10:00 AM 12:00 PM * Wednesday 4:00 PM 5:00 PM Friday 11:00 AM 12:00 PM OR

More information

Remaining Enhanced Labs

Remaining Enhanced Labs Here are some announcements regarding the end of the semester, and the specifications for the last Enhanced Labs. Don t forget that you need to take the Common Final Examination on Saturday, May 5, from

More information

Lab # 2. For today s lab:

Lab # 2. For today s lab: 1 ITI 1120 Lab # 2 Contributors: G. Arbez, M. Eid, D. Inkpen, A. Williams, D. Amyot 1 For today s lab: Go the course webpage Follow the links to the lab notes for Lab 2. Save all the java programs you

More information

Building Java Programs. Chapter 2: Primitive Data and Definite Loops

Building Java Programs. Chapter 2: Primitive Data and Definite Loops Building Java Programs Chapter 2: Primitive Data and Definite Loops Copyright 2008 2006 by Pearson Education 1 Lecture outline data concepts Primitive types: int, double, char (for now) Expressions: operators,

More information

Survey #2. Assignment #3. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings. Static Interface Types.

Survey #2. Assignment #3. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings. Static Interface Types. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Static Interface Types Lecture 19 Readings This Week: Ch 8.3-8.8 and into Ch 9.1-9.3 (Ch 9.3-9.8 and Ch 11.1-11.3 in old 2 nd ed)

More information

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements Topic 4 Variables Once a programmer has understood the use of variables, he has understood the essence of programming -Edsger Dijkstra What we will do today Explain and look at examples of primitive data

More information

CS100J February 13, 2001

CS100J February 13, 2001 CS100J February 13, 2001 Prelim 1 7:30 PM 9:00 PM (Print last name, first name, middle initial/name) (Student ID) Statement of integrity: I did not, and will not, break the rules of academic integrity

More information

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1

cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1 topics: introduction to java, part 1 cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 cis20.1-fall2007-sklar-leci.2 1 Java. Java is an object-oriented language: it is

More information

Java Fundamentals. Problem solving. Rudiments of Java. Backus Naur Form (BNF) NIM

Java Fundamentals. Problem solving. Rudiments of Java. Backus Naur Form (BNF) NIM Java Fundamentals Problem solving NIM Rudiments of Java Classes, objects, methods, constructors Declarations, statements, output Backus Naur Form (BNF) Barbara G. Ryder CS111 Spring 1998 1 Goal: Problem

More information

HW3: CS 110X C Domain Information. Final Version: 1/29/2014

HW3: CS 110X C Domain Information. Final Version: 1/29/2014 HW3: CS 110X C 2014 Note: This homework (and all remaining homework assignments) is a partner homework and must be completed by each partner pair. When you complete this assignment, you must not share

More information

Example: Computing prime numbers

Example: Computing prime numbers Example: Computing prime numbers -Write a program that lists all of the prime numbers from 1 to 10,000. Remember a prime number is a # that is divisible only by 1 and itself Suggestion: It probably will

More information

MODULE 02: BASIC COMPUTATION IN JAVA

MODULE 02: BASIC COMPUTATION IN JAVA MODULE 02: BASIC COMPUTATION IN JAVA Outline Variables Naming Conventions Data Types Primitive Data Types Review: int, double New: boolean, char The String Class Type Conversion Expressions Assignment

More information

Making ecards Can Be Fun!

Making ecards Can Be Fun! Making ecards Can Be Fun! A Macromedia Flash Tutorial By Mike Travis For ETEC 664 University of Hawaii Graduate Program in Educational Technology April 4, 2005 The Goal The goal of this project is to create

More information

More on variables and methods

More on variables and methods More on variables and methods Robots Learning to Program with Java Byron Weber Becker chapter 7 Announcements (Oct 12) Reading for Monday Ch 7.4-7.5 Program#5 out Character Data String is a java class

More information

Assignments 3 & 4. COMP248/Winter Assignment 3 & 4 Page 1 of 7

Assignments 3 & 4. COMP248/Winter Assignment 3 & 4 Page 1 of 7 Concordia University Comp 248 Winter 2016 Introduction to Programming Combined Assignments 3 & 4 - Due by 11:59 PM Sunday March 20, 2016 Assignments 3 & 4 Purpose: The purpose of these assignments is to

More information

LAB 5: SELECTION STATEMENTS

LAB 5: SELECTION STATEMENTS Statement Purpose: The purpose of this lab is to familiarize students with Conditional statements and explain how to control the sequence of statement execution, depending on the value of an expression

More information

Midterm Exam Amy Murphy 19 March 2003

Midterm Exam Amy Murphy 19 March 2003 University of Rochester Midterm Exam Amy Murphy 19 March 2003 Computer Systems (CSC2/456) Read before beginning: Please write clearly. Illegible answers cannot be graded. Be sure to identify all of your

More information

Module Contact: Dr Gavin Cawley, CMP Copyright of the University of East Anglia Version 1

Module Contact: Dr Gavin Cawley, CMP Copyright of the University of East Anglia Version 1 UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2017-18 PROGRAMMING 1 CMP-4008Y Time allowed: 2 hours Answer FOUR questions. All questions carry equal weight. Notes are

More information

Lab 1 Implementing a Simon Says Game

Lab 1 Implementing a Simon Says Game ECE2049 Embedded Computing in Engineering Design Lab 1 Implementing a Simon Says Game In the late 1970s and early 1980s, one of the first and most popular electronic games was Simon by Milton Bradley.

More information

if Statement Numeric Rela5onal Operators The if Statement Flow of Control: Branching (Savitch, Chapter 3)

if Statement Numeric Rela5onal Operators The if Statement Flow of Control: Branching (Savitch, Chapter 3) if Statement Flow of Control: Branching (Savitch, Chapter 3) TOPICS Conditional Execution if and Statement Boolean Data switch Statement Ensures that a statement is executed only when some condi5on is

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

Blocky: A Game of Falling Blocks

Blocky: A Game of Falling Blocks ECE220: Computer Systems and Programming Machine Problem 6 Spring 2018 Honors Section due: Thursday 1 March, 11:59:59 p.m. Blocky: A Game of Falling Blocks Your task this week is to implement a game of

More information