CS 106, Spring 2012


 
Matthew E. Taylor (Matt)
taylorm@lafayette.edu
AEC 522
 
Syllabus: Spring 2012

Some potentially useful Links:
If you'd like to purchase your own Bluetooth adapter, search for "Bluetooth USB 2.0 Micro Adapter Dongle" on Amazon, and it's the first choice for ~$2.00.
Scribbler 1



Detailed Schedule
Date
Topic
Reading
Assignment
1/23 (Monday) First day of class    
  Lab Lab 0: Setting up your robot    
1/25 Simple data types, algebra, scope read: tutorial 0
read pages 2-7, skim 8-17 in chapter 1
 
  Lab Lab 1    
1/27 Creating methods, using variables
SimpleCircle.java
   
1/30 (Monday) Slides and code Skim the remainder of Chapter 1, read Chapter 2  
  Lab Lab 1, continued    
2/1 The "if" statement    
  Lab Lab 1, continued    
2/3 Slides, Code  Read chapter 3, up through page 63 Lab 1 due on 2/3 via Moodle at 11:59pm
2/6 (Monday) Slides Read the remainder of chapter 3  
  Lab Lab 2    
2/8 Slides    
  Lab Lab 2, continued    
2/10 Slides and code Read chapter 4, up through p. 86, proposed solution to pratice problem  
2/13 (Monday) Slides and pratice problem    
  Lab Lab 3   Lab 2 Due
2/15 Slides Finish reading chapter 4, solution to Monday pratice problem  
No Wed/Thu lab this week    
2/17 No class Friday (Study for Monday exam)    
2/20 (Monday) Review for midterm    
  Lab
Midterm 1
   
2/22 Slides    
  Lab Project 1    
2/24 Go over midterm answers Read chapter 5 (most of it will be review) Lab 3 due by 11:59 pm
2/27 (Monday) Slides    
  Lab Project 1 (continued)    
2/29 Slides Read half of chapter 6  
  Lab Lab 4    
3/2 Slides Finish chapter 6  
3/5 (Monday) Slides Read and the 6 linked pages for a review/overview of OOP concepts.
Additional (optional) reading on interfaces: Here. (The 4 questions and exercise 1 are worth looking at.)
 
  Lab 4 / Project 1 (continued)      
3/7      
  Lab 4 / Project 1 (continued)      
3/9 10AM and 11AM code   Lab 4 and Project 1 due by 11:59pm
Spring Break
3/19 Improve upon the end point of our group code for
shooting a ball (last used on 3/9)
   
  Lab 5 Work on last year's lab exam.
    You may work in groups if you'd like
    In part 1, first get Magic.java compiling without
    using objectdraw or java.awt (instead, import Myro.*)
    Skip parts 2 and 4.
   
3/21 Continue working in groups, but with more structure
Answer
   
  Lab 5 (Continued)      
3/23 Slides   Lab 5 due by 11:59pm. Part 1, required. Part 3: Extra Credit.
3/26 and 3/27
Midterm 2: Lab Exam (during lab period)
Monday & Tuesday
   
3/28 Start Lab 6    
3/29 Pratice with Arrays: Possible solutions
Slides
   
4/2 (Monday) Slides Read chapter 8  
  Lab 6, continued      
4/4 Stanley parking: short
Autonomous intersection management (AIM)
Read about arrays  
  Lab 6 (continued -- updated)      
4/6 Pratice with images: MyroPicture.java cat.jpg
Possible solutions: here
   
4/9 (Monday) Guest Lecture: Sorting    
  Lab Lab 7 java file   Lab 6 due by start of your lab section (1:15pm)
4/11 Sorting
slides
Read Chapter 9  
  Lab Lab 7 (continued)    
4/13 Sorting worksheet    
4/16 Recursion Slides    
  Lab Lab 7 (continued)    
4/18 Recursion #2 Reference on recursion (optional reading)
There's also a video from Stanford on the topic, although C++ is used instead of Java.
Website with pratice problems (particularly good for recursion pratice)
 
  Lab Lab 8   Lab 7 due by start of W/Th lab
4/20 Recursion #3    
4/23 Simple AI (Reactive vs. Planning Robots)    
  Lab Lab 8 (Continued)    
4/25 AI: Search    
  Lab Project 2 / Lab 8  
4/27 AI: Genetic Algorithms   Lab 8 due by 11:59pm on Friday 4/27
4/30 Strings (Overview)    
5/2 Streams    
5/4 End of Class    
...
May 12 (Saturday)
Final: 8-11am
  Project 2 due by 11:59pm