Programming Assignments and LaboratoriesTopInstructor   TextsLectures and Readings

Lectures and Readings

Students should consult this page regularly to see the most current version of the schedule of topics and readings.

All reading assignments are from the text. Students should come to class having completed the indicated readings for the day. You should attempt to work all the problems at the end of each section as you are reading. Chapter review problems will be assigned during each lecture. While chapter review problems will not be turned in, you should complete them before the next lecture after they are assigned. Many of these will show up in the regular quizes during the first five minutes on Friday mornings, and may also appear on the midterm or final. Problems assigned in association with lecture n should be completed before lecture n+1. Answers are in the back of the book for most problems assigned.

Lecture

Date Topic Example code Reading Hmwk assigned
1. Aug. 31 Introduction & Overview code Ch 0 & 1, Appendix B.3.2 1.1, 1.3

2.

Sept. 2 Pre- and Post-Conditions code Ch 2 2.1,2.3

3.

Sept. 5 Assertions/Java Graphics code Standard Java Graphics, Using Assertions

4.

Sept. 7 Events & ArrayLists code Ch 3 & 4 3.7

5.

Sept. 9 ArrayList Implementation code Ch 3 & 4 3.5, 3.7

6.

Sept 12 Analysis of Algorithms (none) Ch 5.1 5.5, 5.9, 5.11

7.

Sept. 14 Induction/Sorting code Ch 5.2-3, Ch 6 5.21,5.23

8.

Sept. 16 Sorting 2 code Ch 6 6.7

9.

Sept 19 Iterators code Ch 8 8.3

10.

Sept. 21 Linked Lists 1 Ch 9 9.5

11.

Sept. 23 Linked Lists 2 Ch 9 9.15

12.

Sept. 26 Stacks code Ch 10.1 10.3

13.

Sept. 28 Queues code Ch 10.2 10.5

14.

Sept. 30 Binary Trees 1 Chap 12.1-5 12.3, 12.7

15.

Oct. 3 Binary Trees 2 code 12.6-12.10 12.11

16.

Oct. 5 Midterm 1

17.

Oct. 7 Array Representations of trees & Priority Queues Ch 13.1-13.4.1 13.1, 13.2

18.

Oct. 10 Heaps & Heapsort Ch 13.4.2-13.6

19.

Oct. 12 Binary Search Trees Ch 14.1-8 14.3,14.5,14.11

20.

Oct. 14 Balanced Binary Search Trees demo

Oct. 17-18 Fall Break

21.

Oct. 19 Parallelism 1 Handout, sections 2, 3

22.

Oct. 21 Parallelism 2 code Handout, section 4

23.

Oct. 24 Parallelism 3 Handout, section 5

24.

Oct. 26 Parallelism 4 Handout, section 5

25.

Oct. 28 Concurrency 1 Handout, section 6

26.

Oct. 31 Concurrency 2 Handout, section 7

27.

Nov. 2 Concurrency 3 code Handout, sections 8, 9, Sample Problems

28.

Nov. 4 Maps & Hashing Ch 15.1-3

29.

Nov. 7 More Maps & Hashing Ch 15.4-7 15.3, 15.9

30.

Nov. 9 Intro to C code

31.

Nov. 11 Pointers & Functions code

32.

Nov. 14 Midterm 2

33.

Nov. 16 Pointers and Separate Compilation in C

34.

Nov. 18 Arrays in C

35.

Nov. 21 C Language "Features" code

36.

Nov. 23 Graphs Preview & Ethics Discussion

Nov. 24-25 Thanksgiving Break

37.

Nov. 28 Graph Basics Ch. 16 16.1, 16.3

38.

Nov. 30 Search & Connectivity code Ch. 16 16.7

39.

Dec. 2 Graphs Ch 16 Dijkstra's algorithm

40.

Dec. 5 Minimum Spanning Trees Ch 16

41.

Dec. 7 Summary


Programming Assignments and LaboratoriesTopInstructor   TextsLectures and Readings