|Name||Victor Adamchik||Hui Han Chin|
|Office||7719 GHC||7110 GHC|
|Office hours||Tu 1:30 - 2:30 pm
Th 1:30 - 2:30 pm
|M 4:30 - 6:30 pm
R 4:30 - 6:30 pm
|Lectures||MTWRF||12:00 - 01:20pm||4307 GHC|
|Recitations||MR||03:00 - 04:20pm||4307 GHC|
Course Home Page: http://www.andrew.cmu.edu/course/15-211
Course discussion Bboard: academic.cs.15-211
You may use any programming environments available to you such as CodeWarrior, Eclipse, Project Builder, TextPad, Emacs and others. We recommend you to look at a free open-source Java environment available from Eclipse . You need to install the Java 2 SDK first before installing Eclipse.
Participation in this course consists of the following activities
- Attending and participating in lectures and recitations
- Reading the lecture notes
- Reading the textbook
- Carrying out homework assignments
- Taking the quizzes, midterm, and final.
- Discussing appropriate aspects of course content with other students
- Staying up to date on announcements on the bboard
Attendance is strongly encouraged. You will be responsible for all materials presented in lectures. You should not expect that all lecture materials will be given to you in written form, nor should you expect that lectures will be drawn from the textbook.
Grades for the course will be determined by a curve. First, we will compute a weighted total of each student's scores on assignments and exams. These will be plotted as a histogram, and then approximate cutoff points for the different letter grades will be determined. Individual cases, especially those near the cutoff points may then be adjusted upward or downward based on factors such as extra credit and participation in recitation discussions (TA discretion). Very roughly, we expect to give you
an A, if your score is one deviation or more above the class averageIndividual cases, especially those near the cutoff points may then be adjusted upward or downward based on factors such as extra credit and participation in recitation discussions (TA discretion).
a B, if your score is within one deviation above the class average
a C, if your score is within one deviation below the class average
a D, if your score is two deviations below the class average.
The homework assignments are critical part of the course. They are designed to test your learning Experience has shown that concepts are best learned by direct engagement---in our case by applying them to example problems or by implementing them in computer programs. Each assignment consists of two parts: theory and programming.
Programming assignments will be graded based on style (modularity, effective use of data abstraction, readability, commenting, etc.) and functionality (correctness and efficiency of the program on the test inputs.) A working program is not sufficient for full credit. Make sure you do a thorough data validation. Your code should be properly annotated with comments.
We do allow collaboration on SOME programming assignments, though it is limited to max 2 students per group. If you work as part of a group, you only submit one copy of the program with both names in it. In addition, please submit in the header of the main file a description of the work each partner has done. Please be specific. We expect that both partners in the group are actively involved in the coding and debugging of all parts in some way. We may ask you to explain the code and how you debugged and tested it.
One possibility is that each person in the group becomes a lead programmer for at least one part. After you have debugged your part, your partner is responsible for testing your part. Having someone who did not write the code test the code is a standard quality assurance approach used in industry. Alternatively you can do pair programming (two people, one computer). Another approach is to divide up the programming into parts, and then do a "code review," where the one who did the programming explains the code to the other, line by line. Code reviews are common in industry, as is pair programming, which is an "extreme programming" practice.
For homework assignments, students are encouraged to talk to each other, to the course staff, or to anyone else about the assignments. This assistance, though, is limited to the discussion of the problem and perhaps sketching of general approaches to a solution. Each student must develop his or her own solutions to the homework. Consulting another student's solution is prohibited, and submitted solutions may not be copied from any source.
Each programming assignment will be MOSSED for Plagiarism Detection.
The issue of cheating will be taken seriously by the instructor and TAs, and homerwork asignments will be routinely checked for violations, which will be handled in accordance with the University regulations.
Last updated Thursday, May 05, 2011
|Victor S. Adamchik,
Computer Science Department,
Carnegie Mellon University, Pittsburgh, PA.