Schedule

MCS-178, Spring 2018

Date Reading Topic LabExamples
2/12Ch 11, HKKIntro
Ch 11.1-11.3 of HKK
Lecture 1 (and lab 1) available on Moodle
- add.asm - this program reads in 2 integers, adds them up
smaller.asm - this program reads in 2 integers, then prints the smaller number
2/13--Set up
Running SLIME
Demo
Project 1
-
2/14Ch 11, HKKCh 11.3 - 1.4 of HKK
Lecture 2 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
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/15--Project 1-
2/16Ch 11, HKKCh 11.4 of HKK
Lecture 3 available on Moodle
--

2/19Ch 11, HKKCh 11.5 of HKK
Lecture 4 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/20--Project 1-
2/21Ch 1Ch 1.1
Lecture 5 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/22--Project 1-
2/23Ch 1Ch 1.2
Lecture 6 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
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

2/26Ch 1Project 1 due (at the start of class)
Ch 1.2 - 1.3
Lecture 7 available on Moodle
--
2/27--Project 2-
2/28---Project 2
(special arrangement due to professor Yu being in Japan)
3/1--Project 2-
3/2---Project 2
(special arrangement due to professor Yu being in Japan)

3/5Ch 1Ch 1.3
Lecture 8 available on Moodle
- bubble_sort.java - Java program filling an array full of random integers, then do a bubble sort.
3/6Ch 1-Labs canceled (due to snow)-
3/7Ch 1Ch 1.4
Lecture 9 available on Moodle
--
3/8--Ch 1.5
Lecture 10 available on Moodle
(Special arrangement)
3/9Ch 1Catch up
Lecture 11 available on Moodle
- Matrix.java - Java program implementing Matrix operations.
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/12Ch 2Project 2 due (at the start of class)
Ch 2.1
Lecture 12 available on Moodle
--
3/13--Project 3-
3/14Ch 2Ch 2.2
Lecture 13 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.
3/15--Project 3-
3/16-Test 1 review
Topics covered for written test # 1
Test 1 preparation slides available on Moodle
--

3/19-Written Test 1 --
3/20--Programing Test 1
3/21Ch 2Ch 2.3
Lecture 14 available on Moodle
- Factorial.java - A class implementing the recursive version of factorial.
3/22--Project 3-
3/23Ch 2 Ch 2.3
Lecture 15 available on Moodle
- Factorial.java - A class implementing the recursive version of factorial.
binarySearchTemplate.java - the template for binary search, for in-class exercise.
binarySearch.java - the solution for binary search.

3/26Ch 4Ch 4.1
Lecture 16 available on Moodle
- Carpet_starter.java - Starter file to draw a Sierpinski carpet
Carpet.java - Draw a Sierpinski carpet, solution
3/27--Project 3
3/28Ch 4 & notesProject 3 due (at the start of class)
Ch 4.1 & 9.6 notes
Lecture 16 available on Moodle
--
3/29--Project 4 -
3/30-Spring Break--

4/2-Spring Break--
4/3-Spring Break--
4/4-Spring Break--
4/5-Spring Break--
4/6-Spring Break--

4/9notes9.6 notes
Lecture 18 available on Moodle
- TowerOfHanoi_starter.java - Starter file to solves the "tower of Hanoi" puzzle
MergeSort.java - Recursive version of merge sort
TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle, solution
Fibonacci.java - Recursively solves the Fibonacci sequence, then solves it using Top Down DP (Memoization) and Bottom Up DP
4/10--Project 4 -
4/11notes Project 4 due (at the start of class)
Dynamic programing vs Memoization
Lecture 19 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/12--Project 5 -
4/13notesDynamic programing vs Memoization
Lecture 20 available on Moodle
--

4/16notesLCS
Lecture 21 available on Moodle
- Choose.java - Recursively solves binomial coefficient, then solves it using Top Down DP (Memoization) and Bottom Up DP
4/17--Project 5
4/18notes LCS
Lecture 22 available on Moodle
-
4/19--Project 5
4/20Ch 3 & 4Ch 3.1
Lecture 23 available on Moodle
--

4/23Ch 3Ch 3.2
Lecture 24 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/24--Project 5 -
4/25Ch 4Project 5 due (at the start of class)
Ch 4.3
Lecture 25 available on Moodle
--
4/26--Project 6
4/27notesTest 2 review--

4/30-Written Test 2--
5/1--Programing Test 2-
5/2notesMethod Overloading & Interfaces
Lecture 26 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
5/3--Project 6 -
5/4-Inheritance & Polymorphism
Lecture 27 available on Moodle
--

5/7noteJava Generics
Lecture 28 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
5/8--Project 6 -
5/9notesJava Generics

Lecture 29 available on Moodle
- ArrayListExample.java - The ArrayList example
5/10--Project 6 -
5/11notesSwing, UML and Source Code
Lecture 30 available on Moodle
-The structure example we had been working on is available on Moodle

5/14notesProject 6 due (at the start of class)
Land of GACK
Lecture 31 available on Moodle
--
5/15--Project 7 -
5/16-Catch up
Lecture 31 available on Moodle
--
5/17--Project 7 -
5/18--Project 7 -

5/21-Final exam practice questions are available on Moodle Project 7 -
5/22--Project 7 -
5/23-Project 7 due (by 4pm no late projects will be accepted!!)
Finishing up Project 7
--