All information in the future is subject to change, though this calendar represents my aims.

#

Date

Topic

Assignments

Examples

Extras

1

9/6

  • Introductions
  • Fields of computer science

Due 9/11: Name the owl

2

9/11

  • Writing a Java program
  • Drawing
  • Coordinates
  • Colors

Colors.java
Drawing.java
InClass.java

These describe various useful Java commands:

L1

  • Installing Eclipse

Lab01

3

9/13

  • Mouse interaction
  • Data fields
  • Types
  • Custom classes

CenteredCircle.java
GrowingMovingRectangle.java
Lollipop.java
MovingRectangle.java
Rectangles.java
RobinBonanza.java
RobinObject.java
ShowRobin.java

Warmup examples

4

9/18

  • Methods
  • Conditionals

BlackHole.java
GrowingArrow.java
Intersections.java
MovingGrowingArrow.java
Pinocchirobin.java
ShowP.java
TwoColors.java

L2

  • Classes
  • Methods

Cat.java
FrowningPhil.java
GrowingPhil.java
Katie.java
KatiesPlaypen.java
Phil1.java
Phil2.java
PhilBody.java
Robot.java

Lab02

5

9/20

  • Boolean values
  • Animation

BlinkingLight.java
ClickCounter.java
Clock.java
DroppingBall.java
LightSwitch.java
MovingRight.java

6

9/25

  • Local coordinates
  • Parameters
  • Pseudorandom number generation

BouncingBallObject.java
FallingBall.java
FallingBallObject.java
RandomNumbers.java
RandomRectangles.java
ShowBBObject.java
ShowFBObject.java
ShowTracingPaper.java
TracingPaper.java

L3

  • Tracing a projectile

Slingshot.java
SlingshotApp.java
SlingshotTimed.java

Lab03

7

9/27

  • Return values
  • Handling keystrokes

Colors2.java
MovingSquare.java
NumberControl.java
Slingshot.java
SlingshotApp.java

Tracing paper exercises

8

10/2

  • Exam review

Practice Exam 1

L4

  • Exam review

9

10/4

EXAM 1

10

10/9

  • Console programs
  • User input
  • Loops

FiveStar.java
Greater.java
HelloWorld.java
SayMyName.java
UserInput.java

L5

  • Loops

Problem1.java
Problem2.java
Problem3.java
Problem4.java
Problem5.java
Problem6.java
Problem7.java

Lab05

11

10/11

  • More loops

Arithmetic.java
DivisibleBy3.java
Perfect.java
Square.java

while Exercises

10/16

FALL BREAK

10/18

FALL BREAK

12

10/23

  • ArrayLists

List.java
Min.java
Reverser.java
Summer.java

L6

  • ArrayList exercises
  • The Eclipse Debugger

Imperfect.java
Number1.java
Number2.java
Number3.java
Number4.java
Number5.java
Number6.java

Lab 6

13

10/25

  • Strings
  • Files

InClass.java
Multiplier.java
ReadFile.java

CodingBat practice problems

14

10/30

  • Data visualization

InClass.java
Number3.java
Validate.java

L7

  • Working with files

Number1.java
Number2.java
Number3.java

Lab 7

15

11/1

  • Data classes
  • Data visualization demo

CenterRectangles.java
Gands.java
InClass.java
Rectangle.java

16

11/6

  • ArrayLists in GraphicsPrograms
  • Java Object Model

BlackHoles.java
DarkeningCircle.java
GrowingRectangles.java
LeftRightSquares.java
ManyLines.java
MutableInteger.java
ShowDarkeningCircles.java
SwapMutableIntegers.java

ArrayLists in GraphicsPrograms activity

L8

  • Time for data visualization project

17

11/8

  • Final project discussion
  • State machines

HowFastCanUClick.java
InClass.java
MutableInteger.java

18

11/13

  • Two-dimensional arrays
  • Array exercises

ForLoop.java
Grid.java

Array exercises

L9

  • Array and string exercises

Lab 9

19

11/15

  • Review

MoveARect.java

20

11/20

EXAM 2

BackgroundMusic.java
Hitchhiker.java
Moo.java

L10

  • Lab is optional

21

11/22

  • Functional programming

Haskell exercises

THANKSGIVING BREAK

22

11/27

CLASS CANCELLED

L11

  • NO LAB ON MONDAY
  • Check prototype on Wednesday

23

11/29

  • Check prototypes
  • Recursion

Recursion.java

Recursion exercises

24

12/4

  • Recursion

L12

  • FP Time

25

12/6

26

12/11

  • Project presentations

L13

  • Final exam review

Review problems

27

12/13

  • Project presentations

There will be a self-scheduled final exam during the normal exam period.