Lecture 4 Lecture notes and files

Here I will try to post the most important ideas from each lecture.  Not all ideas will be posted here.  I'll also try to include useful sample files and examples.

Week 1 1/22-1/25
Wednesday

Friday
The drawing that only takes a few turtle commands to create is here

Week 2 1/28-2/1 
An outline of Chapter 2 by Aneesh is here
Monday

Wednesday

Friday
The compiler challenge (corrected) is found here.  The answers are here.


Week 3 2/4-2/8
Aneesh's outline of Chapter 3 is found here
    Monday
The class we designed today is here: Team.java
Here is another class Human.java and the associated javadoc
The general syntax for a class is here from Rebecca Hasti
An annotated example class is found here from Will

    Wednesday
The object practice with the Team class is here
Another explanation of the three types of variables is here from Will
Another explanation of primitive vs. reference is found here

        Constructing classes, declaring and writing methods, declaring instance fields



Friday
Here is a code tracing challenge and the solution from Andrew.
Here's another challenge and another solution from Andrew.

Week 4 2/11-2/15
    Monday
Here is the annotated solution to the in-class Team code-tracing challenge

    Wednesday


    Friday

Week 5 2/18-2/22
    Monday

    Wednesday

    Friday

Week 6 2/25-2/29

Monday
Here is Bus.java and BusApp.java as well which we covered in class.

Wednesday
We worked with the recursive Node class.

Friday

Week 7 3/3-3/7

Monday

Wednesday
Here is the (fixed) LoopExamples class with the poorly named methods.  Here is the explanation of the methods.
Here's a summary of java syntax for loops, if-else statements and switch statement
Here's the chart that shows the right structure to use to get it to run a certain number of times.

Friday

Week 8: 3/10-3/14

Monday
Here's the Tabloid headline generator we discussed
Here's a list of generated headlines

Wednesday
Here's the array error practice
Here's the array error answers

Friday


Week 9: 3/24-3/28

Monday
Common array algorithms, array practice
ArrayList (CAN'T USE THESE FOR EXAMS)

Wednesday
Growing and shrinking arrays

Friday
2D arrays and higher


Week 10: 3/31-4/4 
Monday
Designing classes, software life cycle, organizing classes, cohesion and coupling

Wednesday
More static, more scope, regular expressions

Friday
accessors, mutators and side effects.  Pass by value vs reference


Last updated 3-12-2008