This course follows and requires the freshman introductory sequence CS 1511-1521. It is intended to provide the background necessary to undertake serious programming projects that the student will later encounter in advanced courses, actual jobs, or research. The course takes up where the freshman year leaves off in the discipline of object-oriented design and coding, and introduces Java as the object-oriented programming language.
Students will acquire skills in the analysis, design, and implementation of medium-scale software development projects. Analysis topics include:
Design topics include:
Implementation topics include:
The final grades will be based on the 670 point total. Generally:
We will meet in large lecture on Tuesdays and Thursdays, when new material will be presented. Accompanying readings from the text and web sources will be indicated on the course web page. The midterm exams and final exam will also be given in large lecture. Dates are given on the calendar.
You will meet in lab on Mondays, at a time depending on which section you are in, where you will be led by a graduate teaching assistant. Here you will perform lab exercises and work on individual assignments. On Fridays you will meet in your discussion section which will also be led by your TA. In these sessions, you will go over lecture material, review for exams, discuss the individual assignments and lab exercises, and learn about the programming tools. Midterm exams will also be returned and discussed during these meetings.