CSCI 051: Introduction to Computer Science  

Course Information   |   Administrivia  |  Syllabus   |   Labs   |    Resources  

Lectures CS051-1: MWF 10:00-10:50am in Edmunds 114
CS051-2: MWF 11:00-11:50am in Edmunds 114

Labs Lab01/02: R 1:15-4:00pm in Edmunds 219 and 229
Lab03/04:  F 1:15-4:00pm in Edmunds 219 and 229

Instructors Yuqing Melanie Wu
Mahnaz Roshanaei
Mark Kampe
Head TA's: Ross Wollman, Gloria Liao
Student mentors: Mark Penrod, Seena Huang, Calvin Aylward, Juan Zamudio, Frances Huang


Computer Science 051 is an introduction to algorithm development emphasizing object-oriented design. Algorithms will be implemented as programs in the Java programming language. We will introduce data structures and recursion as tools to construct correct, understandable, and efficient algorithms. These topics will be developed further in CSCI 052, CSCI 062, and more advanced computer science courses. For those who wish a good introduction to the science of computing, we highly recommend the combination of CSCI 051 and CSCI 052, which includes an introduction to a broad array of topics in computer science. For those who wish a more intensive introduction to programming, we suggest the combination of CSCI 051 and CSCI 062.

By the end of this course you should have a good basic understanding of how to develop (design, code, and debug) medium-sized programs in Java, and have a basic understanding of how one might analyze programs for correctness and efficiency.

This course is a prerequisite for all upper level Computer Science courses. In this course we do not assume that you have had any previous computer programming experience. If you have had extensive previous experience you should take CSCI 052 or CSCI 062 instead. Please discuss this with any member of the department's faculty if you feel you fall into this category. The required textbook for the class is the Java: An eventful approach, by Kim Bruce, Andrea Danyluk, and Tom Murtagh. We've placed an order for the book at Huntley bookstore so you should be able to find it there.