|
|
Lectures, Labs & Assignments
This schedule is subject to change. Readings are meant to be read in advance of the lecture
for which they are shown. Assignments will be posted as
the semester progresses.
Go directly to the current week.
Week 1:
Tues Aug 27
Lecture: Overview; Intro to Binary and Boolean
Readings: Brookshear, Ch. 1.1-1.6
Wed Aug 28
Lab: Placement Exam(optional); Build a Home Page (Lab 1)
Thurs Aug 29
Lecture: How Computers Work: Logic Gates
Readings: Brookshear 2.4,
Online demo of logic gates and
circuits
Week 2:
Tues Sept 3
Lecture: How Computers Work:
Logic Gates cont, the CPU; Instructions versus Data
Readings: Brookshear 2.1-2.5,
Online demo of a CPU
Assignment: Assignment 1:
How Computers Work, due Thursday Sept. 12.
Wed Sept 4
Lab: Using SIMS
File Services (Kevin Heard)
Thurs Sept 5
Lecture:
How Computers Work: CPU cont, the Memory Hierarchy, Programs
vs. Processes
Readings: Brookshear 3.1-3.5, 8.1-8.2,
Online demo of Operating System functions
Week 3:
Tues Sept 10
Lecture: How Computers Work: Operating
Systems, Memory Management
Readings:
Online demo of Operating System functions
Wed Sept 11
Lab: Intro to Unix, Part I (Kevin Heard) [This is
optional, but only if you already know Unix.]
Thurs Sept 12
Lecture: The Java VM; Programming Paradigms
Readings: Brookshear 5.1-5.5
Assignment:
Memory Management and Program Structure, due Sept 19
Week 4:
Tues Sept 17
Lecture: Object
Oriented Design, CRC Cards, UML
Readings: Main Ch. 2 (optional if it is
review), and Ch. 3.1-3.2 (but skip section called analysis), Ch. 5
Wed Sept 18
Lab: Using the Eclipse IDE (and other java tools)
Thurs Sept 19
Lecture: In class
OO design
Readings: Brookshear 4.3, 6.1 - 6.6,
Handout on designing with CRC Cards, Class diagrams portion of
this UML tutorial
Week 5:
Tues Sept 24
Lecture: Algorithms and Pseudocode
Readings: Brookshear 0.1-0.5, 4.1-4.2, 4.4,
The Costs and Benefits of Pair Programming,
by Cockburn & Williams, from Extreme Programming Examined,
Addison Wesley-Longman, 2001.
Assignment 3: Java object definitions, arrays, javadoc
due Oct 3
Wed Sept 25
Lab: Intro to Unix, Part II (Kevin Heard)
Thurs Sept 26
Lecture: Math Review, Intro to Analysis of Algorithms
Readings: (Optional if you know the material):
Main Ch. 1, Appendices B, C, and H,
Math Review : Logarithms and Exponential Functions
Week 6:
Tues Oct 1
Lecture: Analysis of Algorithms, cont.
Readings: Brookshear 4.6, Main 1.2, Handout
from Goodrich & Tamassia
Wed Oct 2
Lab: Java programming with iterators and collections, Debugging with the Eclipse IDE
Thurs Oct 3
Lecture: Stacks
Readings: Main Ch. 6, Analysis section in Main 3.2
Assignment 4: Analysis of Algorithms,
due Oct 15
Week 7:
Tues Oct 8
Lecture: Queues, Vectors
Readings: Main Ch. 7
Wed Oct 9
Lab: Slides for Lab, EchoFile.java, EchoFileToken.java Java programming with Stacks and Queues
Thurs Oct 10
Lecture: Intro to Recursion
Readings: Main Ch. 8
Week 8:
Tues Oct 15
Lecture: Intro to Trees (Guest Lecturer:
Barbara Rosario)
Readings: Main Ch. 9
Assignment 5: Generating HTML using trees and
recursion, due Oct 29
Wed Oct 16
Lab: HTML generation assignment Java programming with Recursion
Thurs Oct 17
Lecture: Good Programming Practice (Guest
Lecturer: Marat Boshernitsan)
Week 9:
Tues Oct 22
Lecture: Binary Search Trees; Heaps
Readings: Main Ch. 10
Wed Oct 23
Lab: Programming with Trees
Thurs Oct 24
Lecture: Hash Tables
Readings: Main Ch. 11.3-11.5
Assignment 6: CodeBreaker, due Nov
4
Week 10:
Tues Oct 29
Lecture: B-Trees
Readings: Main Ch. 10
Wed Oct 30
Lab: Codebreaker coding
Thurs Oct 31
Lecture: Sorting
Readings: Main Ch. 12
Week 11:
Tues Nov 4
Lecture: Sorting, cont. Java Interfaces.
Assignment: Programming Java Interfaces,
Sorting Algorithms, due Nov 14
Wed Nov 5
Lab: Disk-based Hashing
Thurs Nov 6
Lecture: Regular Expressions
Readings: Jurafsky and Martin Ch. 2 (handout)
Week 12:
Tues Nov 12
Lecture: Finite Automata; Context Free Grammars
Readings: Jurafsky and Martin, Ch. 2
Wed Nov 13
Lab: Regex lab
Thurs Nov 14
Lecture: Compilers, Lexers, and Parsers; Begin Graphs
Readings: Main Ch. 14
Assignment: Regular expression assignment, due
Nov 26
Week 13:
Tues Nov 19
Lecture: Graphs,cont.
Readings: Laforte Handout on Weighted Graphs
Wed Nov 20
Lab: Optional: regex work
Thurs Nov 21
Lecture: Substring Matching, Tries, Dynamic Programming
Week 14:
Tues Nov 26
Lecture: Programming to a Database
Assignment: OO programming applied to
connecting to a database, due Dec 16
Readings: Brookshear Ch 11.
Wed Nov 27
Lab: optional, DBMS tutorial
Thurs Nov 28
Week 15:
Tues Dec 3
Lecture:
Complexity and NP-Completeness
Course wrap-up
Readings: Brookshear Ch. 10
Wed Dec 4
Lab: optional
Thurs Dec 5
Lecture:
Turing Machines, Computability, Computers and Intelligence
|