Next: Textbooks
Up: CS 201: Structures and Discrete
Previous: Learning Objectives
- Intermediate Java: 10-20%:
- Exceptions
- Interfaces and abstract classes
- Generics, Casting
- Iterators
- Miscellaneous Java programming tidbits, including inheritance
- Additional material on object-oriented design if time allows.
- Data structures and Abstract Data Types: 30-50%
- Recursion
- Lists, Stacks and Queues
- Lists and Iterators
- Maps and Dictionaries
- Algorithm analysis: 5-15%
- Discrete Structures (Mathematics): 35-55%
- Induction
- Sets
- Functions and relations
- Propositional and Predicate Logic, if time allows
- Methods of proof, if time allows
- Elementary number theory and cryptography, if time allows
- Brief introduction to graphs if time allows
Note: the above is a listing of the topics by categories, not
the order in which we will cover them. The point off our UIC sequence
of Data Structures and Discrete Mathematics I and II is to integrate
some of these topics.
So here is my planned organization of this material, subject to
change:
- Selected Java topics
- Review of arrays (Goodrich, Chapter 1.5)
- Exceptions (Goodrich, Chapter 2.3)
- Induction and Recursion (Goodrich, Chapter 3.5 and
Bender,
Unit IS: Induction, Sequences and Series, Section 1.)
- Analyzing the running times of programs (Goodrich, Chapter 4).
- Lists, stacks, and queues
- Interfaces, Abstract classes, Generics (Goodrich, Chapter 2.4-2.5)
- Linked lists, stacks, and queues. (Goodrich Chapters 3.2-3.4
and 5.)
- Lists and Iterators (Goodrich Chapter 5), may skip or compress.
- Sets, functions, and relations.
(Bender,
Unit SF: Sets and Functions and perhaps Section 1 of Functions from
the second Bender book for some advanced material; also the
first section of the Lists chapter of the second Bender book may be
useful here to contrast sets and lists.)
- Maps, dictionaries, and hashing. (Goodrich, Chapter 9.1-9.3).
- As time allows at the end, selections from:
- Boolean Functions (Bender, Unit Boolean Functions, Section 1.)
- Logic (Bender, Unit Logic)
- Number theory and cryptography (Bender, Unit number theory and cryptography)
- Basics of graphs and trees (Bender, second book, Unit Graphs
Sections 1 and 3).
Our first topic will be Java, but our second topic will be an
integrated unit on recursion and proof by induction.
Next: Textbooks
Up: CS 201: Structures and Discrete
Previous: Learning Objectives
Robert Sloan
2007-01-17