Computer Science I
COMS 261.01
Spring 2020
MWF 9:30-10:20, Tu 1:30-3:20 Johns 008


Professor Tom Valente
Office: Bagby 123, ext 6210
Hours: MWR 2:30-4:00, additional hours may be added for Johns 008
Email: tvalente


Starting Out With C++, Early Objects, 9th Edition (2017) , by Gaddis, Walters, and Muganda.

Class Format

The MWF meetings will consist of lectures that closely follow the topics presented in the textbook and hopefully, bring them to life. The subject matter is such that the lectures ought to be dynamic, with many examples to interact with. I will do my best to make it so by using the classroom technology and well-chosen examples to illustrate the points and techniques of the course. All of you are expected to be alert and to participate in these discussions. The emphasis will be on problem-solving, to provide context for learning and using the C++ features as they come up in the textbook and in labs.

That being said, please realize that most of the learning for the course will take place outside of the lectures. This will happen as a result of lab experiments and exercises, studying from the textbook, homework problems, and programming projects. It is absolutely necessary to do all of these and to have read the required material before each class in order for you to keep pace with the course. Feel free to drop by my office for questions, or simply to chat about the course and your progress in it.

Programming is not a spectator sport, so simply coming to classes, though necessary, is not by itself sufficient as a source for learning. Remember to take advantage of every opportunity to learn by making use of readings, lectures, labs, projects, homework, myself, and your classmates (when permitted).



Your grade is a weighted average of labs, projects, and exams, computed as follows:


Attendance will be checked at the beginning of each class. In an introductory computer science class, attendance at every class is absolutely essential, so I expect you to attend every class and to be on time.  More than 5 absences (excused or unexcused) may result in a WF (missing a Tuesday counts 2 absences).


A site that allows us to track Euclid's GCD algorithm step-by-step.

Programming a simple machine in its machine language.

Programming a simple machine in its assembly language.

A scratchpad that allows for some object-oriented programming.

Enjoy this colorful object-oriented example in Java.

Illustration of the selection sort algorithm.

Illustration of the insertion sort algorithm.