Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  • Dr. Cartwright: MWF 9:00 AM - 10:00 AM
  • Dr. Wong:   See home page
  • Alina: MWF 11:00 AM -12:00 PM
  • Kamal:  MF 3:00 PM - 5:00 PM
  • Nicholas: TR 7:00 PM - 8:30 PM

...

DrJava: Please download and use the DrJavapedagogic DrJava pedagogic programming environment available from drjava.org. You must install either the Java 5 or Java 6 JDK on your machine for DrJavato DrJava to work. (Addendum: DrJava releases starting in 2011 can also run using a Java 7 JDK.) If you machine is running some flavor of Windows or Linux, go to the \[Sun Download Site for the Java SE 6.0 (http://java.sun.com/javase/downloads/index.jsp\]). Make sure that you download the JDK not the JRE. If you have a Mac, a Java JDK is available from Apple. In fact, it is part of the standard Mac OS X software package. DrJavawill DrJava will run on either a the Apple Java 5.0 or Java 6.0 JDK.

...

 

Day

Date(2011)

Topic

Reading

Lectures

Problems

Due(2011)

Lab

Supplements

1

Mon

Jan 10

Introduction & Scheme Primitives

 

L 1

HW 0

W Jan 12

Lab 0

Pair Programming

2

Wed

Jan 12

Function definitions and conditionals

Read Chs. 1-10

L 2

HW 1

F Jan 21

 

 

3

Fri

Jan 14

Data Definitions & The Design Recipe

Read Chs. 11-13

L 3

 

 

 

 

-

Mon

Jan 17

School Holiday

 

 

 

 

Lab 1

 

4

Wed

Jan 19

Data-directed design

Read Chs. 14-15

L 4

 

 

 

 

5

Fri

Jan 21

Data-directed design: trees

 

L 5

HW 2

Mon Jan 31

 

 

6

Mon

Jan 24

Mutually Referential Data Definitions

Read Chs. 16-17

L 6

 

 

Lab 2

Class Demo

7

Wed

Jan 26

 

Read Ch. 18

L 6

 

 

 

 

8

Fri

Jan 28

Local Definitions and Lexical Scope

Read Chs. 19-20

L 7

 

 

 

 

9

Mon

Jan 31

Functional Abstraction and Polymorphism

Read Chs. 21-22

L 8

HW 3

Mon Feb 7

Lab 3

 

10

Wed

Feb 02

Functions as Values

Read Ch. 24

L 9

 

 

 

 

11

Fri

Feb 04

Lambda the Ultimate

Read Chs. 25-28

L 10

 

 

 

 

12

Mon

Feb 07

Generative Recursion

Study Chs. 25-28

L 11

HW 4

Mon Feb 14

Lab 4

 

13

Wed

Feb 09

Complexity and Accumulators

Read Chs. 29.1-2
Skim Chs. 30-32

L 13

 

 

 

 

14

Fri

Feb 11

Accumulators and Tail Calls

Read Chs. 30-32

L 14

 

 

 

 

15

Mon

Feb 14

Clever Programming With Functions

Review prior readings

L 15

HW 5

Mon Feb 21

Lab 5

210 Exam 1
210 Exam 2
Solution to 12.4.2

16

Wed

Feb 16

Exam Review

Review prior readings

L 16, L 17

 

 

 

 

17

Fri

Feb 18

On to Java

OO Design Notes Ch 1.1-1.4

L 18

 

 

 

 

18

Mon

Feb 21

 

OO Design Notes Ch 1.1-1.4

L 18

HW 6 (Optional)
Exam 1

Mon Mar 07

Lab 6

 

19

Wed

Feb 23

Java Design Recipe

OO Design Notes Ch 1.1-1.4

L 19

 

 

 

IntList
IntListTest

20

Fri

Feb 25

Defining Inductive Data in Java

OO Design Notes Ch 1.5
L 20
Tony Hoare: "Null References: The Billion Dollar Mistake"

L 20

 

 

 

 

-

M-F

Feb 28-Mar 4

Spring Break

 

 

 

 

 

 

21

Mon

Mar 07

Static Class Members and the Singleton Pattern

OO Design Notes Ch 1.6

L 21

HW 7

Mon Mar 14

Lab 7

ObjectList
ObjectListTest

22

Wed

Mar 09

Polymorphism and Interfaces

OO Design Notes Ch 1.8

L 22

 

 

 

ComparableList
ComparableListTest

23

Fri

Mar 11

Handling Exceptions and Errors

OO Design Notes Ch 1.9-1.10, 1.12

L 23

 

 

 

 

24

Mon

Mar 14

The Strategy and Visitor Patterns

OO Design Notes Ch 1.9, 1.11

L 24

HW 8

Mon Mar 21

Lab 8

IntList
IntListVisitor
IntListTest

25

Wed

Mar 16

Visitors, Visitors, Vistors ...

OO Design Notes Ch 1.11

L 25

 

 

 

 

26

Fri

Mar 18

Accepting Reality: Full Java

OO Design Notes Ch 1.13

L 26

HW 9

 

  Fri Aor 1

 

IntList
IntListTest

27

Mon

Mar 21

Visibility, Type-Checking, and Generics  

OO Design Notes Ch. 1.10, 1.13

L 27   

HW 9

 Fri Apr 4

Lab 9

List
ListTest

28

Wed

Mar 23

Generics with Discretion  

 

L 28  

 

 

 

 

29 -

Thurs-Fri

Mar 24-25

Mutation and Bi-Directional Linked Lists

OO Design Notes Ch 1.13

School Holiday

 

  L 29

 

 

 

 

30 29

Mon

Mar 28

Mar 28

Simple Generics in Java Graphical User Interfaces

OO Design Notes Ch 3 1.13.4 (contains advanced material as well)

L 3029

 

 

Lab 10

lec29_code.zip  (incl. genList)

31 30

Wed

Mar 31 30

Anonymous Inner Classes and Task Decomposition Mutation and Bi-Directional Linked Lists

OO Design Notes Ch 21.1 13

L 3130

HW 10  

 

 

BigBiList  BigBiListTest

31

-

Fri

Apr 1

School Holiday

BiLists Continued

OO Design Notes Ch 2.1

L 30 

 

 

  

BigBiList
  BigBiListTest

32

Mon

Apr 4

Mutable Trees

OO Design Notes Ch 2.1

L 32

 

HW 10

Wed. Apr 13 

Lab 11

TreeMap
TreeMapTest
OOTreeMap
OOTreeMapTest

33

Wed

Apr 6

Review: Confronting the Reality of Full Java Mutable Trees

 

L 3332

 

 

 

 

34

Fri

Apr 8

QuickSort Revisited Mutable Trees

 

L 3432

HW 11  

 

 

FunctionalQuicksort
CallableQuicksort AlternateCallableQuicksort
ParallelQuicksort
QuicksortWithComparable
QuicksortTest

35

Mon

Apr 11 Graphical User Interfaces II

Mutable Trees and OO Data Structure Review

OO Design Notes

L 35 32

 

 

Lab 12

 

36

Wed

Apr 13

OO Sorting Algorithms

CNX Module on Sorting (incl. insertion and selection sort animations)

L 36

 

HW 11

Milestone 1: Mon. Apr 18
Milestone 2: Fri. Apr 22 

 

Design Patterns Slides
Design Patterns Paper
Sorter Demo

37

Fri

Apr 15 Fast

Searching with Balanced Trees Graphical User Interfaces

 

L 37, 2010

HW 12  

 

 

Red-Black Trees
Animated PPT
OOPSLA pape
Executable demo
Demo source code  

38

Mon

Apr 18

Fast Searching and Memoization

 

L 38

 

 

Lab 13

MyHashMap.java
MyHashMapTest.java
BetterMath.java

39

Wed

Apr 20 Parallel

Programming Tradeoffs Fast Sorting Methods

 

L 39

 

 

 

 

40

Fri

Apr 22

Exam II Review

 

L 40

 

 

Lab 14 

 

Grading, Honor Code Policy, Processes and Procedures

...

Reading: For each lecture, there is associated reading. Students are required to complete the reading before the class associated with this reading.h2

Other Resources

...

The New Turing Omnibus, A. K. Dewdney

QA76 .D448 1993

Algorithmics: The Spirit of Computing, David Harel

QA76.9 .A43 H37 2004

Computers Ltd.: What They Really Can't Do, David Harel

QA76.5 .H3575 2000

Great Ideas in Computer Science, Alan W. Biermann

QA76 .B495 1997

Computer Science: An Overview, J. Glenn Brookshear

QA76 .B743 1997

G�delGodel, Escher, Bach: An Eternal Golden Braid, Douglas Hofstadter

QA9.8 .H63 1980

Metamagical Themas, Douglas Hofstadter

Q335 .H63 1985

...