Schedule

MCS-178, Spring 2015

Date Reading Topic LabExamples
2/9Ch 11, HKKIntro
Ch 11.1-11.3 of HKK
Lecture available on Moodle
- add.asm - this program reads in 2 integers, adds them up
2/10--Set up
Running SLIME
Demo
Project 1
2/11Ch 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
2/12--Project 1
2/13Ch 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

2/16Ch 11, HKKCh 11.5 of HKK
Lecture available on Moodle
- rfact.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
writeDigitsStart.asm - writes each digital of a number, version 1
writeDigits.asm - writes each digital of a number, final version
2/17--Project 1
2/18-Catchup
Lecture available on Moodle
-
2/19--Project 1
2/20Ch 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

2/23Ch 1Project 1 due (at the start of class)
Ch 1.2
Lecture available on Moodle
-
2/24--Project 2
2/25Ch 1Ch 1.2 - 1.3
Lecture available on Moodle
- flip.java - Java program Simulating a fair coin flip
coinflips.java - Java program Simulating n coin flips and calculates the fraction of heads
TenHellos.java - Java program printing out "hello" 10 times
2/26--Project 2
2/27Ch 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

3/2Ch 1Ch 1.4
Lecture available on Moodle
- bubble_sort.java - Java program filling an array full of random integers, then do a bubble sort
3/3--Project 2
3/4Ch 1Ch 1.5
Lecture available on Moodle
- Matrix.java - Java program implementing Matrix operations.
3/5--Project 3
3/6-Catchup
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

3/9-Project 2 due (at the start of class)
Test 1 review
Preparation slide available on Moodle
- Topics covered for written test # 1 Topics covered for written test # 1
3/10--Programing Test 1
3/11-Written Test 1 -
3/12--Project 3
3/13Ch 2Ch 2.1
Lecture available on Moodle
- Primes.java - Java program printing all primes up to the number given as the 0th command argument.

3/16Ch 2Ch 2.2 -
3/17--Project 3
3/18Ch 2Ch 2.3
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.
Factorial.java - The "hello world" of recursion; recursively compute N factorial
BinarySearch.java - Implements a binary search
3/19--Project 3
3/20Ch 2 Ch 2.3
Lecture available on Moodle
- TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle

3/23Ch 4Project 3 due (at the start of class)
Ch 4.1
Lecture available on Moodle -
- MergeSort.java - Recursive version of merge sort
Carpet.java - Draw a Sierpinski carpet
3/24--Project 4
3/25Ch 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
3/26--Project 4
3/27notes 9.6 notes
Lecture available on Moodle
-

3/30-Spring Break-
3/31-Spring Break-
4/1-Spring Break-
4/2-Spring Break-
4/3-Spring Break-

4/6-Spring Break-
4/7--Project 4
4/8notes Project 4 due (at the start of class)
Dynamic programing vs Memoization
Lecture available on Moodle
- LCS.java - Solves Longest Common Substring problem using dynamic programming (Max's code, from video 1)
LCS.java (version 2) - Solves Longest Common Substring problem using dynamic programming (the book's code, also from Max's video 2)
Video 1 - Video # 1 of Max live-coding the LCS problem
Video 2 - Video # 2 of Max live-coding the LCS problem (fine-tuning version to a version similar to that in the text book)
4/9--Project 5
4/10notesDynamic programing vs Memoization
Lecture available on Moodle
- Choose.java - Recursively solves binomial coefficient, then solves it using Top Down DP (Memoization) and Bottom Up DP

4/13notesLCS
Lecture available on Moodle
-
4/14--Project 5
4/15notesLCS
Lecture available on Moodle
-
4/16--Project 5
4/17Ch 3 & 4Ch 3.1
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

4/20Ch 3Ch 3.2
Lecture available on Moodle
-
4/21--Project 5
4/22Ch 4Project 5 due (at the start of class)
Ch 4.3
Lecture available on Moodle
-
4/23--Project 6
4/24notesTest 2 review-

4/27-Written Test 2-
4/28--Programing Test 2
4/29notesMethod 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
4/30--Project 6
5/1-Inheritance & Polymorphism
Lecture available on Moodle
- Date.java - class implementing date
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

5/4noteJava Generics
Lecture available on Moodle
- ArrayListExample.java - The ArrayList example
5/5--Project 6
5/6notesJava Generics
Lecture available on Moodle
- Movies.java - My IMDB example
5/7--Project 6
5/8notesSwing, UML and Source Code
Lecture available on Moodle
-

5/11notesProject 6 due (at the start of class)
Land of GACK
Lecture available on Moodle
-
5/12--Project 7
5/13--Project 7
5/14--Project 7
5/15--Project 7

5/18--Project 7
5/19--Project 7
5/20-Project 7 due (at the start of class)
Review/Evaluations
-