Prerequisites:
CS 112 (C or better)
Format:
Lecture plus weekly lab
Instructors:
Name: | Brian Hrolenok (PhD) |
Email: | hrolenok@gmu.edu |
Webpage: | https://cs.gmu.edu/~hrolenok |
Hours: | Thursdays 12:00-2:00pm |
Office: | Nguyen Engineering Building, 4708 |
Name: | Socrates Dimitriadis (PhD) |
Email: | socrates@gmu.edu |
Webpage: | https://cs.gmu.edu/~socrates |
Hours: | Thursdays 3:00-5:00pm |
Office: | Nguyen Engineering Building, 4508 |
Name: | Prof. David Igna Gonzalez Samudio |
Email: | dgonza10@gmu.edu |
Hours: | Tuesdays and Thursdays 4:30-5:30pm |
Office: | Nguyen Engineering Building, 5309 |
Name: | Dibyendu Das |
Email: | ddas6@gmu.edu |
Hours: | Tuesday 11a-12p & Wednesday 1-3p |
Office: | ENGR 4456 |
Name: | Jonathan Mbuya |
Email: | jmbuya@gmu.edu |
Hours: | Wednesday 3-5p & Friday 2-5p |
Office: | ENGR 4456 |
Name: | Prommy Sultana Hossain |
Email: | phossai@gmu.edu |
Hours: | Tuesday 4-6p & Thursday 1-3p |
Office: | ENGR 4456 |
Name: | Saadat Hasan Khan |
Email: | skhan225@gmu.edu |
Hours: | Monday 3-4p & Friday 9-11a |
Office: | ENGR 4456 |
Name: | Fardin Sakib |
Email: | fsakib@gmu.edu |
Hours: | Thursday 10a-12p & Friday 11a-2p |
Office: | ENGR 4456 |
Name: | Long Cao Thanh Doan |
Email: | ldoan5@gmu.edu |
Hours: | - |
Office: | - |
Name: | Saad Muhammad Abdul Ghani |
Email: | sghani2@gmu.edu |
Hours: | Tuesday 2-4p & Wednesday 11a-1p |
Office: | ENGR 4456 |
Name: | Sadia Afrin Mim |
Email: | safrinmi@gmu.edu |
Hours: | Monday 11a-1p & Tuesday 12-2p |
Office: | ENGR 4456 |
Section | Day | Time | Instructor | Location |
---|---|---|---|---|
Sec 001 | TR | 3:00 pm - 4:15 pm | Gonzalez | ENGR 1101 |
Sec 002 | TR | 1:30 pm - 2:45 pm | Dimitriadis | ENGR 1101 |
Sec 003 | MW | 12:00 pm - 1:15 pm | Hrolenok | ENT 178 |
Sec 004 | MW | 1:30 pm - 2:45 pm | Hrolenok | ENT 178 |
Sec H02 | TR | 1:30 pm - 2:45 pm | Dimitriadis | ENGR 1101 |
Section (Lab / Lec) | Day | Time | Instructor | UTA | UTA | Location |
---|---|---|---|---|---|---|
201 / 001 | W | 8:30am | Khan | Kenneth Johnson | - | IN 326 |
202 / 001 | W | 9:30am | Khan | Kenneth Johnson | Brandon Landers | IN 326 |
203 / 001 | W | 10:30am | Khan | Kenneth Johnson | Jahnavi Paladugu | IN 326 |
204 / 001 | W | 11:30am | Das | Wilson Tran | Brandon Kim | IN 326 |
205 / 002 | F | 8:30am | Sakib | Lloyd Amaranto | Brandon Landers | IN 222 |
206 / 002 | F | 9:30am | Sakib | Lloyd Amaranto | Brandon Landers | IN 222 |
207 / 002 | F | 10:30am | Mbuya | Lloyd Amaranto | Jahnavi Paladugu | IN 222 |
208 / 002 | F | 11:30am | Mbuya | Dan Le | Louis Spector | ENGR 4457 |
209 / 003 | T | 8:30am | Das | Susan Ngo | Rohina Naderi | IN 222 |
210 / 003 | T | 9:30am | Das | Susan Ngo | Faraaz Rahman | IN 222 |
211 / 003 | T | 10:30am | Ghani | Susan Ngo | Faraaz Rahman | IN 222 |
212 / 003 | T | 11:30am | Ghani | Louis Spector | - | IN 222 |
213 / 004 | R | 8:30am | Afrin Mim | Rohina Naderi | Faraaz Rahman | IN 222 |
226 / 004 | R | 9:30am | Afrin Mim | Rohina Naderi | Brandon Kim | IN 222 |
227 / 004 | R | 10:30am | Hossain | Dan Le | Saneela Refai | IN 222 |
228 / 004 | R | 11:30am | Hossain | Jahnavi Paladugu | Saneela Refai | IN 222 |
2H2 / H02 | F | 10:30am | Mbuya | Lloyd Amaranto | Jahnavi Paladugu | IN 222 |
required | zyBooks | Object-Oriented Programming in Java | Available online at zyBooks
The discount is not available through third-party sites like GMU Bookstore, etc. |
required | GMU | CS 211 Lab Manual | Available for free download from https://cs.gmu.edu/~marks/211/textbook/ |
optional | Reges and Stepp | Building Java Programs, 3rd ed. | See online at https://practiceit.cs.washington.edu/ |
Course Description: Thorough treatment of programming according to object-oriented principles. Introduces classes, interfaces, inheritance, polymorphism, and single dispatch as means to decompose problems. Covers intermediate programming techniques including error handling through exceptions, arrangement of source code into packages, and simple data structures. Intermediate debugging techniques and unit testing are covered.
Outcomes
Readings:
online textbook with practice problems; weekly deadlines; automated grading
Class participation:
it varies by instructor
Labs:
programming exercises during recitation(lab) sessions; collaboration/group work allowed; same date as the recitation(lab) sessions
Exercises:
programming assignments; open resources; collaboration/group work allowed; weekly deadlines
Projects:
programming assignments; individual work; 2-3 weeks to complete.
Exams:
individual work; you might need the Respondus Lockdown Browser as well as a working webcam and microphone.
Grade Distribution
Coursework | Weight | Drop policy |
---|---|---|
Class participation | 3% | varies by instructor |
Readings | 3% | lowest 15 subsections |
Labs (15) | 10% | lowest two |
Exercises (3) | 9% | none |
Projects (5) | 30% | none |
Midterm Exam | 20% | none (but see Grading Policies below) |
Final Exam | 25% | must pass final to pass the course (see Grading Policies below) |
Grading Scale
Grade | A+ | A | A- | B+ | B | B- | C+ | C | C- | D | F |
---|---|---|---|---|---|---|---|---|---|---|---|
max | ↑ | 97 | 91 | 89 | 87 | 81 | 79 | 77 | 71 | 69 | 59 |
min | 98 | 92 | 90 | 88 | 82 | 80 | 78 | 72 | 70 | 60 | ↓ |
.java
source rather than compiled
.class
files or
word documents containing the source. It also means that the
code must be submitted on Blackboard rather than simply saved.
Unless specific instructions are given to the contrary, programming assignments are an individual effort, no group work is allowed. In addition to code, this includes the sharing of test cases, pseudocode, or approaches, receiving assistance in debugging code, as well as the use of external Internet sites.
Both the GMU Honor Code and the CS Department Honor Code apply in this class. Any use of a direct contribution on any program, homework, quiz, or exam will be reported as a violation of the honor code.
We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated. We use automated software to flag suspicious cases, and then review them to find the cases that must be submitted to the Office of Academic Integrity. The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance. Confirmed cases of cheating almost always translate into course failure.
Some kinds of participation in online study sites violate the Mason Honor code: these include accessing exam or quiz questions for this class; accessing exam, quiz, or assignment answers for this class; uploading of any of the instructor’s materials or exams; and uploading any of your own answers or finished work. Always consult your syllabus and your professor before using these sites.
Students who have a right to accommodations due to disabilities or other conditions should discuss this with the instructor as soon as possible. Accommodations will follow the recommendations of the University's Office of Disability Services.
We are in unprecedented times. For our collective safety, please follow these guides: Click here.
Week | Date | Topic(s) | Lab Text reading | zyBooks reading | Homework | Due |
---|---|---|---|---|---|---|
week 1 | Introduction; Basics; Flow control | 1, 2, A2 | 1, 2, 3 | |||
Friday, Aug 26 | ZY 1,2,3 | |||||
week 2 | Arrays; Input/Output; File I/O | 3, 5 | 4, 5 | P1 | ||
Friday, Sep 2 | ZY 4,5 | |||||
week 3 | Classes; Objects; Methods; Fields | 4, 6 | 6, 7 | P1 | ||
Friday, Sep 9 | P1 & ZY 6,7 | |||||
week 4 | Command line args; Packages; Javadocs | 11, 13 | 8 | E1 | ||
Friday, Sep 16 | E1 & ZY 8 | |||||
week 5 | Inheritance; Polymorphism; Dynamic dispatch | 7 | 10 | P2 | ||
Friday, Sep 23 | ZY 10 | |||||
week 6 | Abstract classes; Interfaces; Enums | 8, 9 | 11 | P2 | ||
Friday, Sep 30 | P2 & ZY 11 | |||||
week 7 | Midterm Exam | P3 | ||||
Friday, Oct 7 | ||||||
week 8 | Exceptions; Unit testing | 10, 12 | 12 | P3 | ||
Friday, Oct 14 | P3 & ZY 12 | |||||
week 9 | Generics | 14 | 13 | E2 | ||
Friday, Oct 21 | E2 & ZY 13 | |||||
week 10 | Collections, Lists & Queues | 9, 14 | P4 | |||
Friday, Oct 28 | ZY 9,14 | |||||
week 11 | Recursion | 15 | 15 | P4 | ||
Friday, Nov 4 | P4 & ZY 15 | |||||
week 12 | Searching & Sorting | 16 | 16 | P5 | ||
Friday, Nov 11 | ZY 16 | |||||
week 13 | Nested classes; Lambda functions | A1 | 19 | P5 | ||
Friday, Nov 18 | P5 & ZY 19 | |||||
week 14 | Graphical User Interfaces | 17, 18 | ||||
Thursday, Nov 24 | THANKSGIVING | |||||
week 15 | Final Exam Review | E3 | ||||
Friday, Dec 2 | E3 & ZY 17,18 | |||||
week 16 | Final Exams |