CPSC 124: Introduction to Programming (Fall 2006)

Lecture 10:10 - 11:05 (period 3) Mon/Wed/Fri, Eaton Hall 110 (Class Schedule)
Lab 11:55 - 1:20 Thu, Gulick Hall 208 (Lab Schedule)
Web: http://math.hws.edu/mcorliss/teaching/fall06/cs124/index.html

Announcements

  • [Dec 5] - The final project deadline has been extended to Monday, December 11th at 11:59pm. This is a hard deadline; it will not be extended any further. Any projects submitted after the deadline will receive a grade of 0.
  • [Nov 28] - The final exam will be held at the pre-specified date and time: Friday, December 15th from 7pm to 10pm. Only a dean (and not me) can excuse a student from a final exam.
  • [Oct 4] - Rick's office hours on Wednesday nights (7-9pm) will now be held in Gulick 208 (the room where lab is held) rather than Lansing 310 due to space limitations in Lansing. The only exception is Wednesday November 15th. On that day, Rick will hold office hours in Lansing 310 (we were not able to reserve Gulick 208 on that date). Just to clarify, Lori's office hours will remain in Lansing 310.
  • [Sep 18] - Rick Beyer will also be holding office hours on Wednesday from 7-9pm (night before the lab is due). However, if you go to his office hours without having done any prior work on the lab (outside of the lab session) then don't expect to finish it during this time. Depending on your previous programming experience, the labs may take you considerably more time than two hours. Moral of the story, start early!
  • [Sep 6] - There are 2 TAs (teaching assistants) for this class. Rick Beyer will be the TA during Thursday labs and Lori Pietraszek will be holding office hours on Mondays and Thursdays from 7-9pm in the Lansing computer lab (you are required to meet with Lori once during the semester). They are both great resources, so take advantage of them!
  • [Sep 6] - My grading scheme has changed slightly. Instead of giving 5 quizzes and allowing you to drop your lowest grade, I will give 7 quizzes and allow you to drop your lowest two grades.
  • [Aug 28] - My office hours are Mon/Wed 11-12, Thu/Fri 1:30-3. Please stop by with any and all questions or comments. If you can't make my office hours then send me an email and we can coordinate a meeting at another time. Also, feel free to stop by my office unannounced at any time and if I'm available I will meet with you. I encourage everyone to stop by my office at least once during the semester. I look forward to meeting with all of you!
  • [Aug 28] - Make sure you view the class schedule, lab schedule, and this page regularly.

Staff

Instructor: Marc Corliss (corliss at hws dot edu), office hours: Mon/Wed 11-12, Thu/Fri 1:30-3.

Teaching Assistants:
     Rick Beyer (frederick dot beyer at hws dot edu)
          Office hours: Thu 11:55-1:20 (during lab), Wed 7-9 in Gulick 208.
     Lori Pietraszek (Lori dot Pietraszek at hws dot edu)
          Office hours: Mon/Thu 7-9pm in Lansing lab (310).

Course Summary

This course is an introduction to computer programming. Computer programming is the craft of instructing a computer to perform some task. It requires breaking the task up into a sequence of clear and unambiguous steps, and constructing these steps in a language the machine can understand. Good programmers must be able to think logically and be good problem solvers. Although computer science consists of much more than computer programming, programming is a fundamental part of computer science.

This course emphasizes the general principles and techniques of computer programming, which can be applied to almost any programming language. Although the emphasis is on programming in any language, this course focuses on one language, in particular, called Java. The Java programming language has become ubiquitous in computing systems due to its portability and advanced features. This course will explore those features that have made Java so popular in recent years, while comparing and contrasting Java with other programming languages. Topics covered include control constructs, subroutines, the object-oriented paradigm, graphical user interfaces (GUIs), and arrays.

Textbook

We will use the textbook, "Introduction to Programming Using Java", an online textbook written by Professor Eck. Printed copies will be handed out early in the semester (this is what the $25 course fee covers).

Course Work

Labs. This course has a required lab component. The labs give you hands-on experience and a chance to get help from other students or the instructor. Helping other students during the lab (and only during the lab!) is encouraged. You will have to complete a lab worksheet that must be turned in by the start of the following lab (a week later). Late worksheets will not be accepted. Worksheets will also be posted online for those who miss the lab.

