Date | Reading | Topic | Lab | Examples |
9/8 | - | - | In lab: set up running SLIME Ch 11.1-11.3 of HKK Tutorial on running SLIME is available on Moodle | |
9/9 | Ch 11, HKK | Intro Ch 11.1-11.3 of HKK Lecture notes available on Moodle | add.asm - this program reads in 2 integers, adds them up | |
9/10 | - | - | Project 1 | |
9/11 | Ch 11, HKK | Ch 11.3 - 1.4 of HKK Lecture notes available on Moodle | - | smaller.asm - this program reads in 2 integers, then prints the smaller number |
9/14 | Ch 11, HKK | Ch 11.4 of HKK Lecture notes available on Moodle | - | sum1ton.asm - this program reads in a positive integer n and prints out the sum 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/15 | - | - | Project 1 | |
9/16 | Ch 11, HKK | Ch 11.5 of HKK Lecture notes 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 |
9/17 | - | - | Project 1 | |
9/18 | Ch 11, HKK | Catchup Lecture notes available on Moodle | - | |
9/21 | Ch 1 | Ch 1.1 Lecture notes 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/22 | - | - | Project 1 (if you finished Project 1, move onto Project 2) | |
9/23 | Ch 1 | Project 1 due (at the start of class) Ch 1.2 Lecture notes available on Moodle | - | flip.java - Java program Simulating a fair coin flip |
9/24 | - | - | Project 2 | |
9/25 | Ch 1 | Ch 1.2 - 1.3 Lecture notes available on Moodle | - | coinflips.java - Java program Simulating n coin flips and calculates the fraction of heads
TenHellos.java - Java program printing out "hello" 10 times |
9/28 | Ch 1 | Ch 1.3 Lecture notes 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 |
9/29 | - | - | Project 2 | |
9/30 | Ch 1 | Ch 1.4 Lecture notes available on Moodle | - | bubble_sort.java - Java program filling an array full of random integers, then do a bubble sort. |
10/1 | - | - | Project 2 | |
10/2 | Ch 1 | Ch 1.5 Lecture notes available on Moodle | - | Matrix.java - Java program implementing Matrix operations. |
10/5 | Ch 2 | Project 2 due (at the start of class) Ch 2.1 Lecture notes 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 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/6 | - | - | No lab (Nobel Conference) | |
10/7 | - | No class (Nobel Conference) | - | |
10/8 | - | - | Project 3 | |
10/9 | - | Test 1 review Test 1 preparation slides available on Moodle | - | |
10/12 | - | Written Test 1 Topics covered for written test # 1 | - | |
10/13 | - | - | Programing Test 1 | |
10/14 | Ch 2 | Ch 2.2 Lecture notes available on Moodle | - | |
10/15 | - | - | Project 3 | |
10/16 | Ch 2 | Ch 2.3 Lecture notes 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 |
10/19 | Ch 2 | Ch 2.3 Lecture notes available on Moodle | - | BinarySearch.java - Implements a binary search |
10/20 | - | - | Project 3 | |
10/21 | Ch 4 | Ch 4.1 Lecture notes available on Moodle | - | TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle
MergeSort.java - Recursive version of merge sort Carpet.java - Draw a Sierpinski carpet |
10/22 | - | - | Project 3 | |
10/23 | Ch 4 & notes | Ch 4.1 & 9.6 notes | - | |
10/26 | - | Fall break | - | |
10/27 | - | Fall break | - | |
10/28 | notes | Project 3 due (at the start of class) 9.6 notes Lecture notes available on Moodle | - | Fibonacci.java - Recursively solves the Fibonacci sequence, then solves it using Top Down DP (Memoization) and Bottom Up DP |
10/29 | - | - | Project 4 | |
10/30 | notes | Dynamic programing vs Memoization Lecture notes available on Moodle | - | |
11/2 | notes | Dynamic programing vs Memoization Lecture notes available on Moodle | - | Choose.java - Recursively solves binomial coefficient, then solves it using Top Down DP (Memoization) and Bottom Up DP |
11/3 | - | - | Project 4 | |
11/4 | notes | LCS Lecture notes 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) Choose.java - Recursively solves binomial coefficient, then solves it using Top down DP (Memoization) and Bottom Up DP |
11/5 | - | - | Project 4 | |
11/6 | notes | LCS Lecture notes available on Moodle | - | |
11/9 | Ch 3 & 4 | Project 4 due (at the start of class) Ch 3.1 Lecture notes available on Moodle | - | |
11/10 | - | - | Project 5 | |
11/11 | Ch 3 | Ch 3.2 Lecture notes available on Moodle | - | |
11/12 | - | - | Project 5 | |
11/13 | Ch 4 | Ch 4.3 Lecture notes available on Moodle | - | IntegerStack.java - Class implementing integer stack |
11/16 | notes | Method Overloading & Interfaces Lecture notes available on Moodle | - | |
11/17 | - | - | Project 5 | |
11/18 | notes | Inheritance & Polymorphism Lecture notes 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 IntegerArrayStack.java - A derived class of the IntegerStack class |
11/19 | - | - | Project 5 | |
11/20 | - | Test 2 review | - | |
11/23 | notes | Project 5 due (at the start of class) Written Test 2 | - | |
11/24 | - | - | Programing Test 2 | |
11/25 | - | No class (Thanksgiving break) | - | |
11/26 | - | - | No lab (Thanksgiving break) | |
11/27 | - | No class (Thanksgiving break) | - | |
11/30 | notes | Java Generics Lecture notes available on Moodle | - |
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 |
12/1 | - | - | Project 6 | |
12/2 | notes | Swing, UML and Source Code Land of GACK Lecture notes available on Moodle | - | ArrayListExample.java - The ArrayList example
Movies.java - My IMDB example |
12/3 | - | - | Project 6 | |
12/4 | notes | Work on Project 6 | - | |
12/7 | - | Work on Project 6 | - | |
12/8 | - | - | Project 7 | |
12/9 | notes | Project 6 due (at the start of class) Work on Project 7 | - | |
12/10 | - | - | Project 7 | |
12/11 | Ch 11 | Work on Project 7 | - | |
12/14 | - | Work on Project 7 Review/Evaluations Final review sheet available on Moodle | ||
12/15 | - | Project 7 due by midnight (no late project will be accepted!) | Project 7 |