Computing Environment | Course Home | Practice Problems | Programming Assignments | Schedule & Lecture Notes

Saint Louis University

CS A 120
Computer Science I
Michael Goldwasser

Spring 2004

Dept. of Mathematics and
Mathematical Computer Science

Feb 27:

From this point on, the grade reports for your programming assignments, as well as your overall summary of course grades will be distributed electronically rather than as a hardcopy. You will find your individual files by
  1. logging into your account
  2. clicking on the "Home" folder near the top left corner
  3. selecting the "csa120submit" folder
  4. selecting the "grades" folder
  5. selecting the individual file of interest to you

If you wish, you may download a printable version of the Syllabus.


Computer Science I is an undergraduate course which provides an introduction to computer programming. No prerequisite programming experience is required, though we will expect a sufficient preparedness in analytical thinking and abstraction, as equivalent to four years of high school mathematics.

What distinguishes computers from many other types of machines and inventions, is their great generality and their programmability. Personally, one can find great joy and pride in instructing a computer to behave precisely as desired; there can also be great frustration at times, when finding that the instructions given to the computer were not actually interpreted as intended. We will hope to lead you through a great many successes during this course; at the same time, it is almost certain that your path will lead you through some times of frustration and even some failed attempts. Keep your spirits up when tackling the challenges and rely on the instructor for help, when needed.

This semester, there is particular excitement. Our department has been working on a new rendition of this course to go into effect for all sections starting in Fall 2004. We will be serving as a pilot group for this newly revised version. The major curricular change to the course is that we will be teaching a useful style of programming known as Object-Oriented Programming.

Modern pieces of software are often large and complex. To design such systems, you cannot easily rely on the same techniques which you might have used when writing small programs. Instead large-scale software design involves recognizing distinct "components" or "objects", understanding how these objects must interact with each other. Only then should you worry about the low-level implementation of these components.

In step with this change of paradigm, we will be changing the programming language used for instruction, choosing to use the object-oriented Java programming language, rather than the imperative C programming language. (Note: If any student was specifically aiming for learning the C programming language, there is another section offered this semester, CS A 120-01, which will be using C as the language).

Course Administration

Practice Problems

To reinforce conceptual material from the class, we will often suggest a set of practice problems to consider. These will not be submitted and thus you may discuss them freely with each other and with me. At times, we will go over these problems in class. The timing of these practice problems will often be coordinated as preparation for quizzes and exams.

Graded Work

Students with Documented Disabilities

In accordance with the Americans with Disabilities Act, reasonable accommodations may be made to assist a student with a documented disability.

Such student should immediately contact the Disabilities Services Office in Suite 130 of the Academic Resources Center or at (314) 977-2930. The Disabilities Services Office can assist you and the instructor in formulating a reasonable accommodations plan and provide support in developing appropriate accommodations for your disability. Course requirements will not be waived, but accommodations may be made to assist you to meet the requirements. Technical support may also be available to meet your specific need.

Online Resources

This course will take advantage of the Internet and the campus network in many ways.

Computing Resources at Saint Louis University

More information is available online regarding Our Computing Environment.
CS A 220, Fall 2003
Michael Goldwasser
goldwamh at our university domain.

Last modified: Thursday, 24 March 2005