CS 211: Object Oriented Programming

George Mason University

Spring 2013

1 Basic Information

1.1 Prerequisite

Grade of C or better in CS 112.

1.2 Instructors

NameProf. Mark SnyderProf. Chris Kauffman
Sections002, 003, H01001
OfficeENGR 5346ENGR 5341
See the course Piazza site for contact info for all TAs.

1.3 Lecture

001MW12:00 pm-01:15 pmKauffmanBlueridge Hall 129
002TR12:00 pm-01:15 pmSnyderInnovation Hall 132
003T04:30 pm-07:10 pmSnyderRobinson Hall B104
H01TR10:30 am-11:45 amSnyderRobinson Hall B102

1.4 Labs

All labs are in Engineering 4457, led by graduate TAs

201001R01:30 pm-02:20 pmKauffman
202001R02:30 pm-03:20 pmKauffman
203001R03:30 pm-04:20 pmKauffman
204002F01:30 pm-02:20 pmSnyder
205002F02:30 pm-03:20 pmSnyder
206002F03:30 pm-04:20 pmSnyder
207003W08:30 am-09:20 amSnyder
208003W09:30 am-10:20 amSnyder
209003W10:30 am-11:20 amSnyder
2H1H01F12:30 pm-01:20 pmSnyder

1.5 Course Materials

Java Software Solutions - Foundations of Program Design, 7th ed. Lewis & Loftus. (You do not need the extra online programming supplement, but it may give you another good source of practice).
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 and the first week of the course will cover how to set up your personal environment. If you have difficulty accessing a suitable environment, contact the course staff.

1.6 Communication

This will be the central site for our announcements, documents repository, and discussion board. The announcements and discussion board are part of the required reading for the course.
  • All instructors and TAs can view all material on Piazza
  • Use public posts on Piazza to discuss programming assignments, HW, labs, and other material related to the course.
  • Use private messages on Piazza for personal questions involving your own code or situation.
  • Refer to the Piazza main page for etiquette on what should be posted publicly versus privately
Is used for assignment submission and to disseminate grades on assignment
Office Hours
Listed for all Instructors and TAs on Piazza (Course Page –> Staff).

2 Course Outcomes

  1. An understanding of basic object-oriented (OO) programming concepts and principles.
  2. An ability to apply basic object-oriented principles and techniques in the development of software systems using a specific programming language.
  3. An ability to effectively develop software systems using both basic command line tools and sophisticated integrated development environments, and to understand the advantages and limitations of each.
  4. An ability to successfully perform debugging operations and techniques.
  5. An ability to perform software development in both individual and team environments.
  6. An understanding of programming-related references/resources available to software developers and the ability to use them effectively – both in ongoing projects and in the acquisition of new technical skills.
  7. An understanding of how acquired programming skills facilitate success in upper level CS courses and in various professional environments.

3 Coursework

During lectures we will discuss programming concepts and instructors will provide demos of programming relevant to assignments. 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.

Readings from the textbook relevant to each lecture are listed in 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.

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

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 semster. Refer to the schedule for dates of the exams. During labs there will also be short quizzes on some meetings to ensure you stay up-to-date on course topics.

4 Grading Policy

Final grades will be determined by scores obtained on homeworks, quizzes, projects, the two midterm exams, and final exams. If circumstances require it, the grading scale may be adjusted, generally in the students' favor.

Programming Assignments45%
Homeworks and Quizzes10%
2 Exams20%
Final Exam25%
  • A "ceiling penalty" of 25% is assessed each 24-hour period entered after the deadline. For example, if you turn in work half a day late and score 87%, you will receive min(87,75) = 75% (and not 87-25=62%). Note that work turned in more than three 24-hours periods late will earn zero points, and will only be graded as time permits.
  • You can submit work to BlackBoard as many times as desired. Only the last submission will be graded. If you anticipate being rushed around the submission deadline, be sure to submit a version before the deadline as a backup, in case you find yourself only moments late in meeting a deadline.
  • On-time submissions will generally be graded and available a week from submission. Late submissions will be graded in as timely a fashion as schedules allow.

4.1 Final Grade Determination

Final grades will be assigned without rounding according to the following criteria. It is a 10-point scale per letter grade, with the upper and lower 2% of each 10% earning a + or -.


4.2 Contested Grades

  • Do not contest a grade immediately and in person when it is handed back. Schedule a meeting outside class with the grader, or send written correspondence requesting feedback and reconsideration.
  • If you have not initiated contact within a week after receiving a grade, the chance to contest it has closed.

5 Academic Integrity

Any attempts at cheating will not be tolerated, and will be turned in to the Honor Court with significant penalties recommended. You should be familiar with both the honor code at GMU and the further details of the CS Honor Code Policies, but in short you should never see, share, or discuss any part of the solution to any graded work - from algorithm development to implementation to debugging to test cases. When in doubt, ask your instructor instead of another student.

6 Tests

  • Your Mason ID is required for both the tests and final exam.
  • Missing an exam or quiz results in a zero score and make-up exams will be considered only in situations involving death and near death. Proof of such circumstances will be required for a make-up to be considered.
  • Failing the final exam will result in an F in the entire course.

7 Additional Policies

Students are expected to maintain a high level of civility for all participants in and out of class meetings. This includes respecting the beliefs of participants of all genders, ethnicities, and social backgrounds. Harassment of any type will not be tolerated and failure to behave in a respectful manner will result in referrals to University Counseling or the Office of Student Judicial Affairs. Any instances of sexual harassment will be reported to the Office of Equal Opportunity according the following policy: http://universitypolicy.gmu.edu/1202gen.html

Observance of religious events will be accommodated for students of any faith.

All possible accommodations will be made for students with disabilities. Please contact Disability Services (\url{http://ods.gmu.edu/}) and the instructor for further information.

8 Additional Policies for Prof. Kauffman's Sections

8.1 Attendance Policy

Bonus credit will be awarded based on participation in class discussions in lecture. Before each lecture, I will announce a range of the alphabet. Students with last names in that range may elect to sit in the first 3 rows of the room and answer questions (hot seats). Reasonable effort on answering questions in class will garner class participation credit. Participation points may also be earned for involvement in the class discussion board such as giving suggestions to students with questions (but not revealing answers wholesale). Effort during lab sections generates one participation credit.

The highest participation point winner at the end of the semester will receive a 3% bonus to their overall score in the course. All other students will receive a bonus proportional to the highest point winner. For example, someone tied with the highest point scorer will also receive a 3% bonus while someone with half the participation points will receive a 1.5% bonus.

9 Additional Policies for Prof. Snyder's Sections

9.1 Attendance Policy

Attending both lecture and lab are quite to your benefit - I have no reservations including test or exam questions based on materials that are only shared in these venues. In lieu of the hot-seat approach to extra credit described in Prof. Kauffman's sections, I will include extra credit opportunities on my tests/exams that will most likely pull from these only-in-class experiences. The same 3% maximum benefit will be possible.

Date: Spring 2013

Author: George Mason University

Org version 7.8.02 with Emacs version 24

Validate XHTML 1.0