Contact Information(top)
Instructor: Dan Fleck

   Email:  dfleck (at)
   Phone: 703-993-4198
   AOL IM: danpf1

   Office: ST-II 405
   Office Hours: Tues 12:30-1:30, or anytime by appointment

Graduate TAs:

   Mayur Bhot
   Email:  mbhot (at)
Office Hours: Thursdays 3:30 to 4:30
   Office: STII - 365
   Lab Sections: 12:30, 1:30, 2:30 

   Sudheendra "Sudhi" Bhat
   Email:  sbhat2 (at)
Office Hours: Tues 2-3pm
   Office: STII - 330
   Lab Sections: 3:30, 4:30, 5:30

Undergraduate TAs:
    Gaurav Singh - gsingh9 (at)
    William Monks - wmonks (at)

Undergraduate TA Lab Schedule:
    Labs 201-204 (meeting Thurs. 12:30-4:20 p.m.):  William Monks [ST1, 128]   
    Labs 205-206 (meeting Thurs. 4:30-6:20 p.m.): Gaurav Singh [ST1, 124]

Class Location(top)

   CS 211 - 001 - 74657 - 9:00-10:15 - TTH - Robinson Hall B228
   CS 211 - H01 - 74660 -  9:00-10:15  - TTH - Robinson Hall B228

   You must also be registered for a lab section. Attendance at labs is mandatory.


Course Outcomes and Information(top)

This course continues to focus on problem solving, testing, debugging and introduces object oriented concepts. We will cover classes, inheritance, packages, collections, and polymorphism.

The following are the expected outcomes from this course:
  1. An understanding of basic object-oriented 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 and 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.

Students are responsible for reading and understanding the assigned material in the textbook, which may or may not be covered in class. Questions should be presented in class or during instructor/GTAs office hours.

Throughout this course we will use Blackboard ( for assignment submissions, grade distributions, and discussion forums. The first place to ask for help is through the Blackboard forums.

Prerequisite: Grade of C or better in CS112

Textbook (top)

Lewis and Loftus Book CoverJava Software Solutions: Foundations of Program Design (5th ed)

John Lewis & William Loftus

Corrections to book: FirstPrintingUpdate


Grading Policy (top)

% of Final GradePoints per  Assignment
Projects24%3 @ 40pts each3 projects
Labs18%10 @ 10pts each10 labs (lowest will be dropped)
Quizzes8%5 @ 10pts each5 quizzes (lowest will be dropped)
Class Participation9%45pts
Midterm Exam15%75pts
Final Exam20%100ptsTues. 12/16 7:30 a.m.–10:15 a.m.

GMU ID required to submit the final

Course Grade Calculation
A+>= 490
A>= 460
A->= 450
B+>= 440
B>= 410
B->= 400
C+>= 390
C>= 360
C->= 350
D>= 300
F< 300
NOTE: A failing grade on the final will result in a failing grade for the course regardless of your other grades!

If you feel you deserve a better grade on an assignment, you can appeal your grade in writing. Written grade appeals will only be accepted within 7 days of you receiving the grade. The appeal should clearly explain why you feel you deserve a higher grade. I will never lower your grade due to an appeal, but I may or may not raise your grade depending on your justification. (Get Well Plan... do this if you're having problems in the class.)

LATE POLICY: All assignments must be submitted by the deadline to be considered for full credit. Late lab assignments will not be accepted. Late projects will be tolerated, but are subject to a penalty of 20% per day. No assignment will be accepted for credit after the last class meeting. You should start early on all assignments. Many problems arise when programming, both in your control and outside your control (hardware problems, computer lab unavailable, etc...).

As with all GMU courses, this course is governed by the GMU Honor Code. In this course, all assignments, exams, and project submissions carry with them an implicit statement that it is the sole work of the author, unless joint work is explicitly authorized. Help may be obtained from the instructor or other students to understand the description of the problem and any technology, but the solution, particularly the design portion, must be the student's own work. If joint work is authorized, all contributing students must be listed on the submission. Any deviation from this is considered an Honor Code violation, and as a minimum, will result in failure of the submission and as a maximum, failure of the class.

Plagiarism is stealing the work of others and presenting it as your own. This includes written papers, but also computer programs, presentations, etc... anything that was not created by you should be referenced. When in doubt, add a reference. If you have any questions about whether you can or cannot use something you've found ask your professor or TA. If another student let you copy their work you are BOTH guilty. Any plagiarism violations will be sent to the Honor Committee. If you are found guilty of plagiarism twice in your university career you will be expelled. This is a very serious offense! More information about plagiarism is on the writing center website and at If you feel the need to do this for any reason, come talk to your professor and we'll work out a better plan. There is ALWAYS a better plan than plagiarizing!

This class will use automated tools to detect plagiarism (including written materials and source code).

Labs and projects are considered individual efforts unless otherwise noted in the assignment. You may ask questions to your TA, Instructor or on Blackboard forums. Posting questions anywhere else on the web is prohibited. if you use any documentation from the web you must site the reference in your assignment submission, failure to do so will result in failing the assignment. Viewing source code or allowing your's to be viewed by others is a violation and is considered cheating in this course. Write your own code!

If you are a student with a disability and you need academic accommodations, please see me and contact the Disability Resource Center (DRC) at 703.993.2474. All academic accommodations must be arranged through that office.