Csc 220: Computer Programming II


Prof. Burt Rosenberg              Csc220: 022
Ungar 523                         Section T: TR 5:00-6:15 PM
burt@cs.miami.edu                 MM 215
                                  3 Credits, no W credit
                                  
Grader:
TBA

Goals
This is a second course in computer programming with emphasis on the major algorithms and data structures encountered in practice.

Programming
Of all the many intellectual activities that I am aware of, programming is most like learning to play a musical instrument. An important parallel is that you cannot learn either without constant practice. Perhaps goal number one of CSC 220 is to create capable programmers, and thus you should expect to write code at least three days a week during the semester. Do not cram three days of programming into one day, once a week. This doesn't work learning to play a musical instrument, it doesn't work for programming either.

Required Textbooks

Suggested Textbooks

Labs
The lab meets in room Ungar 426. We run a network of Linux workstations with several development environments. You should have a computer of your own and download the free JBuilder 6 Personal Integrated Development Environment. It's for free, but you must register.

To access the lab remotely, use Secure Shell to ssh to lab.cs.miami.edu. For Microsoft users, download the software and double click to install. This ssh also has an integrated Secure FTP based on a nice, drag-and-drop, GUI interface. Use this sftp to transfer files when remote.

Linux or FreeBSD users have ssh and sftp as part of the standard distribution. Macintosh users should surely have a similar program. Those running OS X can use SSH for FreeBSD.

Grades
The examinations in this course will require the student to write complete code from scratch. Please do not underestimate the difficulty of this. Look at old exams with solutions to acquaint yourself with what is required and practice to achieve this level of competence.

There will be a midterm and final, and programming assignments. The percentage weight for final grade determination will be roughly:

  1. 40% final
  2. 40% midterm
  3. 20% homework

Programming assignments are graded 0-5, on a very rough scale.