CS 188 lecture 1: Programming Practicum

Computer Science Department
University of California, Los Angeles
Spring 2006

SYLLABUS

Description

This course teaches you how to analyze programming problems and design, implement, and test programs that solve them. Design alternatives will be discussed in class, and you will present at least one of your designs to the class.

Objectives

Course Website

The URL for the course website is http://www.cs.ucla.edu/classes/spring06/cs188-1. You should check the site for announcements regularly.

Class meetings and Instructor

The class meets Mondays and Wednesdays from 2:00 to 3:50 in 5436 Boelter. David Smallberg's office hours are Mondays 12:30-1:30 and Wednesdays 4:00-5:00 in 4532G Boelter.

Weekly Topics

Almost every week will feature discussions of solutions to programming problems, examining design alternatives and choices of algorithms. Here are additional topics:

Week Topic
1Problem analysis; design approaches
2Testing
3Data Structure Libraries
4Algorithm libraries
5Generic programming
6Midterm
7Error handling; exceptions
8Exception safety; resource management
9Oral presentations
10Oral presentations

Assignments and Exams

During the course of the quarter, you will be solving many ACM programming contest-style problems. In addition, there will be assignments helping you gain experience with error handling techniques suitable for large software projects.

There will be an in-class midterm the sixth week. The final exam is Tuesday, June 13, from 11:30 - 2:30, presumably in 5436 Boelter.

Grading Basis

Programming assignments: 60%
Oral presentation: 10%
Midterm examination: 10%
Final examination: 20%

Readings

Skiena, S., and Revilla, M., Programming Challenges, Springer Verlag, 2003.