|
Syllabus for CSE143: Computer Programming II
|
|
CSE143: Computer Programming II
Credits
5
Catalog description
Continuation of 142. Concepts of data abstraction and encapsulation including stacks, queues,
linked lists, binary trees, recursion, instruction to complexity and use of predefined collection
classes.
Prerequisites
CSE 142.
Textbook(s) and/or other required material
Building Java Programs, Addison Wesley, Stuart Reges and Marty Stepp
Lecture notes on advanced topics
Course objectives
Students learn about data abstraction and the basic design principles of object oriented
programming. Students will become familiar with standard data abstractions (lists, maps, sets,
stacks, queues) as well as a variety of implementation techniques (arrays, linked lists, binary
trees). Students will learn to program using recursion and recursive backtracking. Students will
learn the object-oriented constructs that support code reuse (encapsulation, interfaces,
inheritance, abstract classes) as well as learning how to make use of off-the-shelf components from
libraries like the Java Collections Framework.
Topics covered
Abstract data types: stacks, queues, lists, maps, sets
Implementing linked structures (linked lists, binary trees)
Recursion and recursive backtracking
Using off-the-shelf components (e.g., Java Collections Framework)
Use of inheritance for additive change and factoring out common code into abstract classes
Class design: encapsulation, documentation, throwing exceptions, appropriate choice of fields
Thorough testing and debugging
Time and space complexity
Efficient sorting and searching algorithms (binary search, mergesort)
Iterator use and implementation
Course structure
3 50-minute lectures per week
2 50-minute quiz sections per week
Weekly projects to be completed outside of class
Last edited by
reges
Last modified
10:04am 27 Apr 2007
|
 |
Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to webmaint]
|