This class has two lecture sections; the morning section meets MTRF from 10:00 - 10:50 AM and the afternoon section meets MTRF from 1:00 - 1:50 PM. Both lectures are held in AK 116.
![]() |
George T. Heineman, FL-137, x5502 email: <heineman _at_ cs.wpi.edu> aim: HeinemanWPI ( ![]() office hours: See Weekly Schedule For speediest response, send email to _at_ cs.wpi.edu |
If you have short (or long) questions, don't hesitate to send electronic mail.
There are 4 Teaching Assistants (TAs) and 4 Student Assistants (SAs)
All TA/SA office hours will be announced on the first day of class. Each TA will hold four office hours per week and will staff labs on Tuesday/Wednesday/Thursday. SAs will also hold office hours, staff labs, and be otherwise available for help. We will have lots of people available to help you in this course.
It is worth describing the make-up of the students in this class.
Enrollment | Enrolled in CS2102 | |
CS1101 | 175 | 98 |
CS1102 | 49 | 41 |
CS2102 | 176 | 37 students (21%) have not taken either |
By the above measure, I will appropriately expect the majority of the students to have the design knowledge as presented in CS1101/CS1102. But I am aware that not everyone has the information.
Year of Graduation | Number | Major | Number | |
05 | 1 | CS | 65 | |
06 | 2 | IMG | 36 | |
07 | 6 | ECE | 27 | |
08 | 14 | ND | 15 | |
09 | 17 | ED | 9 | |
10 | 122 | MA | 5 | |
HS | 6 | Other | 19 | |
TR | 8 |
The students in this course are predominantly first-year students, given the course enrollment above. Also, students from seventeen WPI majors have enrolled in the course, reflecting the diverse interests in the students.
This course provides an Object-Oriented introduction to Programming. In this course you will learn skills that will help you design and implement software programs. The experience from this class will provide sufficient background for further study in Computer Science.
In keeping with WPI's emphasis on individual responsibility, I have structured the course to make the best use of the four lecture hours we have per week. Many of the basic topics will therefore be self-taught; if you encounter problems, I expect you will visit the Teaching Assistants (TAs) or Student Assistants (SAs) or me during scheduled office hours. The resulting effort for each student will likely amount to twelve hours per week in addition to the lecture hours and lab. I recommend that you find time to spend two hours per day working on the topics and material presented in this class.
If you have ever learned a foreign language, such as French or German, you may recall how difficult it was to learn when you did not have enough opportunity to speak and practice the language on a daily basis. The exact principle applies here.
None.
Required: Absolute Java Second Edition (ISBN 0-321-33024-2) by Walter Savitch, Addison-Wesley. The 1st edition will not do because of the extensive changes made to the second edition. You will find that this is the only Java reference book you will need during your time here at WPI, so it is worth its price.
Online: There are many available FREE on-line texts for learning the details of the Java programming Language. I recommend Sun's Tutorial.
All homework assignments will be done in pairs. Students will work in the same pairs throughout the entire term. At the start of the term you may request to form a pair; we will pair up students who do not express preferences. I am PairMaster and am the final arbiter for forming and (possibly) re-forming paired groups. By 5PM, October 26th you will have the chance to request your partner. Send an email to <csonger@wpi.edu> with both student names (and user ids). The final teams will be set by Friday when the first Homework is assigned.
Each pair submits one assignment with both names on it. Both members of the pair receives the same grade on the assignment.
By structuring homeworks around teams, we hope to improve both the quality of the assignments as well as individual student learning. Programmers must learn how to work in teams and this is an opportunity to hone your teamwork skills.
Ideally, you and your partner should either try the problems individually and meet to go over results (and choose which answers to submit), or meet and work the problems together. We strongly discourage you from splitting up the problems and each working on only half of them. Each problem is designed to practice different elements from the Java programming language and object-oriented design. If you only do half of the programs, you may find that you are simply unprepared for the exams (which is going to be a problem because you must have a passing average on the exams to pass the course).
Course grades will be calculated as follows:
Total | Description |
45 | Three Examinations (E1, E2, E3) each worth 15 points Class Participation [via written answers to daily questions] can be added as 'bonus points' here; Up to 4 points for each exam]. Note that these points can help lift your grade to an A from a B, or to a C from a potential NR. |
5 | Labs. You must attend the Lab section to which you were assigned because there are only 23 machines in the lab |
50 | Homeworks. Breakdown found here. |
You must take all three exams and earn a passing average on each of them to pass the course. See explanation on meaning of passing average. In short, you need an accumulated score on the three exams of 135 points to have a passing exam average.
The grading policy for each project will be posted at the time of the assignment. In general, each assignment will have a basic objective for the majority of the assignment points and an extended objective for demonstrating additional work and understanding.
Final grades will reflect the extent to which you have demonstrated understanding of the material, and completed the assigned projects. The base level grade will be a B which indicates that the basic objectives on assignments and exams have been met. A grade of A will indicate significant achievement beyond the basic objectives and a grade of C will indicate not all basic objectives were met, but work was satisfactory for credit. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances.
All exams will be held in class and will be closed book. You will be allowed to bring one page of hand written (not printed from a computer) notes to the exam. Each exam will cover basic ideas and objectives of the class with a few questions testing additional understanding and insight.
The following table contains statistics for past years
2004 | 2005 | |
A | 41 (26%) | 43 (27%) |
B | 49 (31%) | 49 (31%) |
C | 40 (25%) | 35 (22%) |
NR | 28 (18%) | 30 (19%) |
Total | 158 (100%) | 157 (100%) |
Note that last year, six students failed to pass the course because their exam average was less than the required 135 points.
If you wish to NR the course, here are some strategies to follow:
Hey, it's like high school. I'll start the assignments the nigh before they're due -- just after Monday Night Football. | These assignments are weekly and will require time each day. You would not expect to learn a foreign language if you chose to practice speaking that language only one day a week. Why expect the same for programming? |
I don't need to read the assigned readings. If the professor doesn't talk about it in class, then it musn't be important. | We only have FOUR contact hours per week
plus ONE lab but I expect that your total workload will be SEVENTEEN
hours per week.
This is standard for WPI. You are responsible for TWELVE hours each week outside of class. This will either be TWO hours per day or some days with lots and lots of cramming. |
I'll just let my homework partner do all of the work for me. | Are you kidding me? Not only will this lead to a poor professional career, you will not be prepared for the exams. And if you don't maintain a passing average on the exams you will not pass this course. |
I know there are topics I do not know. But I hope they won't be asked on the exam. I can't go to office hours because then the professor will KNOW that I don't know the material. | I did not have many students coming to
my office hours last time; I really hope this wasn't the reason! The TAs and SAs have extensive office hours to help you through the course material. PLEASE take advantage of the available resources! |
Because there are two separate lecture sections, there will be two separate examinations. The afternoon lecture will be given a different exam from the one given to the morning lecture. I will make every attempt to ensure that the exams are fair even though they will be different. This policy will extend through all three exams.
I will prepare and distribute a practice exam during the second week of the course that will be indicative of the type of questions you will likely see during the examination. All past exams are available online, in the Course FAQs. No answers will be provided with the practice exam; seek help on questions from the SAs and TAs
There will be no make-up exams for this course. If you miss an exam, you will receive a zero UNLESS YOU PROVIDE DOCUMENTED evidence from the Office of Academic Advising together with a Doctor's note. Because there will be no make-up exams, if you miss either the first or the second exam through the above unique situation, your exam score will be based on two exams rather than three.
Unless explicitly noted, all work is to be done on an individual basis. Any violation of WPI's guidelines for academic integrity will not be tolerated and will result in disciplinary action. Please be sure that you are familiar with the posted guidelines for academic integrity.
In addition, any violation of the WPI Accepted Use Policy will not be treated lightly.
pla·gia·rism: The appropriation or imitation of the language, ideas, and thoughts of another author, and represetnation of them as one's original work. From the latin plagiarius = kidnapper.
I do not take cheating lightly.
Try to imagine a minor league baseball player trying to cheat his way through the Minor leagues to get into the Majors: If such a scheme actually worked, he would fail miserably the first day he actually tried to play. Can you imagine the humiliation?
So, I've provided some specific principles that you should follow:
Each homework assignment is an activity for two students. It is only natural that you discuss the class, or individual assignments, with your fellow classmates. However, you are only allowed to discuss the details of the homework solution with your teammate.
Here is a simple litmus test you can apply to determine the validity of your actions regarding communication with a student who is not your partner. If you discuss the essence of a problem with anyone in the class, you should be ok. If, however, you write on paper (or on a computer) code fragments, using "{" and "}" and ";" characters, you are coding, and you have crossed the line into a clear violation of the class policies.
If you and your teammate turn in code that you have not written, and claim it to be your own work, you are plagiarizing. If I suspect that plagiarism has occurred, I will set up a meeting with all the offending students. If you cannot explain code that you have submitted under your name(s), I will be forced to submit your names to the Department Chair and I will pursue the case with the Dean of students.
I encourage you to seek help on any problem when you have difficulties; after all, this is an institute of higher learning. But you must be aware that you are responsible for your own education; and if you cheat, you are only harming yourself. The SAs and TAs have extensive office hours to help you see your way through any problem you might have.
© 2006, George Heineman