UW Home     CSE Home   Announcements    Message Board    Contact Info 

 
 

CSE 142: Computer Programming I Syllabus -- Winter 2004

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

Course Instructors

Name
Office
E-Mail Address
Office Hours
CSE 548 cse142-instructors@cs.washington.edu or
perkins@cs.washington.edu
W 130-2:30 & Th 11:00-12:00
Doug Johnson
CSE 270 cse142-instructors@cs.washington.edu or
djohnson@cs.washington.edu
MW 10:30-11:30
Teaching Assistants
see web
full information on the web
full info. on the web

Class Meetings

Lecture A (Johnson)--- Monday, Wednesday, and Friday from 9:30 to 10:20 in Guggenheim 224
Lecture B (Perkins) --- 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 any 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. Exceptions to these rules, such as assigning partners to work together on large programming projects, will be explicitly announced in the appropriate assignment or project.

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 on the course calendar - 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,
15% - Midterm #2,
20% - Final Exam,
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 normally turn in homework electronically using Internet tools, but some assignments may be collected on paper.

Programming Projects and Reports: There will be three larger 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 and will culminate with a written report. You will turn in projects electronically using Internet tools and hand in written reports on paper.

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. We have ordered preprints of the first half of the second edition, and these should be available for purchase at the University Bookstore on Tuesday, Jan. 6.. 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 is not a substitute for attending class - this is not a distance learning course.

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 using the same software found in the IPL. Instructions for installing the necessary software can be found on the course web site - click on "computing at home".

Materials: You are responsible for keeping backup copies of your work, either on your Dante account, floppy disks, or other media. Your files are not retained on the lab machines.

Course Administrator: Pim Lustig, Allen 126; 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. These rules are no different than the ones governing original work and collaboration in an English or History class. 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.