CS 110 Fundamentals of Computing
Introductory Comments
Ethan Bolker and Gabriel Rodriguez
Spring 2004

Goals

CS110 is the first course in the Computer Science major. In it you will begin to learn to write useful and interesting computer programs that are easy to read and modify.

Recent experience shows that the best way to do this is to write in object oriented style, organizing a computer program as a group of objects that send messages to each other in order to get things done. To explore these concepts, we shall read and write programs in the Java programming language. Java is the first object oriented language appropriate both for novices and for experienced programmers. That is part of why it has become wildly popular.

Time

This course, like other programming courses, requires a lot of time. Do not be surprised if you sometimes find yourself spending 20 hours per week on it. If you cannot commit to that level of effort because of your work schedule or the other courses that you are taking, we suggest you consider waiting to take CS110 until you can. But if you stick it out, we think you will find the time well spent: you will have a lot of fun learning a lot.

Prerequisites

The only formal prerequisite for this course is an appropriate score on the mathematics placement exam or successful completion of a course in regular calculus (either Math 140 at UMass=-Boston or its equivalent elsewhere). (See the accompanying questionnaire.)

Since this is the first programming course in the major, there are no programming prerequisites, even though students sometimes think that they must already know how to program in order to learn how to program. You do not. But some experience using computers for word processing, email and for accessing the internet would be very helpful.

Computing Facilities for CS 110 at UMass-Boston

You will do your work on PCs in the various computer labs in the Healey Library.

Working from home

If you have a PC at home you can work there rather than at school. All the necessary materials will be available on line. But we do not support your home environment, and so cannot undertake to answer technical questions when things don't work quite right. We will try to get you started: read the instructions on how to set up your PC development environment.

Warning : Problems working from home will not be accepted as excuses for late assignments. In particular, we strongly recommend that you do Homework 1 using the computers at school, while you figure out how to set up a computer of your own elsewhere. If you wait until your new environment is usable before you start your homework, you may not be able to complete the first assignment on time.

Access to materials

Insofar as possible, all the material that we will be providing will be available on line, on the web in links from the course home page, www.cs.umb.edu/cs110 .

Textbook

The text for the course is Java Outside In by Professors Ethan Bolker and Bill Campbell.

All the source code for the examples in the book can be found on line at http://www.cs.umb.edu/joi/ .

Assignments and Grading

Getting Help

When you are puzzled about a part of an assignment, start by working hard for a reasonable length of time trying to solve the problem. If you cannot, ask for help. Don't waste a lot of time when five minutes of talking to someone who knows the answer can help you get back on track. But don't rush for help at the first sign of difficulties.

We will be happy to help. Come to our offices or those of the teaching assistants or send us email. Ask questions in your discussion section. Often other students in the class can help you. It is worth learning how to learn from (and help) your peers since so much computer knowledge spreads this way in the workplace. Note, however, that the PC lab consultants are not there to help except in cases of general computer problems; they have other work to do and are unlikely to be knowledgeable about Java.

The Math Resource Center will provide some tutors for this course. When we have their schedule we will let you know.

Should you have any problems or questions, contact us early. Don't let small problems become big ones! Send us email, visit us at our offices or stop by after class to set up an appointment. Also, we encourage questions in class, most especially in the mandatory discussion sections. If you don't understand something, there is a good chance that others do not. We like questions.

Syllabus

We have an ambitious course ahead of us. The following syllabus indicates the order in which we will take up important topics. There are about as many topics as weeks in the course, but you should not consider this a week by week description of what will be covered.