CS 211 / 003
Object-Oriented Programming
Meets
Monday 4:30 pm - 7:10 pm in Science and Technology I, Rm 131.
Professor
Zoran Duric.
Teaching Assistants
Sunnitha Thummala
Course Web Page
http://cs.gmu.edu/~zduric/cs211/
Textbook
The textbook is John Lewis and William Loftus, Java Software Solutions: Foundations of Program Design, 6th ed., Adison Wesley, 2009.
About the Class
This is the second course in programming. I will assume that students are familiar with the basics of programming, i.e. designing, coding, testing, and debugging simple programs. The language you have used in the past doesn't matter.
We will study programming with the Java language. Emphasis will be on object-oriented thinking/design/programming. We will cover the basics of Java and discuss good programming methodology.
Course outcomes
Upon completing the course the students
will have:
- an understanding of basic object-oriented (OO) programming
concepts and principles.
- an ability to apply basic object-oriented principles and
techniques in the development of software systems using a specific
programming language.
-
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.
-
an ability to successfully perform debugging operations and techniques.
- an ability to perform software development in both individual and team environments.
- 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.
- an understanding of how acquired programming skills facilitate
success in upper level CS courses and in various professional
environments.
Labs
Attendance at labs is required. A short
programming assignment will be given at the beginning of the lab and
the lab instructor will be available to help students with the
programming. If not completed the lab may be taken home. Lab
assignments will be due at the beginning of the following lab
period. No late lab assignments will be accepted.
There will be occasional unannounced quizzes given in labs. A missed quiz cannot be made up. The lowest quiz score for the semester will be dropped.
Projects
In addition to the labs there will be several larger programming projects. These will be presented and discussed in the lecture. Late projects will be accepted with a 20% per day late penalty.
Individual work
You are free to discuss ideas for both the labs and projects with other students, however no joint work is permitted. Any submitted work must be yours alone. Any work which shows too much similarity with others' submitted work will receive a grade of 0. Extreme or repeat cases may result in failing the course or referral to the Honor Commitee.
Read the CS
Department honor code and the University honor code. You are
bound by these honor codes.
Grading
In addition to the labs and projects there will be a midterm exam and a final. Grades will be computed using a weighted average of these scores with the weights:
- labs: 20%
- quizzes: 10%
- projects: 25%
- midterm exam: 20%
- final exam: 25%
Additionally, a score of 60% or better on the final exam is required to pass the course.
Disabilities
If you heve a documented learning disability or other condition which may affect academic performance, make sure this documentation is on file with the Office of Disability Services and come talk to me about accommodations.