Date | Reading | Topic | Lab | Examples |
2/9 | Ch 11, HKK | Intro 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/11 | Ch 11, HKK | Ch 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/13 | Ch 11, HKK | Ch 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/16 | Ch 11, HKK | Ch 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/20 | Ch 1 | Ch 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/23 | Ch 1 | Project 1 due (at the start of class) Ch 1.2 Lecture available on Moodle | - | |
2/24 | - | - | Project 2 | |
2/25 | Ch 1 | Ch 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/27 | Ch 1 | Ch 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/2 | Ch 1 | Ch 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/4 | Ch 1 | Ch 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/13 | Ch 2 | Ch 2.1 Lecture available on Moodle | - | Primes.java - Java program printing all primes up to the number given as the 0th command argument. |
3/16 | Ch 2 | Ch 2.2 | - | |
3/17 | - | - | Project 3 | |
3/18 | Ch 2 | Ch 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/20 | Ch 2 | Ch 2.3 Lecture available on Moodle | - | TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle |
3/23 | Ch 4 | Project 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/25 | Ch 4 & notes | Ch 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/27 | notes | 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/8 | notes | 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/10 | notes | Dynamic 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/13 | notes | LCS Lecture available on Moodle | - | |
4/14 | - | - | Project 5 | |
4/15 | notes | LCS Lecture available on Moodle | - | |
4/16 | - | - | Project 5 | |
4/17 | Ch 3 & 4 | Ch 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/20 | Ch 3 | Ch 3.2 Lecture available on Moodle | - | |
4/21 | - | - | Project 5 | |
4/22 | Ch 4 | Project 5 due (at the start of class) Ch 4.3 Lecture available on Moodle | - | |
4/23 | - | - | Project 6 | |
4/24 | notes | Test 2 review | - | |
4/27 | - | Written Test 2 | - | |
4/28 | - | - | Programing Test 2 | |
4/29 | notes | Method 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/4 | note | Java Generics Lecture available on Moodle | - | ArrayListExample.java - The ArrayList example |
5/5 | - | - | Project 6 | |
5/6 | notes | Java Generics Lecture available on Moodle | - | Movies.java - My IMDB example |
5/7 | - | - | Project 6 | |
5/8 | notes | Swing, UML and Source Code Lecture available on Moodle | - | |
5/11 | notes | Project 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 | - |