CS 211: Object Oriented Programming
(Fall 2015)
HOW TO CONTACT
Piazza is 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. Do not e-mail course staff about programming problems; use the discussion board.
Email course staff only for logistical issues such as meeting outside of office hours, missing lab/lecture, grading disputes, medical situations, etc. Email addresses are listed on Piazza.
BlackBoard is used for project submission and to post grades.
CONTACT INFORMATION
| Instructor: |
Katherine (Raven) Russell |
| Piazza: |
http://piazza.com/gmu/fall2015/cs211/home |
| Instructor Email: |
krusselc_AT_gmu.edu |
| Email Subject Line: |
[CS211] |
| Instructor Office Hours: |
Engineering, Rm 5328, Tuesday/Thursday 10:30-11:30am |
| UTAs and GTAs: |
See Piazza for contact information |
TEXTBOOK
Recommended: Building Java Programs, 3rd ed., by Reges and Stepp.
Required: Lab Manual (sections will be posted online on the course Piazza site for free download).
SOFTWARE & PROGRAMMING REQUIREMENTS
You will need a computer for this class with some modern operating system capable of running a Java compiler. Remember that lab computers are also available on campus, see next section.
The prerequisite for this course is CS 112 or its equivalent with a grade of C or better. I will assume a "semester's worth" of programming experience. You should understand basic programming including program design, coding, and debugging techniques.
COURSE OUTCOMES
- 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.
CLASS COMPONENTS & REQUIREMENTS
- Lectures - During lectures we will discuss programming concepts and provide demos of programming relevant to other course work.
- Labs - Labs meet once per week and attendance is required. Labs roughly alternate between Exercises and Quizzes/Tasks. Lab exercises are open resource and open collaboration. Lab Quizzes and Tasks are closed resource, no collaboration allowed.
- Readings - 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.
- Office Hours - 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.
- Programming Assignments - 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.
- 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 Quizzes |
5% |
Drop lowest one |
| Lab Tasks |
10% |
Drop lowest two |
| Programming Projects |
40% |
Drop lowest one |
| Midterm Exams |
20% (10% each) |
No drop |
| Final Exam |
25% |
No drop |
FINAL GRADES
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 -. For example:
| A+ |
98% and up |
| A |
92-97 |
| B- |
90-91 |
| B+ |
88-89 |
| B |
82-87 |
| B- |
80-81 |
| etc... |
|
ACADEMIC HONESTY
PRIME DIRECTIVE: Be able to explain your own work including homework code and exam solutions. The work you submit should be the product of your own effort and reflect your personal understanding. Students may be asked at any time to explain code or exam solutions they submit. Inability to do so will be construed as evidence of misconduct.
Both the University and the Computer Science Department have honor codes you are expected to adhere to. We will be reviewing these in class, but more information about the university honor code can be found here: http://oai.gmu.edu/the-mason-honor-code-2/ and the deparment's honor code can be found here: http://cs.gmu.edu/wiki/pmwiki.php/HonorCode/CSHonorCodePolicies. You are bound by these honor codes.
Any submitted work which shows too much commonality with others' work to be completely original, or any plagiarized work, will result in a case for the Honors Committee. Any code which is presented in class or provided to you as part of the project may be included in your programs.
CAMPUS RESOURCES
SPECIAL POLICIES
- Laptops and Other Electronic Devices – will be allowed in class only at certain times.
- Attendance – is not required, but is strongly recommended.
- Group Work – is ok for reading and studying, but is not ok for: homework assignments, programming assignments, individual lab assignments, quizzes, or exams.
- Late Assignments – will not be accepted without prior approval.
- Makeup Exams – require exceptional circumstances (as judged by me) and must be arranged in advance.