Instructors:
Name: | Ghada Alnifie | Ivan Avramovic |
Email: | galnifie-at-gmu.edu | iavramo2-at-gmu.edu |
Hours: | 12:30-2:30pm Thu | 10:30-11:30am Tue/Thu |
Office: | 5309 Engineering | 4609 Engineering |
Zheng Chai | (zchai2-at-gmu.edu) |
Ao Wang | (awang24-at-gmu.edu) |
Sabiha Salma | (ssalma-at-gmu.edu) |
Pushkal Reddy | (preddy6-at-gmu.edu) |
Ashwin Ravishankar | (aravisha-at-gmu.edu) |
Charu Singh | (csingh6-at-gmu.edu) |
Mohammad Rahman | (mrahma23-at-gmu.edu) |
Section | Days | Times | Location | Instructor |
---|---|---|---|---|
001 | Tue/Thu | 10:30-11:45am | 1101 Engineering | Alnifie |
002 | Mon/Wed | 1:30-2:45pm | 129 Planetary Hall | Avramovic |
003+P01 | Tue/Thu | 12:00-1:15pm | 178 Enterprise Hall | Avramovic |
005+H01 | Tue/Thu | 3:00-4:15pm | 131 Planetary Hall | Alnifie |
GMU | CS 211 Lab Manual | available for free download from https://cs.gmu.edu/~marks/211/textbook/ | |
zyBooks | Programming in Java | available online at https://learn.zybooks.com/ (access using the sign-in code GMUCS211AvramovicSpring2019) | |
(Optional) | Reges and Stepp | Building Java Programs, 3rd ed. | available 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
zyBooks:
online textbook with practice problems;
weekly deadlines for completing the practices are checked
automatically.
Labs:
Grade Distribution
Material | Weight | Drop policy |
---|---|---|
zyBooks | 5% | lowest 15 subsections |
Labs (weekly) | 10% | lowest three |
Programming projects (5-6) | 40% | |
Midterm exams (2) | 20% | - |
Final exam | 25% | - |
Emergency Tokens
Honors Section Differences (Sec H01)
During some lectures, additional material will be mentioned with some reading associated with it. Students in H01 are expected to do these additional readings and master those topics as they may appear on the H01 tests and final exams. Each programming project will have an "Honors Problem" which honors students must complete. These problems may reflect the additional topics covered in lecture and often be more difficult than other portions of the project. Grading projects for honors students will be out of total points available including the honors section: each project will have 100 points plus an honors section, frequently worth up to 20 points. In such cases honors students will be scored e.g. as X / 120 for a score of X on a project with 120 points. For example, an honors student who turns a project in on time and receives a 99 on it will get 99/120 = 82.5% for the project. Late projects will have the standard class late policy. Grading ScaleGrade | 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.
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.
Week | Date | Topic(s) | Lab Text reading | zyBooks reading | Lab | Notes |
---|---|---|---|---|---|---|
week 1 | 1/21-1/27 | Introduction; Basics; Flow control | 1,2 | 1-3 | Exercise-1 | |
Sun, Jan 27 | 1-3 due | |||||
week 2 | 1/28-2/3 | Arrays; Input/Output | 3-5 | 4,5 | Quiz-2 | |
Mon, Jan 28 | E1 due | |||||
Fri, Feb 1 | 4,5 due | |||||
week 3 | 2/4-2/10 | Classes; Objects; Methods; Fields | 6 | 6,7 | Exercise-3 | |
Fri, Feb 8 | 6,7 due | |||||
Sun, Feb 10 | P1 due | |||||
week 4 | 2/11-2/17 | Inheritance; Polymorphism; Dynamic dispatch | 7 | 8,9 | Excercise-4 | |
Mon, Feb 11 | E3 due | |||||
Fri, Feb 15 | 8,9 due | |||||
week 5 | 2/18-2/24 | Task-5 | ||||
Mon, Feb 18 | E4 due | Review, sec 002 | ||||
Tue, Feb 19 | Review, sec 001,003/P01,005/H01 | |||||
Wed, Feb 20 | ||||||
Thu, Feb 21 | Midterm 1, sec 001,003/P01,005/H01 | |||||
week 6 | 2/25-3/3 | Command line args; Packages; Javadocs (T/R sections) | 11,13 | Exercise-6 | ||
Mon, Feb 25 | Midterm 1, sec 002 (make-up) | |||||
week 7 | 3/4-3/10 | Abstract classes; Interfaces; Enums | 8,9 | 10 | Exercise-7 | |
Mon, Mar 4 | E6 due | |||||
Fri, Mar 8 | 10 due | |||||
week 8 | 3/11-3/17 | Spring Break, no class | ||||
Mon, Mar 11 | E7 due | |||||
Sun, Mar 17 | P2 due | |||||
week 9 | 3/18-3/24 | Exceptions; Unit testing | 10,12 | 11 | Exercise-9 | |
Fri, Mar 22 | 11 due | |||||
week 10 | 3/25-3/31 | Generics | 14 | 12, 13 | Exercise-10 | |
Mon, Mar 25 | E9 due | |||||
Fri, Mar 29 | 12, 13 due | |||||
Sun, Mar 31 | P3 due | |||||
week 11 | 4/1-4/7 | Task-11 | ||||
Mon, Apr 1 | E10 due | Review, sec 002 | ||||
Tue, Apr 2 | Review, sec 003 | |||||
Wed, Apr 3 | Midterm 2, sec 002 | |||||
Thu, Apr 4 | Midterm 2, sec 001,003/P01,005/H01 | |||||
week 12 | 4/8-4/14 | Collections, Lists & Queues | 14 | Exercise-12 | ||
Fri, Apr 12 | 14 due | |||||
Sun, Apr 14 | P4 due | |||||
week 13 | 4/15-4/21 | Recursion | 15, A2 | 15 | Quiz-13 | |
Mon, Apr 15 | E12 due | |||||
Fri, Apr 19 | 15 due | |||||
week 14 | 4/22-4/28 | Sort & search | 16 | 16 | Exercise-14 | |
Fri, Apr 26 | 16 due | |||||
week 15 | 4/29-5/5 | Anonymous classes; Lambda functions; Regular Expressions (T/R) Command line args; Packages; Javadocs (M/W) | A1 11,13 | Quiz-15 | ||
Mon, Apr 29 | E14 due | |||||
Wed, May 1 | P5 due; Review, sec 002 | |||||
Thu, May 2 | Review, sec 001,003/P01,005/H01 | |||||
week 16 | 5/6-5/12 | Anonymous classes; Lambda functions; Regular Expressions (M/W) | A1 | |||
+ exam week | Tue, May 7 | make-up date for M/W sections | ||||
Wed, May 8 | Final exam, sec 002, 1:30-4:15pm | |||||
Thu, May 9 | Final exam, sec 003/P01, 10:30-1:15pm; sec 005/H01, 1:30-4:15pm | |||||
Tue, May 14 | Final exam, sec 001, 10:30-1:15pm |