CSE logo University of Washington Department of Computer Science & Engineering
 CSE 142 Winter 2003 -- Syllabus
  UW Home     CSE Home   Message Board    Contact Info 

CSE 142
 Home page
 Syllabus
Classwork
 Calendar
 Homework
 Projects
 Exams
 Quizzes
Software & Computing
 Programming Lab Info
 Computing at Home
 Java Libraries
 Troubleshooting
Staying in Touch
 Discussion Board
 Virtual TA
 Announcement Archive
 Mailing Lists
Staff
 Instructors
 TAs
 Consultants
 Consultant Schedule
Check Your Scores
 MyUW
   

CSE 142: Computer Programming I Syllabus -- Winter 2003

Course Website: http://www.cs.washington.edu/education/courses/142/

Course Instructors
Name
Office
E-Mail Address
Office Hours
Hal Perkins (9:30 lecture)
Sieg 208
cse142-instructors @cs.washington.edu
perkins@cs.washington.edu
Tuesdays & Wednesdays, 2:00-3:00
or by appointment
Tammy VanDeGrift (11:30 lecture)
Sieg 226C
cse142-instructors @cs.washington.edu
tammy@cs.washington.edu
Mondays 12:30 - 1:20
Fridays 12:30 - 1:20
or by appointment
Teaching Assistants
see web
full information on the web
full info. on the web

Class Meetings

Lecture A --- Monday, Wednesday, and Friday from 9:30 to 10:20 in Guggenheim 224
Lecture B --- Monday, Wednesday, and Friday from 11:30 to 12:20 in Guggenheim 224
Quiz Section --- Thursdays. Check UW online time schedule for times and locations.

Course Goals and Objectives
The major goals of this course include:
  • To learn the general principles of computer programming
  • To develop skills in designing, implementing, documenting, testing, debugging, and analyzing in the context of computer science
  • To develop communication skills in describing technical material
These goals will be accomplished by:
  • Completing homework assignments, projects, quizzes, and exams
  • Participating in class discussion through regular attendance in lecture and quiz section
  • Seeking help of course staff and classmates when necessary
  • Communicating ideas in a written document accompanying programming projects
  • Communicating ideas orally and in writing with instructional staff and classmates during class activities
  • Providing help rather than giving answers to classmates seeking help
Course Philosophy

General: This course is designed to introduce concepts related to computer programming and computer science. Because this is an introductory course, it is critical that you keep up with the material by completing assignments on time and preparing for each class session by reading assigned material. The course instructional staff is here to help you keep up with the material. It's okay to struggle with the concepts, but it is your responsibility to seek help when you are confused. You are welcome to attend office hours of either instructor or Teaching Assistant (TA). The full office hour schedule is on the web.

