CS 211/211H: Object Oriented Programming

(Fall 2016)

Contact Information

Dr. Shvetha Soundararajan

Email: shvetha@gmu.edu
Office: Engineering 4436
Phone: 703-993-6219
Office Hours: Mondays and Wednesdays: 1:30 - 2:30 pm

GTAs: See the course Piazza site for contact information.

Course Outcomes


Required: Building Java Programs, 3rd ed., by Reges and Stepp.

Recommended: Lab Manual (sections will be posted online on the course Piazza site for free download).


It is assumed you will have access to a computer with the ability to edit, compile, and run Java programs. Some university labs provide this ability. If you have difficulty accessing a suitable environment, contact the course staff.


1. Lectures

During lectures we will discuss programming concepts and instructors will provide demos of programming relevant to other course work. Programming labs will be for students to work on additional exercises and get immediate help from teaching assistants. In addition to attending the regular meeting times, you are strongly encouraged to visit the professor and teaching assistant(s) during office hours to further your understanding of the material: we are here to help you learn.

2. Textbook Readings

Readings from the textbook relevant to each lecture are listed in the schedule. You will increase your understanding of lectures by reading associated textbook sections ahead of time, though this is not assumed. We may provide additional reading material to supplement the textbook which will be posted on the course web page.

3. Labs

Labs meet once per week and attendance is required. Labs roughly alternate between Lab Exercises and Lab Quizzes/Tasks.

Associated with lab are readings from the Lab Manual posted online. It is assumed that students read the scheduled lab manual sections prior to each lab; doing so will make it relatively easy to complete the labs during the allowed time. This is one of our main sources of practice. If you don't practice, you won't succeed.

Lab Exercises

About half of labs will involve Lab Exercises. These are short sets of programming problems which are designed to be completed during the lab time so long as students have kept up with reading and lectures. Teaching Assistants will give a brief introduction to the problems and then be present to assist as students work on the exercises.

Lab exercises are open resource and open collaboration. Students may freely discuss how to solve the exercises with anyone, examine each other's code, assist one another in debugging, and employ any online or physical resources to complete the exercises. No penalties will be assessed for similar looking code on Lab Exercises.

Lab Quizzes and Tasks

About half of labs will involve either a Lab Quiz, a set of paper and pencil questions, or a Lab Task, a programming task on a computer. Lab Quizzes and Tasks are closed resource, no collaboration allowed. For Lab Tasks, students may use their own programming environment and submit their solutions to Blackboard by the end of the lab. No external resources may be used for Tasks.

Students will take the Quiz or Task in the lab room and be monitored by teaching assistants. All materials must be submitted by the end of the lab period according to the instructions associated with the assessment.

4. Programming Projects

Students will receive a number of programming projects during the semester. Each project will involve writing programs and answering questions about them to illustrate an understanding of course material.

Each programming project will have an "Honors Problem" which honor section (H01) students must complete. Other sections are not required to do these sections and will not receive any credit for completing them but are free to try. The normal projects will normally be scored out of 100 points, and earning 100 points would be a perfect score. The honors problem will be some additional amount of points. If a particular project had a 15 point honors problem, then they would need 115 points to get a perfect score. Disregard blackboard's "points possible" claims if it doesn't match your style of section.

5. Exams

There will be two midterm exams during the course during the regularly scheduled lecture time. There will also be a comprehensive final exam at the end of the semester. Refer to the schedule for dates of the exams.

Grading Policy

Lab Exercises 5%
Lab Quizzes and Tasks 10%
Programming Projects (4 -7) 40%
Midterm Exams (2) 20%
Final Exam 25%

Contesting of grades on any/all submissions must be requested within one week of the item's return. No grade changes will be considered subsequent to that deadline, or after the final exam meeting.

Final grades are calculated on a 10-point scale per letter grade, with the upper and lower 2% of each 10% earning a + or -.

A+ (>= 98.0%) A (>= 92.0%) A- (>= 90.0%)
B+ (>= 88.0%) B (>= 82.0%) B- (>= 80.0%)
C+ (>= 78.0%) C (>= 72.0%) C- (>= 70.0%)
D (>= 60.0%)
F (< 60.0%)

Honor Code

All students are expected to abide by the GMU Honor Code and the CS Department's Honor Code policies. This policy is rigorously enforced. All class-related assignments are considered individual efforts unless explicitly expressed otherwise (in writing). Review the university and department honor code and present any questions regarding the policies to instructor. Cheating on any assignment will be prosecuted and result in a notification of the Honor Committee as outlined in the GMU Honor Code.

Disability Accommodations

Students with a learning disability or other condition (documented with GMU Office of Disability Services) that may impact academic performance should speak with me ASAP to discuss accommodations.