Instructor:
Name: | Ivan Avramovic |
Email: | iavramo2-at-gmu.edu |
Hours: | 1:30-2:30pm Mon/10:30-11:30am Tue |
Office: | 4609 Engineering |
GTA: | Soumita Das | (sdas22-at-gmu.edu) |
Xu Han | (xhan21-at-gmu.edu) | |
Semhar Mengisteab | (smengis-at-gmu.edu) | |
Mohammad Rahman | (mrahma23-at-gmu.edu) | |
Ashwin Ravishankar | (aravisha-at-gmu.edu) | |
Jin Zhou | (jzhou23-at-gmu.edu) |
UTA: | Adrian Crespo | (acrespos-at-gmu.edu) |
Zahin Faruque | (zfaruqu-at-gmu.edu) | |
Yumna Fatima | (yfatima-at-gmu.edu) | |
Mustafa Ghulam Hussain | (mghulamh-at-gmu.edu) | |
Ram Kammari | (rkammari-at-gmu.edu) | |
Vandana Keshavamurthy | (vkeshava-at-gmu.edu) | |
Blake Khan | (akhan64-at-gmu.edu) | |
Bonmyeong Koo | (bkoo3-at-gmu.edu) | |
Bakr Marouf | (bmarouf-at-gmu.edu) | |
Benjamin Ong | (bong-at-gmu.edu) | |
Sarad Pant | (spant2-at-gmu.edu) | |
Raymond Phan | (rphan2-at-gmu.edu) | |
Ayman Slamani | (aslamani-at-gmu.edu) | |
Javier Talavera | (jtalaver-at-gmu.edu) | |
Apoorva Thumma | (athumma-at-gmu.edu) | |
Jimmy Tran | (jtran51-at-gmu.edu) |
Section | Days | Times | Location |
---|---|---|---|
005 | Tue/Thu | 12:00-1:15pm | 1006 David King Hall |
006 | Mon/Wed | 3:00-4:15pm | 1006 David King Hall |
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 GMUCS211AvramovicFall2019) | |
(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
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) | 40% | none |
Midterm exams (2) | 20% | - |
Final exam | 25% | - |
Emergency Tokens
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.
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 | 8/26-9/1 | Introduction; Basics; Flow control | 1,2 | 1-3 | Exercise-1 | |
Sun, Sep 1 | 1-3 due | |||||
week 2 | 9/2-9/8 | Arrays; Input/Output | 3-5 | 4,5 | Exercise-2 | |
Mon, Sep 2 | E1 due | Labor Day, no class | ||||
Fri, Sep 6 | 4,5 due | |||||
week 3 | 9/9-9/15 | Classes; Objects; Methods; Fields | 6 | 6,7 | Exercise-3 | |
Mon, Sep 9 | E2 due | |||||
Fri, Sep 13 | 6,7 due | |||||
Sun, Sep 15 | P1 due | |||||
week 4 | 9/16-9/22 | Command line args; Packages; Javadocs | 11,13 | 8 | Quiz-4 | |
Mon, Sep 16 | E3 due | |||||
Fri, Sep 20 | 8 due | |||||
week 5 | 9/23-9/29 | Task-5 | ||||
Mon, Sep 23 | Review, sec 006 | |||||
Tue, Sep 24 | Review, sec 005 | |||||
Wed, Sep 25 | Midterm 1, sec 006 | |||||
Thu, Sep 26 | Midterm 1, sec 005 | |||||
week 6 | 9/30-10/6 | Inheritance; Polymorphism; Dynamic dispatch | 7 | 9,10 | Exercise-6 | |
Fri, Oct 4 | 9,10 due | |||||
week 7 | 10/7-10/13 | Abstract classes; Interfaces; Enums | 8,9 | 11 | Exercise-7 | |
Mon, Oct 7 | E6 due | |||||
Fri, Oct 11 | 11 due | |||||
Sun, Oct 13 | P2 due | |||||
week 8 | 10/14-10/20 | Exceptions; Unit testing | 10,12 | 12 | Exercise-8 | |
Mon, Oct 14 | Columbus Day, no class | |||||
Tue, Oct 15 | E7 due | Monday sections meet | ||||
Fri, Oct 18 | 12 due | |||||
week 9 | 10/21-10/27 | Generics | 14 | 13 | Exercise-9 | |
Mon, Oct 21 | E8 due | |||||
Fri, Oct 25 | 13 due | |||||
Sun, Oct 27 | ||||||
week 10 | 10/28-11/3 | Quiz-10 | ||||
Mon, Oct 28 | ||||||
Tue, Oct 29 | P3 due | |||||
Wed, Oct 30 | Review, sec 006 | |||||
Thu, Oct 31 | E9 due | Review, sec 005 | ||||
week 11 | 11/4-11/10 | Collections, Lists & Queues | 14 | Task-11 | ||
Mon, Nov 4 | Midterm 2, sec 006 | |||||
Tue, Nov 5 | Midterm 2, sec 005 | |||||
Fri, Nov 8 | 14 due | |||||
Sun, Nov 10 | ||||||
week 12 | 11/11-11/17 | Recursion | 15, A2 | 15 | Exercise-12 | |
Tue, Nov 12 | P4 due | |||||
Fri, Nov 15 | 15 due | |||||
week 13 | 11/18-11/24 | Sort & search | 16 | 16 | Exercise-13 | |
Mon, Nov 18 | E12 due | |||||
Fri, Nov 22 | 16 due | |||||
Sun, Nov 24 | ||||||
week 14 | 11/25-12/1 | |||||
Mon, Nov 25 | E13 due | |||||
Tue, Nov 26 | P5 due | |||||
Wed-Fri, Nov 27-29 | Thanksgiving Break, no class | |||||
week 15 | 12/2-12/8 | Anonymous classes; Lambda functions; Regular Expressions | A1 | Quiz-15 | ||
Wed, Dec 4 | Review, sec 006 | |||||
Thu, Dec 5 | Review, sec 005 | |||||
exams | 12/9-12/17 | |||||
Thu, Dec 12 | Final exam, sec 005, 10:30am-1:15pm | |||||
Mon, Dec 16 | Final exam, sec 006, 1:30-4:15pm |