Classroom: | MWF: 11:10a-11:00a, MCRey 315 |
Web page | www.cburch.com/cs/151/ |
Instructor: | Dr. Carl Burch |
E-mail: | |
Telephone: | 450-1377 (office); 548-0036 (home) |
Office: | MCRey 310 |
Office hours: | T 2:40-3:30, RF 10:10-11:00, R 3:40-4:30
drop-ins, appointments always welcome |
Tutor hours: | M 6-8 Katie Wright T 6-8 Don Bennett W 6-8 Don Bennett R 6-8 Katie Wright |
Data & Procedure textbook
Getting started with Eclipse
Java API
(alternate site)
The assignment of topics to days will change as the class progresses.
Textbook references are on the right, prefaced by a section symbol §.
Wed 27 Aug | Java review: Class elements §9.1 |
Fri 29 Aug | two-dimensional arrays
ADTs §1.1 using the List ADT §1.2.0–1.2.3 |
1 Sep | Labor Day - no class |
Wed 3 Sep | wrapper types
§1.2.2
implementing ArrayList §1.2.4 |
Fri 5 Sep | implementing ArrayList
§1.2.4
recursion §2.1 Assn 1 due |
Mon 8 Sep | exceptions: try & catch
linked lists: Introduction §2.2.0 |
Wed 10 Sep | implementing LinkedList
§2.2.1
Quiz 1 |
Fri 12 Sep | implementing LinkedList, cont'd
§2.2.1
comparison with ArrayList §2.2.4 Assn 2 due |
Mon 15 Sep | iterators
§2.2.3
for-each loops |
Wed 17 Sep | invariants
§3.1
exponentation algorithms §3.3 |
Fri 19 Sep | search algorithms
§3.2
data invariants §3.4 Assn 3 due |
Mon 22 Sep | big O: introduction §4.0–4.1.1 |
Wed 24 Sep | Exam 1 |
Fri 26 Sep | exam portmortem
big O: examples §4.1.2 Assn 4 due |
Mon 29 Sep | big O: examples
§4.1.2
simple sorting §4.2.1 |
Wed 1 Oct | mergesort
§4.2.2
quicksort §4.2.3 |
Fri 3 Oct | prime counting
§4.3
space efficiency §4.4 Assn 5 due |
Mon 6 Oct | tree introduction §5.0–5.1.3 |
Wed 8 Oct | tree traversals
§5.1.4
Quiz 2 |
Fri 10 Oct | binary search trees
§5.2–5.2.1
Assn 6 due |
Mon 13 Oct | implementing TreeSet
§5.2.2
|
Wed 15 Oct | red-black trees
§5.3
Map ADT
§6.1
|
16-19 Oct | Fall break - no class |
Mon 20 Oct | hash tables §6.2 |
Wed 22 Oct | hash table performance
§6.2.3
Quiz 3 |
Fri 24 Oct | hash functions
§6.3
stack introduction §7.1.0–7.1.1 evaluating postfix expressions §7.1.3 Assn 7 due |
Mon 27 Oct | converting recursion to stacks (PDF handout) |
Wed 29 Oct | tree iterator
§7.1.4
queues §7.2.0 level-order traversal §7.2.2 |
Fri 31 Oct |
queue implementations
§7.2.1
priority queues §8.0–8.1 Assn 8 due |
Mon 3 Nov | Swing GUIs (reading) |
Wed 5 Nov | Exam 2 |
Fri 7 Nov | Swing components
(§examples)
inner classes Assn 9 due |
Mon 10 Nov | nested classes
packages and protection levels |
Wed 12 Nov | heaps
§8.2
Project ideas due |
Fri 14 Nov | priority queue sorts
§8.3
Assn 10 due |
Mon 17 Nov | no class |
Wed 19 Nov | heapsort code
§8.3
Project design due Quiz 4 |
Fri 21 Nov | Dijkstra's algorithm
§8.4
Assn 11 due |
Mon 24 Nov | A* algorithm §8.4 |
26-30 Nov | Thanksgiving break - no classes |
Mon 1 Dec | regular expressions |
Wed 3 Dec | no class
Project progress report |
Fri 5 Dec | finite automata |
Mon 8 Dec | finite automata, cont'd |
Tue 9 Dec | Project demos |
Mon 15 Dec | Final, 9:00am |
18 Dec-11 Jan | Winter break |