CSE/ENGR 142: Computer Programming I
Course Administration

Brian Tjaden, Summer 1999

Web site
http://www.cs.washington.edu/education/courses/142/
 
Instructor Information
Name
Room
Phone
E-mail
Office hours
Brian Tjaden Sieg 226c 685-4087 cse142-instructors@cs.washington.edu Mondays, 1:30 - 2:20
Wednesdays, 1:30 - 2:20
Teaching assistants (see web for details)        
You are welcome to go to office hours of any TA and either instructor, not just the one you are registered for. Usually, the fastest way to reach any of the staff is by sending an e-mail message.
Course Goals
CSE/ENGR 142 provides an introduction to Computer Science; in particular, the goal is for students to learn the general principles of programming, including how to design, implement, document, test, and debug computer programs. To make these principles concrete, we will study and use the C programming language.   One goal of this course is to provide the background necessary for students who wish to continue to  CSE 143; students who feel they already have adequate preparation may take CSE 143 immediately and if successful in that course, may receive credit for 142 (see UW course catalog p.32).
Prerequisites
No prerequisites are listed in the catalog. However, it is assumed that students in this course have met the minimum requirements for admission to UW, and in particular: three years of mathematics, at least at the level of geometry and advanced (second-year) algebra; two years of science; and four years of English.  The course is not recommended for students who are at a remedial level in English or mathematics.
Course Format
The class meets three times a week for lectures. Once a week, you meet with your TA and the other members of your quiz section.  The class does not meet in a computer lab on a regularly scheduled basis. On your own time, you have homework to do, mostly computer programs to design and debug.  You will be working on homework more or less all the time, with frequent, inflexible deadlines.  You will also need to use Internet tools (see below ) to get and turn in assignments and to keep in touch with the course.  Many students who take this course report that it makes great demands on their time.
Topics Covered and Schedule
The main topics include: the concept of a computer and of programs; variables, values, and types; functions; program organization; style; iteration; arrays, including 2-D arrays; structs and arrays of structs; strings; and brief introductions to sorting, recursion, graphics, and event-driven programming.  A day-by-day lecture schedule may be found on the World Wide Web. This shows topics covered, textbook sections for each topic, and dates of major events.
Times and Locations
142 Lecture (Tjaden): MWF 12:00-1:00, Gug 224
Quiz section times and locations are on the Web. Also check the schedules on-line for instructor and TAs' office hours, lab consultants' hours, lab hours, and much other information.
Textbook (required)
Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C, second edition, Addison Wesley, 1996, or third edition, 1999.
Course Packets
Reading packets will be available at Professional Copy 'N Print, 4200 University Way (estimated $12.00 total). The packet contains copies of the lecture slides used last quarter; some old exams and other supplementary materials.   Purchase of the packet is strongly recommended as an aid to note-taking.
Exams
There will be one 50-minute midterm exam, and a comprehensive final exam. There may be occasional short quizzes.  Tests may include a mixture of multiple-choice, short-answer, and programming questions. The final will be an approximately 50-minute exam on Friday, August 20, 1999.. You must take the exams on the scheduled date; please do not make plans which would prevent you from doing so. You must take the final exam in order to pass the course.  
Attendance
Attendance is expected at all quiz section meetings (Thursdays). You are also encouraged to attend every lecture, although attendance is not taken. There may be some opportunities for credit that you will miss when you don't attend. If you miss a lecture, talk to a friend who was present, and be sure to check the Web site for class messages and lecture slides. Instructors and TAs will not furnish make-up materials to individuals who miss class.
This is not a distance learning course, even though a great deal of class material is available via the Internet. Students who choose not to attend class cannot expect to succeed as readily as those who do.
Homework
Computer Science is best learned hands-on. Five to six sizable programming projects will be assigned throughout the course, as well as a number of smaller exercises, which may include problems to solve, questions to answer, short writing assignments, diagrams or charts to draw, etc.. Assignments must be done by each student individually, unless explicitly directed otherwise. Pick up graded homework from your TA in quiz section. Unclaimed homework is discarded at the end of the quarter.
Turning in Assignments
It is expected that most assignments will be due on Fridays. Each assignment will carry instructions about when and how it is to be turned in.   Some assignments might be collected in class or by e-mail. However, for most programming homework you will turn in both electronic and paper copies via the Web. There will be a special page with a form to fill out, and a "receipt" page is sent back to your computer.  To get credit for the assignment, this receipt must printed and turned in before the deadline, along with any other materials specifically requested. Paper copies of assignments may be turned in either at lecture on the date due, or put in the CSE Homework Box located in the hallway outside of Sieg 128. All submissions must be  sealed in a large (e.g. 9x12 in.) envelope, with "CSE 142" or "ENGR 142", your quiz section, and your name written clearly on the front. Unless the instructions specifically say otherwise, you don't need to turn in a disk.  Points may be deducted if the mechanics of turn-ins are not correct (not in an envelope, missing information, wrong format, etc.)
Late Policy
Programming homework assignments have fixed deadlines (see "Homework Submission" link on home page.) Late homework is not accepted.
 
Grading Scheme (tentative)
  • Homework: 45%. Programming homework will carry the greatest part of this weight. Later programs may be weighted more heavily than the earlier ones.
  • Midterm: 20%
  • Final Exam: 30%
  • Quizzes or other: 5%
Tools
The Introductory Programming Laboratory (IPL) for CSE/ENGR 142 is in Sieg 323. The computers there are Windows NT PCs outfitted with Microsoft Visual C++, Netscape, Internet Explorer, and other tools. The World-Wide Web is used extensively to provide you with course information, such as the schedule mentioned above, homework assignments and solutions, and many other things. Electronic mail (including class mailing lists) and newgroups are other important tools for communication; you will need to check your e-mail and newsgroups regularly.
It is possible to complete assignments using other computing facilities, especially home PC's which have software similar to that in the IPL, but our ability to support a wider variety of platforms is limited.
Materials
Students will need two or three 3.5" high-density (1.4 Megabyte) floppy diskettes for storing their course files.
Computer Use Policy
Some excerpts from the campus policies. Take them seriously: "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
All work turned in is expected to be your own. Unacknowledged copying or using parts of someone else's program, even if it has been modified by you, is plagiarism and is not acceptable. If you have a tutor or helper from outside the course, that person may not write any part of any program for you. The University has very clear guidelines for academic misconduct and the staff of CSE/ENGR 142 will be vigorous in enforcing them. We make use of very effective automated tools for detecting similarities between homework solutions.
Although students are encouraged to study together to understand the course content, each student is expected to produce his or her own solution to the homework problems. It is unacceptable for two or more people to work together as a team in solving a problem. It can be hard to draw the line between studying together and working on a program together. A safe guideline is never to look at another person's program, or to show your program to someone else. When in doubt, ask a TA or instructor for guidance.