CSE 143: Computer Programming II

Syllabus & General Information

Summer 2000

CSE 143 Summer 2000 >> Syllabus

Course Web Site

http://www.cs.washington.edu/education/courses/143/00su

Instructor

Martin Dickey, 423B Sieg. e-mail: dickey@cs.washington.edu
Office hours: TBA

Schedule

Lectures: MWF 8:30 am, Sieg 134 (it is possible that exams may be held elsewhere)
Sections: Meet both Tuesday and Thursday. Check the Registrar's online schedule on the Web for times and locations. Section AA is intended for students who feel they may have relatively less computer background.
Topics, assignments, & exams: A tentative week-by-week schedule is available online.
Office hours and lab times: Check the online staff schedule for instructor and TA office hours, as well as lab consultants' hours. 
 
Course Goals
 
CSE 143 is a continuation of CSE 142.  Its goals are similar, namely to teach the foundations of problem-solving through programming.  This encompasses software engineering principles and practice (particularly abstraction and modularization); and elementary data structures and associated algorithms (including an introduction to the performance analysis of algorithms).  To make the principles concrete, we will study and use the C++ programming language and by the end of the course will have adopted an object-oriented approach to program construction..
Successful completion of the course will give you the tools needed to construct substantial computer programs and the concepts needed to better understand computers and software in a variety of situations. In particular, the material provides a good foundation to students who continue in more advanced computer science and computer engineering courses.
Course Format
 
The class meets three times a week for lectures. A day-by-day lecture schedule may be found on the Web. Twice a week, you meet with your TA and the other members of your quiz section. On your own time, you have homework to do, mostly computer programs to design and debug.

Communication

The course web at http://www.cs.washington.edu/education/courses/143/00su/ will be a key resource. You are responsible for material in the course web. There will be very few handouts; most information, including assignments, will be made via the web. Be sure to check the web pages often for updates to the schedule, project clarifications, sample solutions, etc.
In addition to the course web, E-mail is another important communication tool for this course. You are also responsible for class announcements made via email on the list cse143-announce.
For answers to most questions, you can go to any of the staff, not just your own TA or the instructor. E-mail is usually the fastest way to contact the staff.

Texts

Required: Frank Carrano, Paul Helman, and Robert Veroff, Data Abstraction and Problem Solving with C++: Walls and Mirrors, 2nd ed, Addison-Wesley, 1998.
Recommended: CSE 143 Course Packet, available at Professional Copy and Print, 4200 University Way N.E. This packet contains a full set of lecture slides from a recent offering of the course. Many of this quarter's slides will be similar. The packet does not contain old exams or other supplementary information.
Optional: Many bookstores will have books about C++ aimed at all sorts of readers. You might find that one or more of these books appeals to your learning style and background.  A popular but somewhat advanced book is the C++ Primer by Stanley Lippman and Josée Lajoie, third edition. Addison-Wesley, 1998. This book is particularly useful if you plan to do C++ programming beyond the level of CSE 143.
 
Quizzes and Exams
There will be several quizzes, midterms, and a comprehensive final exam. All tests are closed book, closed notes, calculators not permitted, unless otherwise announced. Tests cannot be made up. Tests may include a variety of multiple-choice questions, short answers, short essays, and programming problems. Students should bring a blank mark-sense (Scantron) form and a #2 pencil to each exam. The exams will be timed at approximately 55 minutes.
The final exam will be on Friday, August 18, at the usual time and at the usual place (unless another location is announced). It will not be possible to give the final on any other day. Please be careful not to schedule travel or other activities that conflict with the exams.
 
Homework
 
Programming is one of those things you learn partly by doing. About five programming exercises will be assigned throughout the course. Programming assignments must be done individually, unless explicitly directed otherwise (see Academic Misconduct below).
 
Homework Turn-In
 
Most programming assignments will be turned in via the Web. Electronic submission forms will be available a few days before the due date of the assignment. You must print out and hand in (in time) the receipt generated by your electronic submission in order to get any credit for the assignment. Parts of some assignments may be turned in by other methods. In some cases, you may be asked to demonstrate or discuss your program in person.   Specific instructions will be available with each homework.  Programs are compiled as they are turned in; if a program fails to compile, or it compiles but doesn't run, it will receive little or no credit.

Attendance

Please plan to attend class five days a week. If you don't attend every class, you can't expect to do your best in the course. It's very easy to fall behind. Missing lectures or sections can quickly lead to disaster. If you miss a class, talk to a friend who was present, and be sure to check the Web for class messages or handouts.

Grading

There will be 5 or 6 programming assignments, several quizzes, two midterm exams, and a comprehensive final exam. All tests are closed book, closed notes, no calculators, unless otherwise announced. Approximate breakdown of the course grade is as follows:
Programming Projects 36%
2 midterm exams 14%+14%
Final exam 25%
Quizzes & other 11%
If you find an error in our grading, please bring it to your TA's attention within one week of that item being returned in sections.

Make-up/Late Policy

Barring exceptional circumstances, late homework will not be accepted.  Make-up quizzes and exams will not be offered, and exams cannot be taken early.

Computing Facilities

The primary computer lab for CSE 143 will be the Computing Resource Center in Mary Gates Hall. The PCs run Windows 98 outfitted with Microsoft Visual C++ (Version 6.0), Netscape, Internet Explorer, and other tools. It should be possible to complete assignments using other UW computing facilities, or at home, especially on home PC's that have software similar to that in the IPL, but our ability to support a wider variety of platforms is limited.

Materials

Unless you compute at hime, you will need a few 3.5" high-density (1.4 Megabyte) floppy diskettes for your course files. They can be purchased at the computer section of the University Bookstore and at many retail outlets. Back up your files frequently.
 
Computer Use Policy
Some excerpts from the campus policies follow. "You must use all UW [computing] resources in strict accordance with local, state, and federal laws. These laws cover such areas as illegal access to computer systems, networks, and files; copyright violations; and harassment issues... Software and information resources provided through the university for use by faculty, staff, and students may be used on computing equipment only as specified in the various software licenses. Unauthorized use of software, images, or files is regarded as a serious matter and any such use is without the consent of the University of Washington...If abuse of computer software, images, or files occurs, those responsible for such abuse will be held legally accountable."

Academic Misconduct

Although students are encouraged to study together to understand general course content, each student is expected to produce his or her own solution to the homework problems, except as allowed on team projects. Copying or using sections of someone else's program, even if it has been modified by you, is plagiarism and is not tolerated.  In general, you should not look at anyone else's code, nor allow anyone to look at yours.

last updated 06/18/00 08:38 PM