**Note:** This web site will be modified as the
semester progresses. You are responsible for all the updates made here, so please check this page often.

- **August 20th, 2014:** the course page is up and running.

- The lecture notes and corresponding examples will be posted a few hours before the lecture.
- All the projects are available now.
- Test1/Test2/Final exam preparation notes will be posted two weeks before the tests/exam

- Course Information
- Syllabus/Schedule/Archive
- Instructor Information/Availability
- Useful Links
- Moodle @ Gustavus
- A Tutorial on Running SLIME on the Lab Computers, available on Moodle
- The (a little too long) Guide for Submitting Your Projects
- The Guide for Checking Your Grades Using Moodle
- Textbook's website
- Textbook's stdlib
- Textbook's Java code
- COS 126 ftp site
- Java 7 API
- Concrete Abstractions
- Installing Java and Eclipse on Your Own Computer
- SLIME
- Unix Tutorial

- Projects
- Lecture Notes (will be available on Moodle)
- Lecture 1 available on Moodle
- Lecture 2 available on Moodle
- Lecture 3 available on Moodle
- Lecture 4 available on Moodle
- Lecture 5 available on Moodle
- Lecture 6 available on Moodle
- Lecture 7 available on Moodle
- Lecture 8 available on Moodle
- Lecture 9 available on Moodle
- Lecture 10 available on Moodle
- Lecture 11 available on Moodle
- Lecture 12 available on Moodle
- Lecture 13 available on Moodle
- Lecture 14 available on Moodle
- Lecture 15 available on Moodle
- Lecture 16 available on Moodle
- Lecture 17 available on Moodle
- Lecture 18 available on Moodle
- Lecture 19 available on Moodle
- Lecture 20 available on Moodle
- Lecture 21 available on Moodle
- Lecture 22 available on Moodle
- Lecture 23 available on Moodle
- Lecture 24 available on Moodle
- Lecture 25 available on Moodle
- Lecture 26 available on Moodle
- Lecture 27 available on Moodle
- Lecture 28 available on Moodle
- Lecture 29 available on Moodle
- Lecture 30 available on Moodle
- Lecture 31 available on Moodle

- Examples covered in class
- add.asm - this program reads in 2 integers, adds them up
- 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
- 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
- HelloWorld.java - your very first Java program
- UseArgument.java - Java program that takes in user arguments
- IntOps.java - Java program illustrating integer operations
- 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
- bubble_sort.java - Java program filling an array full of random integers, then do a bubble sort.
- 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
- 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
- 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
- TowerOfHanoi.java - Solves the "tower of Hanoi" puzzle
- MergeSort.java - Recursive version of merge sort
- Carpet.java - Draw a Sierpinski carpet
- Fibonacci.java - Recursively solves the Fibonacci sequence, then solves it using Top Down DP (Memoization) and Bottom Up DP
- Choose.java - Recursively solves binomial coefficient, then solves it using Top Down DP (Memoization) and Bottom Up DP
- LCS1.java - Solves Longest Common Substring problem using dynamic programming
- Charge.java - The instance class implement a Charge
- ChargeClient.java - The client class using Charge
- IntegerStack.java - Class implementing integer stack
- 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
- Movies.java - My IMDB example

- Topics covered for written test # 1
- Test 1 preparation notes available on Moodle

-Lou |