Seeking Help:
We expect you to have questions as you are learning the material. You may receive help from classmates (see below about Collaborative Learning) and seek help from the course staff. We encourage you to ask questions during lecture meetings and post questions to the class discussion board. We will communicate ideas with each other by posting messages to an E-Post bulletin board, which is linked from the course website. Please use the bulletin board for all technical questions and discussions. Course staff members will monitor the discussion board and will normally respond to questions within a day (if they haven't already been answered by other members of the class).

Collaborative Learning:
CSE142 is a large class with over 500 students enrolled in the two lectures. One advantage of having a large number of students is having 500 different ways of understanding the course material and having 500 classmates to help you learn. We encourage you to work together on homework and projects, but any work that you turn in must be your own. Unacknowledged copying or using parts of someone else's work, even if it has been modified by you, is plagiarism and is not acceptable. When you work with others on homework and projects,  please acknowledge places where you received help in your homework submissions. An acceptable way to collaborate is to discuss problems and potential solutions and then writing or coding the solutions on your own. When giving help to other classmates, please do not give them the answer. Instead, ask questions to learn of their understanding and give conceptual explanations - this practice will help you master the material yourself. You will be engaged in collaborative learning activities during quiz section each week as a member of a 4 to 5-person quiz section group. These groups are designed to give you practice with new concepts and help you learn how to communicate your ideas.

Instructors' Responsibility:
In this course, the instructor's job is to guide you in learning about computer programming and computer science. In additional to traditional lecturing, we will have regular discussions and activities during lectures and quiz sections. We expect your full participation and readiness to learn at all class meetings. In return, we will do our best to offer suggestions, activities, and explanations to help you learn the material.

Assessment of Learning

We will assess your learning based on your submitted work, including homework assignments, programming projects, project reports, quizzes, exams, and in-class activities. Generally the assignments, projects, reports, quizzes, and activities are your chance to learn, while the exams are the main way we will assess what you have learned. Because CSE142 has such a large enrollment, all homework, projects, and project reports have fixed deadlines. No late work will be accepted. Midterms and exams are tentatively scheduled on the dates given below - any changes will be announced well in advance. It is your responsibility to be present in class those days. Please do not make plans which would prevent you from taking the exams.

Grading Scheme (subject to change)

Course grades will be calculated as follows, although the exact weights may change somewhat if appropriate. Individual assignments, programming projects, and reports will be weighted differently depending on level of difficulty and other factors.

20% - Homework Assignments
20% - Programming Projects and Project Reports
15% - Midterm #1, Friday, January 31
15% - Midterm #2, Friday, February 21
20% - Final Exam, Wednesday, March 19
10% - Quizzes, In-Class Activities, and Class Participation

Homework Assignments: There will be (almost) weekly homework assignments consisting of written questions and short programming problems, some of which will require use of a computer. These assignments are intended to help you learn the material. Homework assignments should be done individually by each student. You will turn in homework electronically using Internet tools.

Programming Projects and Reports: There will be three programming projects during the quarter, which you will do with a partner. Your partner will be determined by the course staff and you will have a different partner for each project. These projects will span two weeks with the culmination of a written report. You will turn in projects and reports electronically using Internet tools.

Exams: Exams are intended to serve as learning tools in addition to helping the course staff evaluate your mastery of concepts. There will be two midterm exams and one final exam. The midterms will be given in-class during the regular lecture hours.

Quizzes: Because we want you to keep up with the material, quiz sections will usually start with a short (3 - 5 minute) quiz. The quizzes are not intended to be challenging. If you keep up with the reading and attend lecture regularly, you should have no problem with the quizzes. Quizzes will be graded credit/no credit. No makeup quizzes will be given.

In-Class Activities and Participation: We will have regular discussions and activities during lecture and quiz section. Some of these may include items you turn in for credit.

Logistics

Prerequisites: There are no prerequisites listed in the course catalog. However, we assume that you have met the admission requirements for UW: three years of mathematics (geometry and advanced 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. We also assume familiarity with computers, files, folders, e-mail, web browsing, and the like.

Textbook: The required textbook for the course is An Introduction to Programming and Object Oriented Design using Java by Jaime Nino and Frederick A. Hosch. [ISBN: 0-471-35489-9] The text is available for purchase at the University Bookstore. We ask that you read certain chapters or sections before attending the accompanying lecture (see the online course calendar for the latest updates to the readings). Lectures will not be a replacement for the text; instead, lectures will complement the presentation in the text.

Course Website: Please familiarize yourself with the course website as soon as possible. Updates to the schedule, important announcements, and resources to help you learn will all be posted there. If you should happen to miss class, be sure to talk to a classmate to find out what you missed. The course website will not be a substitute for attending class.

Lecture Slides: Copies of lecture slides will be posted to the course website, generally no later than the afternoon before lecture. We encourage you to print copies of the slides, look at them in advance, and bring them with you to lecture so you can take notes. The slides are not a substitute for attending lecture - there will be significant material presented in lecture that is not included on the posted slides.

Computer Labs: The Introductory Programming Laboratory (IPL) for CSE 142 and CSE 143 is on the third floor of Mary Gates Hall (MGH 334). Computers in the labs run Windows and Java tools, plus usual web browsers, mail, and other web tools. Course software is also installed in some other public UW computing facilities, including the main lab on the ground floor of MGH and the Odegaard Undergraduate Library. The IPL is our home base, and we provide consulting support there. It is also possible to work at home, especially on home PC's that have software similar to the IPL.

Materials: Students who work in the campus labs will need two or three 3.5" high-density (1.4 Megabyte) floppy diskettes to store files. Disks are not handed in - all assignments are submitted via the web.

Course Administrator: Pim Lustig, Sieg 114; 616-3225, cse142-admin @cs.washington.edu (pl@cs.washington.edu). See Mr. Lustig for administrative matters related to the course such as scheduling conflicts, corrections to entries in our grade database, etc.

Computer Use Policy: Take the excerpts from the campus policies 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 worked submitted must be your own or your team's (for projects completed in pairs). 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 cannot write any piece of the solution for you. The University has clear guidelines for academic misconduct and the staff of CSE 142 will be vigorous in enforcing them. We make use of very effective automated tools for detecting similarities between homework solutions. It is only fair that students receive credit for work they do themselves and the assignments and projects are designed to help students learn. Read the section on Collaborative Learning in the Course Philosophy section of this document. If you are not clear whether some form of collaboration is acceptable, please ask a TA or instructor first.

Course Calendar
The latest version of the calendar is on the course website. The course calendar lists the lecture and quiz section topics, assigned readings, exams, and due dates for homework assignments and programming projects. The calendar is always subject to change as the quarter progresses.


CSE logo Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
[comments to cse142-webmaster]