Schedule

MCS-178, Fall 2014

Date Reading Topic LabExamples
9/2--In lab: set up
running SLIME
Ch 11.1-11.3 of HKK
9/3Ch 11, HKKIntro
Ch 11.1-11.3 of HKK
Lecture available on Moodle
- add.asm - this program reads in 2 integers, adds them up
9/4--Project 1
9/5Ch 11, HKKCh 11.3 - 1.4 of HKK
Lecture available on Moodle
- smaller.asm - this program reads in 2 integers, then prints the smaller number
sum1ton.asm - this program reads in a positive integer n and prints out the sum

9/8Ch 11, HKKCh 11.4 of HKK
Lecture available on Moodle
- range.asm - read in two numbers then print all integers between the two numbers inclusive
fact.asm - computes the factorial from 1 up to a user input number, the iterative version
9/9--Project 1
9/10Ch 11, HKKCh 11.5 of HKK
Lecture available on Moodle
- fact.asm - computes the factorial from 1 up to a user input number, the recursive version
sumDigits.asm - sums the digits of a number, the recursive version
9/11--Project 1
9/12Ch 11, HKKCatchup- writeDigitsStart.asm - writes each digital of a number, version 1
writeDigits.asm - writes each digital of a number, final version

9/15Ch 1Ch 1.1
Lecture available on Moodle
- HelloWorld.java - your very first Java program
UseArgument.java - Java program that takes in user arguments
IntOps.java - Java program illustrating integer operations
9/16--Project 1
(if you finished Project 1, move onto Project 2)
9/17Ch 1Project 1 due (at the start of class)
Ch 1.2
Lecture available on Moodle
-
9/18--Project 2
9/19Ch 1Ch 1.2 - 1.3
Lecture available on Moodle
- flip.java - Java program Simulating a fair coin flip
TenHellos.java - Java program printing out "hello" 10 times
coinflips.java - Java program Simulating n coin flips and calculates the fraction of heads

9/22Ch 1Ch 1.3
Lecture available on Moodle
- n_coinflips.java - Java program Simulating multiple person, each doing n coin flips
PrintDate.java - Java program printing days, month, year, demonstrating switch statements
Prime.java - Java program taking a command-line argument N and prints out true if N is prime, and false otherwise
Prime.java - Prime.java rewritten in different loop constructs
Primes.java - Java program printing all primes <= the number given as the 0th command argument.
9/23--Project 2
9/24Ch 1Ch 1.4
Lecture available on Moodle
- bubble_sort.java - Java program filling an array full of random integers, then do a bubble sort.
9/25--Project 2
9/26Ch 1Ch 1.4 - 1.5
Lecture available on Moodle
- Matrix.java - Java program implementing Matrix operations.

9/29Ch 1Project 2 due (at the start of class)
Ch 1.5
Lecture available on Moodle
- Average.java - Java program reads in a sequence of real numbers, and computes their average; demonstrating StdIn
BouncingBall.java - Java program implementing a 2-d bouncing ball, demonstrating StdDraw
9/30--Project 3
10/1Ch 2Ch 2.1
Lecture available on Moodle
- Primes.java - Java program printing all primes up to the number given as the 0th command argument.
bubbleSort_b.java - Java program implementing a bubble sort, using static methods
10/2--Project 3
10/3Ch 2Ch 2.2
Lecture available on Moodle
- Sierpinski.java - Play chaos game on triangle to produce Sierpinski triangle
Carpet.java - Draws the Sierpinski Carpet using the Chaos Game Method
CheckerBoard.java - Write a program that takes a command-line argument N and plots an N-by-N checkeroard with red and black squares.

10/6-Test 1 review
Topics covered for written test # 1
Test 1 preparation notes available on Moodle
-
10/7--No lab (Nobel Conference)
Office hour (midterm Q&A) 4pm - 6pm
10/8-No class (Nobel Conference)
Office hour (midterm Q&A) 4pm - 6pm
-
10/9--Programing Test 1
10/10- Written Test 1 --

10/13Ch 2Ch 2.3
Lecture available on Moodle
- Factorial.java - The "hello world" of recursion; recursively compute N factorial
BinarySearch.java - Implements a binary search
TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle
10/14--Project 3
10/15Ch 2Ch 2.3
Lecture available on Moodle
- MergeSort.java - Recursive version of merge sort
10/16--Project 3
10/17Ch 4 Project 3 due (at the start of class)
Ch 4.1
Lecture available on Moodle
- Carpet.java - Draw a Sierpinski carpet
RecursiveGraphics.java - Draws another recursive carpet

10/20-Reading day-
10/21-Reading day-
10/22Ch 4 & notesCh 4.1 & 9.6 notes
Lecture available on Moodle
- Fibonacci.java - Recursively solves the Fibonacci sequence, then solves it using Top Down DP (Memoization) and Bottom Up DP
10/23--Project 4
10/24notes 9.6 notes
Lecture available on
Moodle
- Choose.java - Recursively solves binomial coefficient, then solves it using Top Down DP (Memoization) and Bottom Up DP

10/27notes Dynamic programing vs Memoization
Lecture available on Moodle
-
10/28--Project 4
10/29notes Dynamic programing vs Memoization
Lecture available on Moodle
- LCS1.java - Solves Longest Common Substring problem using dynamic programming
10/30--Project 4
10/31notesLCS
Lecture available on Moodle
-

11/3notesProject 4 due (at the start of class)
LCS
Lecture available on Moodle
-
11/4--Project 5
11/5Ch 3 & 4Ch 3.1
Lecture available on Moodle
-
11/6--Project 5
11/7Ch 3Ch 3.2
Lecture available on Moodle
- Charge.java - The instance class implement a Charge
ChargeClient.java - The client class using Charge
IntegerStack.java - Class implementing integer stack

11/10Ch 4Ch 4.3
Lecture available on Moodle
-
11/11--Project 5
11/12notesMethod Overloading & Interfaces
Lecture available on Moodle
- Employee.java - Super class implementing employee
HourlyEmployee.java - Sub class implementing hourly employee
SalariedEmployee.java - Sub class implementing salaried employee
Date.java - class implementing date
11/13--Project 5
11/14notesInheritance & Polymorphism
Lecture available on Moodle
- IntegerArrayStack.java - A derived class of the IntegerStack class
Drawable.java - Interface drawable
Circle.java - Circle class extends interface drawable
Square.java - Square class extends interface drawable
TestDraw.java - Draw using Circle class and Square class

11/17notesProject 5 due (at the start of class)
Generics
-
11/18--Project 6
11/19notesGenerics
Lecture available on Moodle
- ArrayListExample.java - The ArrayList example
Movies.java - My IMDB example
11/20--Project 6
11/21-Test 2 review-

11/24-Written Test 2-
11/25--Programing Test 2
11/26-No class (Thanksgiving break)-
11/27-No class (Thanksgiving break)-
11/28-No class (Thanksgiving break)-

12/1notesSwing, UML and Source Code
Lecture available on Moodle
-
12/2--Project 6
12/3notesProject 6 due (at the start of class)
Land of GACK
Lecture available on Moodle
-
12/4--Project 7
12/5Ch 11Project 7 -

12/8--Project 7
12/9--Project 7
12/10--Project 7
12/11--Project 7
12/12-Project 7 due (at the start of class)
Review/Evaluations
-