Course Syllabus
Computer Science 20
Summer 2009

Programming Methods

Course Description

CS 20 is an intermediate course in programming using Java. Instruction and programming assignments will focus on a selection of fundamental data structures and algorithms. Practice implementing and applying these data structures and algorithms will be required for the course.

The following programming techniques and principles are emphasized:

Pre-requisites

Computer Science 10 and Mathematics 3B.

Course Goals

  1. Students expand their knowledge of, and increase their comfort level with Java and OOP.
  2. Students learn to specify, implement and apply lists, trees and other data structures.
  3. Students are exposed to complexity analysis, and learn to distinguish algorithms and data structures on the basis of efficiency.
  4. Students learn (and practice) to produce better programs more quickly and with less stress.

Instructor

Dr. C. Michael Costanzo, mikec@cs.ucsb.edu - office hours: as needed after any lecture.

Teaching Assistant

Nan Li , nanli@cs.ucsb.edu - office hours: Friday 2-4pm, in Phelps 1413.

Instruction Schedule

Textbooks

Course Outline and Required Reading

Grading Policy

At the end of the quarter, a curve will be applied to composite scores weighted as follows:

Notes