CMPS 203: Programming languages and Methodology - Fall 2006


[Homepage] | [FAQ's] | [Supplements] [Programming Projects] | [Exams]

Instructor Information

Office: E2 349B
Hours: Wednesday/Thursday 11-12
E-mail: charlie@cs.ucsc.edu

Required Text:

Programming Languages: Principles and Practice (2nd Edition) by: Kenneth C. Louden
Be sure and check the errata page before reading each chapter.

Here is a link to WebCT for the online discussions, daily review questions, and program submission.

Class notes on Ubiquitous Presenter

I plan to use Ubiquitous Presenter (UP) for posting live class notes and student participation during and after class. Please go to up.ucsd.edu and enroll in cmps203f06. (Please note that is ucsD not ucsC.) The password will be given out during class.

Audio and screen shots from class

I also hope to be posting "movies" with audio of the primary computer display from class. These will appear in class recordings. It appears these work best from windows machines but may be of some use under Mac OSX.

Lecture Supplements

This section contains additional information from the instructor to supplement the lectures. Materials will be added here as they become necessary.

Evaluation:

A minimum of 50% on all four aspects of the grade is necessary but not sufficient to pass this class. This means, if you receive less than 50% on any one of the four parts (programming assignments, quizzes, review questions, or final), you will not pass, however, just because you score at least 50% on each part does not imply that you will necessarily pass. For example, someone that scored 51% on each of the four parts would almost certainly, NOT pass. The policy is intended primariliy to prevent students from "blowing off" the homework or programming assignments because they only count 10% and 20% of the grade respectively. You cannot pass this class if you do not do the homework and programmming assignments.

Working Together: You strongly encouraged to select a partner and complete the programming assignments using "Pair Programing." If you do so you must follow the pair programming guidelines. If you strongly prefer to work alone, you may do so. You may freely give and receive help with the computer facilities, editors, UNIX, debugging techniques, the meaning and proper use of language constructs, etc.. You should not discuss your design or implementation of the programming assignments with students other than your partner (if you have one) until after they are turned in. In particular you should not view another person/pair's program, or allow someone (other than your partner) to view any part of your program, prior to successfully completing that assignment. Obviously, copying any part of another person/pair's program, or allowing your program to be copied is not permitted. A program, Moss, will be in use to detect copying. If you have any questions on this important point, please see me.

Academic Dishonesty: Any confirmed academic dishonesty including but not limited to copying programs or cheating on exams, will constitute a failure of the computer ethics portion of this class and result in a no-pass or failing grade. You are encouraged to read the campus policies regarding academic integrity.

Programming Projects: BOTH partners in a pair should submit the program. This is required for two reasons. First, it avoids the "I thought my partner was going to submit it" problem. Second, it facilitates the online grading by letting WebCT know that each student has actually submitted a solution.
Quizzes: There will be a quiz every other Monday with the first quiz on October, 2nd.

Syllabus

Date Topic Reading
September 22 Basic Semantics Louden Chapter 5
September 25, 27, 29 Data Types Louden Chapter 6
October 2, 4 Procedures and Environments Louden Chapter 8
October 6 OOP Louden Chapter 10
October 9, 11 Generic Programming Generics in the Java Programming Language
October 13, 16 Guarded Commands Dijkstra75, Louden page 270
October 18, 20 Functional Programming Hudak89
October 23 Functional Programming:Haskell Hudak00
October 25 Functional Programming:Recap Louden Chapter 11
October 27 ADTs and Modules Louden Chapter 9 (not 9.4, 9.6, or 9.8)
October 30 Quiz and Haskell recap none
November 1, 3 Logic Programming Louden Chapter 12
November 6, 8, 10(holiday) Formal Semantics Louden Chapter 13
November 13, 15, 17 Parallel Computing Louden Chapter 14
November 20, 22 Cluster Computing X10 (see webct posting)
November 24(holiday) Happy Holiday
November 27 Quiz and Review Louden 13&14
November 29, December 1 Aspect Oriented Programming Getting Started with AspectJ An Overview of AspectJ
December 7 Final Exam 12-3pm

[Homepage] | [FAQ's] | [Supplements] [Programming Projects] | [Exams]

This page maintained by Charlie McDowell. Email regarding this site.