ICS-33: Intermediate Programming

The following is a list of general-purpose handouts available for this course. You may also want to look at related materials on the following web pages:

Computer Infrastructure

Java (Download/Installation Instructions)
Instructions and links for downloading and installing Java, which is needed to run the Eclipse IDE. Although we will develop programs using Python in Eclipse, you need to follow these instructions for Java first.

Python (Download/Installation Instructions)
Instructions and links for downloading and installing Python, which we will run in the Eclipse IDE.

Eclipse for Python (Download/Installation Instructions)
Instructions and links for downloading and installing the Eclipse IDE, in which we will develop Python programs.

Python Programming in the Eclipse IDE (Overview/Tutorial)
Instructions for using Eclipse to develop Python programs. This document acts as an overview and tutorial for using Python in Eclipse.

The Debugger Perspective in Eclipse
A reference and tutorial on using the Debugger Perspective in Eclipse. It includes information about observing script variables, single stepping through code in scripts, and setting/clearing unconditional and conditional breakpoints.

Pair Programming/Program Submission

Pair Programming
An introduction to Extreme Programming (XP) concentrating on testing and pair programming. Read this before doing pair-programming on a programming assignment.

Checkmate Homework Submissions
Instructions for submitting work on the Checkmate System.


Academic Integrity Contract
Discusses the kinds of collaboration allowed and disallowed for the various testing instruments in this course. You must read and sign a copy. In case you are interested, here is the standard form UCI supplies instructors for reporting acadmic integrity violations.

Grade Cascades: Fall to Spring
Compares student grades in ICS-33 based on their ICS-32 grades. Also illustrates the grade distribution for Spring quarters in ICS-33: these classes have only major, so the average is higher than in the Fall and Winter.

ASCII Character Set Reference
A table showing how values of the types int and char interconvert.

Bugs: An Explanation
A description of bugs in the context of computer programming.

Hackers and Painters
The title (and most interesting chapter) in a book written by Paul Graham: Hackers and Programmers: Big Ideas from the Computer Age. I highly recommend this book. All chapters are posted on the author's web pages.

Regular Expressions
In the context of studying EBNF, we will discuss using regular expressions (one application is searching in the Eclipse text editor). Each regular expression is like the right hand side of an EBNF rule, although it uses a different notation and includes more options. For Python, see the following links which Document (6.2) and Discuss them. Googling regular expressions bring up 14 million documents.