CS111 Summer Session 2, 2010
This is a tentative schedule, subject to adjustment as the term evolves.
The official version is the one posted to http://www.cs.bu.edu/courses/cs111/.
Check often for updates, examples, assignments, labs, etc.
Date Topics Readings Examples Assignment
MON 6/28 Course overview
Introduction: computers, programming, Java
Lab 0: Set up lab accounts
1.1
MON 6/28 Lab 1: Intro to DrJava HW1: Standard Output (due 7/1)
TUE 6/29 Introduction to Java programming
Procedural decomposition
Simple input and output
Binary numbers
Primitive data types and variables
1.2, 1.3, 1.4 HelloWorld.java
DataTypesAndVariables.java
ProceduralDecomposition.java
THU 7/1 Arithmetic and Math
2.1, 2.2 DataTypesAndVariables.java
Arithmetic.java
FormattedOutput.java
THU 7/1 Lab 2: Variables, input and arithmetic HW2: Computing with Numbers (due 7/6)
Date Topics Readings Examples Assignment
MON 7/5 BU HOLIDAY - NO LECTURE OR LAB
TUE 7/6 Repetition with definite loop
QUIZ 1
2.3 BottlesOfBeer.java
DefineLoops.java
AccumulatorPattern.java
Factorial.java
TUE 7/6 Lab 2b: Definite loop HW2: Computing with Numbers (due 7/8)
THU 7/8 Overview of vector graphics
Using the Java Graphics API
3G.1, 3G.2 Drawing.java [some starter code]
Drawing.java [example from class]
HigherMath.java
InputRevisited.java
THU 7/8 Lab 3: Using classes from the API (Graphics) HW 3: Using the Graphics API (due 7/13)
FRI 7/9 Catch up date
Date Topics Readings Examples Assignment
MON 7/12 Using objects from the Java API
Text processing
QUIZ 2
3.1, 3.2, 3.3, 3.4 TextProcessing.java
MON 7/12 Lab 4: Using Objects from the API HW4: Text processing (due 7/15)
TUE 7/13 Conditional execution
Selection: some special cases
4.1, 4.2, 4.3 LogicalExpressions.java
DecisionMaking.java
MinOf3Ints.java
ComparingFloatingPoint.java
ComparingObjects.java
THU 7/15 Repetition with indefinite loop 5.1, 5.2, 5.3, 5.4 Average1.java
Average2.java
Average3.java
Average4.java
YesOrNo.java
BusyLoop.java
THU 7/15 Lab 5: Repetition HW5: Repetition (due 7/19)
Date Topics Readings Examples Assignment
MON 7/19 QUIZ 3
Arrays
7.1, 7.2, 7.3, 7.4 IntroArrays.java
Average5.java
MON 7/19 Lab 6: Arrays HW 6: Arrays (due 7/22)
TUE 7/20 Arrays (cont.)
Recursion (overview and discussion)
ReadFromFile.java
CharacterCounts.java
THU 7/22 Recursion 12.1, 12.2 RecursionExamples.java
PalindromeChecker.java
THU 7/22 Lab 7: Recursion HW 7: Recursion (due 7/26)
Date Topics Readings Examples Assignment
MON 7/26 QUIZ 4
Writing used-defined ("blueprint") classes
8.1, 8.2, 8.3 Die.java
TestDie.java
HW8: User-defined class (due 7/29)
MON 7/26 Lab 8: Writing user-defined classes
TUE 7/27 Writing used-defined classes (cont.) 8.4, 8.5, 8.6. 8.7 Die.java [updated]
TestDie.java
THU 7/29 Multi-dimensional arrays
Computer games, discuss final game project
MultiDimArrays.java Game Project (due 8/5)
THU 7/29 Lab 9: Multi-dimensional arrays HW9: Multi-dimensional arrays (due 7/31)
Date Topics Readings Examples Assignment
MON 8/2 QUIZ 5
Object-oriented programming:
inheritance and polymorphism
9.1, 9.2, 9.3 PlayingGames.java
MessageDialogs.java
MON 8/2 Lab10: Help with game project
TUE 8/3 Algorithm analysis: searching
Help with game project
Review/Q&A for exam
13.1, 13.2
THU 8/5 Final exam in class (2 hours)
THU 8/5 Lab exam