CS 200 - Fundamentals of Programming and Algorithms I

Fall 2007

Instructor
David Hovemeyer
Office / Phone
GH 118 / 717-815-6582
Office Hours
M/W 11 AM - 12 PM
T/Th 2 - 3 PM
F 9 - 10 AM
or by arrangement
Email
dhovemey@ycp.edu
Place GH 123
Class Times Section 01: M/W 8:00-9:50 AM
Section 02: T/Th 8:00-9:50 AM

Announcements

Information

Course Syllabus

Instructions on submitting programming assignments Updated: Sept 24th

Practice exam 1, Solution

Practice exam 2, Solution

Practice Final Exam, Solution

Resources

Java Downloads (you should download JDK 6)

Eclipse IDE (download the latest version)

How To Think Like A Computer Scientist (Java Version), by Allen B. Downey

Example code

Date Files
Sep 19/20 MultiplicationTable.zip
Sep 24/25 Triangle.zip
Sep 26/27 RomanNumeral.zip (demonstrates a switch statement)
Oct 1/2 QuizAverage.zip (demonstrates use of an array)
Oct 3/4 MultiQuiz.zip (demonstrate multidimensional array)
Oct 3/4 SequentialSearch.zip (sequential search algorithm)
Oct 10/11 OutlineBox.zip (demonstrates functions)
Nov 7/8 NameGame.zip (demonstrates strcpy)
Nov 7/8 ApplePrice.zip (demonstrates snprintf)
Nov 26/27 ScannerDemo.zip (demonstrate java.util.Scanner)
Nov 28/29 PocketChange.zip (demonstrate objects, instance methods in Java)
Dec 10/11 ArrayDemo.zip (demonstrate Java arrays)

Assignments

Assignment File Due
Assignment 1: Coins calculator CS200_Assign1.zip Tuesday, Sept 18th by 11:59 PM
Assignment 2: Barn door program CS200_Assign2.zip Thursday, Sept 27th by 11:59 PM
Assignment 3: Bulls and Cows CS200_Assign3.zip Thursday, Oct 11th by 11:59 PM
Assignment 4: Text adventure game CS200_Assign4.zip Tuesday, Oct 23rd by 11:59 PM
Assignment 5: Planet simulation CS200_Assign5.zip Thursday, Nov 8th by 11:59 PM
Assignment 6: Shoot 'Em Up CS200_Assign6.zip Tuesday, Nov 27th by 11:59 PM
Assignment 7: Java Digit Classes
Updated Dec 10th
CS200_Assign7.zip Tuesday, Dec 11th by 11:59 PM

Labs

Date
Lab
File
Aug 28/29
Lab 1: Hello, CS 200
n/a
Sep 4/5
Lab 2: Integer values
lab2.zip
Sep 10/11 Lab 3: Floating-point imprecision lab3.zip
Sep 10/11 Lab 4: Expensive calculator lab4.zip
Sep 12/13 Lab 5: Series sum lab5.zip
Sep 12/13 Lab 6: Miles per gallon calculator lab6.zip
Sep 17/18 Lab 7: Factorial computation lab7.zip
Sep 17/18 Lab 8: Series sum revisited lab8.zip
Sep 19/20 Lab 9: Bar graph lab9.zip
Sep 19/20 Lab 10: Draw a rectangle lab10.zip
Sep 24/25 Lab 11: Class standing calculator lab11.zip
Sep 24/25 Lab 12: Fancy rectangle lab12.zip
Sep 26/27 Lab 13: Input character classifier lab13.zip
Sep 26/27 Lab 14: Word count lab14.zip
Oct 1/2 Lab 15: Character histogram lab15.zip
Oct 3/4 Lab 16: Reverse a sequence lab16.zip
Oct 10/11 Lab 17: Draw a cone using functions lab17.zip
Oct 17/18 Lab 18: Factorial function lab18.zip
Oct 17/18 Lab 19: More functions, testing lab19.zip
Oct 22/23 Lab 20: Array reversal function lab20.zip
Oct 24/25 Lab 21: Display Hack lab21.zip
Oct 29/30 Lab 22: Animation lab22.zip
Oct 31/Nov 1 Lab 23: File I/O lab23.zip
Nov 5/6 Lab 24: Baby Name Database lab24.zip
Nov 12/13 Lab 25: Bouncing Particles lab25.zip
Nov 14/15 Lab 26: Reverse a sequence using pointers lab26.zip
Nov 26/27 Lab 27: Java rectangles n/a
Nov 28/29 Lab 28: LetterH class n/a