Individual programming assignments. There will be two individual programming assignments, in addition to the weekly labs. These will be more sizable programs than the labs, and are intended to give you practice with creating larger programs from scratch. Assignments are due by the beginning of class. Late assignments are accepted until the solutions are posted, which is one week after the assignment was due. 10% of the total grade of the assignment is deducted for each late day. If the assignment is due on Wednesday at 10:10am (start of class) then a submission on Thursday at 10:30am is two days late and will lose 20%. A submission on Thursday at 10:10am is only one day late and will lose 10%.

Final programming project. A final programming project will be due at the end of the course. The late policy for the final project is the same as for the programming assignments (see above). This will be a project that you choose and design on your own (with some help from me if you need it). It must be completed individually and it should be more ambitious than the other programs you write for the course. More details will be provided later in the semester.

Quizzes. There will be 7 short (5 minute) quizzes throughout the semester to help make sure that you keep up with the material. They will be given at the end of class. In general, they will not be announced in advance, but the first quiz will be given Monday, September 4th. Your lowest two grades will be dropped. If you miss a quiz (for any reason), you will receive a 0.

Exams. There will be two midterm exams and a final exam. The midterm exams will be in-class, written (no programming on the computer), and closed book/notes. The final will be cumulative, but will emphasize aspects of the material covered after the second midterm exam. The final exam time and location will be announced at a later time. Rescheduling or making up of exams will only be allowed for *compelling* circumstances. Arrangements must be made in advance for non-emergencies. Making up a missed exam will only be allowed with documentation from an appropriate person (dean, doctor, etc).

Attendance/Participation. To get full credit for participation, you should attend all lectures (MWF, 10:10-11:05, Eaton Hall 110) and labs (Th, 11:55-1:20, Gulick Hall 208). You can miss, at most, three combined lectures and labs (for any reason). Missing more than three will lower your final grade. In addition, if you miss a lecture in which a quiz is given, you will receive a grade of zero for that quiz. You also need to meet with both me (instructor) and Lori (TA) once during the semester (if you can't make our office hours, contact me).

Grading

Assignments: 10% (5% each)
Quizzes: 10% (2% each)
Labs: 30% (2% each)
Midterm exams: 20% (10% each)
Final exam: 15%
Final project: 10%
Participation, attendance, etc.: 5%

Academic Integrity

The Principle of Academic Integrity (see the HWS Catalogue, p. 33) governs the work completed in this course. The following outlines specifically how this principle applies.

Exams and Quizzes. All exams and quizzes are to be completed solely by the student whose name is on the paper. Unless otherwise specified, these are closed book/notes, which includes any materials not provided as part of the exam/quiz.

Programming Assignments and Final Project. The programming assignments (excluding the labs) and the final project are to be completed individually. You may not work with other students, including discussing ideas, offering debugging help, or looking at their programs. You may receive debugging help from the tutors, but anything beyond debugging should be referred to the instructor. You must document and understand all the help received from the tutors (i.e., name of tutor who helped and how they helped). You may consult the book, your notes, any course materials provided in class or on the course website, and reference books found in the lab. Use of other materials (including websites) is not allowed. It is never acceptable to be in possession of another student's program, either hardcopy or electronic.

Labs. The labs are the only course activity where students can (and are encouraged to) work together. However, each student must write up their solutions independently. This includes both written answers as well as electronic files. Any help received from either a student or from a TA, must be acknowledged in writing in your lab (i.e., name of person who helped and how they helped). In addition, you must understand (be able to explain to someone else in your own words) all the work that you submit. Copying part or all of someone else's solution is prohibited.

Center for Teaching and Learning

Hobart and William Smith Colleges encourage you to seek the academic collaboration available to you to demonstrate your best work. Students who would like to enhance their study skills, writing skills, or have any academic inquiries can contact the CTL. If you are a student with an identified disability and you would like to receive accommodations, please provide me with the necessary documentation from the CTL at the start of the semester (students with disabilities have to register at the Center), so that I can best accommodate your needs. CTL staff encourages each of you to stop by Harris Hall to learn what is available to you at this academic resource. Please contact the CTL at 781-3351 to make an appointment or stop by Harris Hall (on South Main, next to Merritt Hall) to meet with Center Staff.

Resources


Marc Corliss
Last modified: Fri Jan 5 10:28:29 EST 2006