CS/ENGRD 2110 Summer 2008

Information
Announcements
Course Info
Schedule, Lecture Notes
Assignments
Submission requirements
Assignment 1
Assignment 2
Assignment 3
Assignment 4
Assignment 5 (v1)
Exams and Quizzes
Past Exams
Review problems (new!)
Resources
Java bootcamp
How to succeed in CS211
Java API
Java Tutorial
Textbook Website
Programming links
DADS

Valid HTML 4.01 Strict

CS2110 Schedule and Lecture Notes

This schedule is tentative and subject to change.

Date Lecture Reading assignments
Week 1 Monday 6/23 1. Introduction
  • Course policies and procedures
  • Why 211?
Course website
Why Software is so Bad
Perspective on the Economics of Bug Fixing
Tuesday 6/24 2. Java review
  • History of programming languages
  • Review of Java and OOP
  • Common Java pitfalls
Weiss ch. 1, 2 and 3
Wednesday 6/25 3. Recursion
  • Recursive programs
  • Stack frames, recursive calls
Weiss 7.1, 7.3, 7.4
Thursday 6/26 4. Lists
  • Singly-linked lists
  • Building and searching
  • Insertion and deletion
  • Doubly-linked lists
Weiss 6.5 and chapter 17
Friday 6/27 5. Grammars and parsing Weiss 2.5
Notes on grammars
Assignment 1 due 10pm
Week 2 Monday 6/30 6. Induction (updated) Weiss 7.2
Induction examples
Tuesday 7/1 7. Trees Weiss 18.1-18.4, 19.1
Notes on trees
More notes on trees
Wednesday 7/2 8. Inheritance and OOP Weiss 4.1-4.3
Thursday 7/3 9. Interfaces and types Weiss 4.4
Inheritance notes
Example programs
Friday 7/4 Holiday: No class
Sunday 7/6 no class Assignment 2 due 6pm
Week 3 Monday 7/7 10. Searching and Complexity Weiss ch. 5
Tuesday 7/8 Finish inheritance and OOP Dynamic/static binding example
Wednesday 7/9 11. Sorting Weiss 8.1-8.3, 8.5-8.6
Thursday 7/10 12. Software Design Optional Reading:
Code Complete, Steve McConnell 2004.
(See course information page for more details.)
Friday 7/11 Prelim review
Sunday 7/13 no class Assignment 3 due 6pm
Week 4 Monday 7/14 13. Recurrences Weiss 7.5.3, 8.8
Tuesday 7/15 Prelim 1 (in class)
Wednesday 7/16 14. Standard ADTs Weiss ch. 16, 20.1, 20.2, 20.5, 20.7
Thursday 7/17 15. Heaps and priority queues Weiss 21.1, 21.2
Friday 7/18 16. Iteration and inner clsses Weiss 15.1-15.3, 15.5, 4.8.3
Week 5 Monday 7/21 17. Generic types and the Java Collections Framework Weiss 4.7 (updated!)
Additional Resource: Java Precisely, Ch 21
(available electronically from library)
Tuesday 7/22 18. GUI statics and dynamics Swing tutorial
GUI examples
Wednesday 7/23 19. Graphs Weiss 14
Assignment 4 due 6pm
Thursday 7/24 20. More graph algorithms Weiss 24.2.2
Friday 7/25 More graph algorithms
Week 6 Monday 7/28 21. Threads and concurrency
Tuesday 7/29 22. Balanced Search Trees Weiss 19.4, 22
Wednesday 7/30 23. The Java Virtual Machine I
Thursday 7/31 24. The Java Virtual Machine II
Friday 8/1 25. Open questions in computer science Assignment 5 due
Week 7 Monday 8/4No class - study period
Tuesday 8/5 Final exam 8am