Schedule

MCS-178, Fall 2017

Date Reading Topic LabExamples
9/5--In lab: set up
running SLIME
Ch 11.1-11.3 of HKK
Tutorial on running SLIME is available on Moodle
-
9/6Ch 11, HKKIntro
Ch 11.1-11.3 of HKK
Lecture notes available on Moodle
- add.asm - this program reads in 2 integers, adds them up
9/7--Project 1-
9/8Ch 11, HKKCh 11.3 - 1.4 of HKK
Lecture notes 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/11Ch 11, HKKCh 11.4 of HKK
Lecture notes 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/12--Project 1-
9/13Ch 11, HKKCh 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/14--Project 1 -
9/15Ch 11, HKKCatchup
Lecture notes available on Moodle
- HelloWorld.java - your very first Java program
UseArgument.java - Java program that takes in user arguments

9/18Ch 1Ch 1.1
Lecture notes available on Moodle
- IntOps.java - Java program illustrating integer operations
9/19--Project 1
(if you finished Project 1, move onto Project 2)
-
9/20Ch 1Project 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/21--Project 2-
9/22Ch 1Ch 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/25Ch 1Ch 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/26--Project 2-
9/27Ch 1Ch 1.4
Lecture notes available on Moodle
- bubble_sort.java - Java program filling an array full of random integers, then do a bubble sort.
9/28--Project 2-
9/29Ch 1Ch 1.5
Lecture notes available on Moodle
--

10/2Ch 2Project 2 due (at the start of class)
Ch 2.1
Lecture notes 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
10/3--No lab (Nobel Conference)
-
10/4-No class (Nobel Conference)
--
10/5--Project 3-
10/6-Test 1 review
Test 1 preparation slides available on Moodle
Test 1 topics are available here
--

10/9-Written Test 1
--
10/10--Programing Test 1-
10/11Ch 2Ch 2.2
Lecture notes available on Moodle
--
10/12--Project 3-
10/13Ch 2Ch 2.3
Lecture notes available on Moodle
--

10/16Ch 2Ch 2.3
Lecture notes available on Moodle
- Factorial.java - A class implementing the recursive version of factorial.
BinarySearch.java - Implements a binary search
10/17--Project 3-
10/18Ch 4Ch 4.1
Lecture notes 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.
10/19--Project 3-
10/20Ch 4 & notesCh 4.1 & 9.6 notes
Lecture notes available on
Moodle
- Carpet_starter.java - Starter file to draw a Sierpinski carpet, solution
Carpet.java - Draw a Sierpinski carpet, solution

10/23-Fall break--
10/24-Fall break--
10/25notesProject 3 due (at the start of class)
9.6 notes
Lecture notes available on Moodle
- Carpet_starter.java - Starter file to draw a Sierpinski carpet, solution
Carpet.java - Draw a Sierpinski carpet, solution
TowerOfHanoi_starter.java - Starter file to solves the "tower of Hanoi" puzzle
TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle, solution
MergeSort.java - Recursive version of merge sort
10/26--Project 4 -
10/27notes Dynamic programing vs Memoization
Lecture notes available on Moodle
- Fibonacci.java - Recursively solves the Fibonacci sequence, then solves it using Top Down DP (Memoization) and Bottom Up DP
  • 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

  • 10/30notes Dynamic programing vs Memoization
    Lecture notes available on Moodle
    --
    10/31--Project 4 -
    11/1notes 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/2--Project 4 -
    11/3notesLCS
    Lecture notes available on Moodle
    --

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

    11/13notesMethod Overloading & Interfaces
    Lecture notes available on Moodle
    --
    11/14--Project 5 -
    11/15notesInheritance & 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/16--Project 5 -
    11/17-Test 2 review
    Test 2 topics and practice questions are available on Moodle
    --

    11/20notesProject 5 due (at the start of class)
    Written Test 2
    --
    11/21--Programing Test 2-
    11/22-No class (Thanksgiving break)--
    11/23--No lab (Thanksgiving break)-
    11/24-No class (Thanksgiving break)--

    11/27notesJava Generics
    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
    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
    ArrayListExample.java - The ArrayList example
    11/28--Project 6 -
    11/29notesCatch up
    Lecture notes available on Moodle
    - -
    11/30--Project 6 -
    12/1notesWork on Project 6 --

    12/4- Swing, UML and Source Code
    Land of GACK
    Lecture notes available on Moodle
    --
    12/5---Project 6
    12/6notesProject 6 due (at the start of class)
    Work on Project 7
    --
    12/7--Project 7 -
    12/8Ch 11Work on Project 7 -

    12/11-Work on Project 7 --
    12/12--Project 7 -
    12/13- Work on Project 7
    Project 7 due before midnight tonight(12/13) No late submission of Project 7 will be accepted!!
    Final Exam Review Sheet is available on Moodle
    --