Prerequisites: CS 112 (C or better)
Format: Lecture plus weekly lab
Instructors:
Instructor Name | Office | Office Hours | |
---|---|---|---|
Prof. Archange Giscard Destiné | adestine@gmu.edu | Buchanan Hall D215F | Tuesday, 11am-1pm |
Prof. David I. Gonzalez Samudio | dgonza10@gmu.edu | TBA | TBA |
Dr. Brian Hrolenok | hrolenok@gmu.edu | ENGR 4708 | Mondays, 3pm-5pm |
Graduate Teaching assistants:
TA Name | Office Hours location | Office Hours | |
---|---|---|---|
Chenghao Du | cdu9@gmu.edu | ENGR 4456 | Tuesday, 1:00pm-3:00pm |
Mainul Hossain | mhossa6@gmu.edu | ENGR 4457 | Thursdays, 1:30pm-3:30 |
A. H. M. Rezaul Karim | akarim9@gmu.edu | ENGR 4457 | Thursdays, 11:30am-1:30pm |
Arun Krishna Vajjala | akrishn@gmu.edu | ENGR 5358 | Mondays, 9:00am-11:00am |
Raj Patel | rpatel17@gmu.edu | ENGR 4456 | Wednesdays, 12:30pm-2:30pm |
Sthitadhi Sengupta | ssengup2@gmu.edu | ENGR 5358 | Mondays, 11:00am-1:00pm |
Fatemeh Vares | fvares@gmu.edu | ENGR 4457 | Thursdays, 10:30am-12:30pm |
Fatema Tuz Zohra | fzohra@gmu.edu | ENGR 4456 | Mondays, 1:00pm-3:00pm |
Lectures
Section | Day(s) | Time | Instructor | Location |
---|---|---|---|---|
001 | Tuesday & Thursday | 3:00-4:15pm | Destiné | Horizon Hall 2014 |
002/H02 | Tuesday & Thursday | 1:30-2:45pm | TBA | Horizon Hall 2014 |
003 | Monday & Wednesday | 12:00-1:15pm | Hrolenok | Enterprise Hall 178 |
004 | Monday & Wednesday | 1:30-2:45pm | Hrolenok | Nguyen Engineering 1101 |
Labs
Section | Day | Time | Instructor | UTA | UTA | UTA | UTA | Location |
---|---|---|---|---|---|---|---|---|
201 | Friday | 09:30am-10:20am | Arun Krishna Vajjala | Rimika Shrestha | Sheena Anishraj | Daniel Burnayev | Alexander Farouz | Buchanan Hall D023 |
202 | Friday | 10:30am-11:20am | Fatema Tuz Zohra | Raza Hussain | Mohamed Haik | Sami Saifudin | Katherine Fadeyeva | Buchanan Hall D023 |
203 | Friday | 11:30am-12:20pm | Sthitadhi Sengupta | Sienna Manny | Mohamed Shaik | Sami Saifudin | Katherine Fadeyeva | Buchanan Hall D023 |
204/2H2 | Friday | 12:30pm-01:20pm | Raj Patel | Daniel Burnayev | Aidan Grupac | Andreas Siokouros | Phuc Nguyen | Horizon Hall 2008 |
205 | Thursday | 10:30am-11:20am | A. H. M. Rezaul Karim | Ali Madi | Aidan Grupac | Andreas Siokouros | Alexander Farouz | Horizon Hall 1014 |
206 | Thursday | 11:30am-12:20pm | Mainul Hossain | Sami Saifudin | Sydney To | Veronica Thach | Daniel Burnayev | Horizon Hall 1014 |
207 | Thursday | 12:30pm-01:20pm | Fatemeh Vares | Daniel Burnayev | Raza Hussain | Andreas Siokouros | Andrew Soto | Buchanan Hall D023 |
208 | Thursday | 01:30pm-02:20pm | Chenghao Du | Zachary Canter | Sienna Manny | Riyaz Rabbani | Faraaz Rahman | Buchanan Hall D023 |
Textbooks (required)
Piazza: We will use Piazza to provide course resources (slides, code, links), for official announcements, asynchronous discussions, Q&A, and help with assignments outside of office hours. Never post any code publicly - when in doubt, ask before posting, as TAs can change the visibility of posts to public when appropriate. Please reserve email for academic/grading issues - Piazza is the place for help on assignments.
Gradescope: We will use Gradescope for all assignment and exam feedback. Please make sure you create an account using your @gmu.edu email address.
Blackboard: We will use Blackboard for limited cases only. Please consult with your instructor.
This course presents a 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:
In this course students will be evaluated using several different kinds of coursework:
Grade Distribution
Coursework | Weight | Notes |
---|---|---|
Class participation | 5% | |
Readings | 5% | Lowest 15 subsections dropped |
Labs | 15% | each week, no drops |
Exercises | 9% | 3% each, no drops |
Projects | 21% | 7% each, no drops |
Midterm exam | 20% | replaced by final exam grade if final exam grade is higher |
Final exam | 25% | must pass final to pass the course |
Grading Policies
Grading Scale
Grade | Range |
---|---|
A+ | [98,100] |
A | [92,98) |
A- | [90,92) |
B+ | [88,90) |
B | [82,88) |
B- | [80,82) |
C+ | [78,80) |
C | [72,78) |
C- | [70,72) |
D | [60,70) |
F | [0,60) |
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 are entitled to accommodations based on recommendations from University offices should promptly initiate a discussion with their instructors. It is the student's responsibility to acquire this information directly from the respective office.
Prioritizing your well-being is paramount in achieving academic success. We strongly urge students to take advantage of the available university resources designed to support their journey. We, as educators, may not possess the expertise to evaluate unforeseen and challenging circumstances that could arise; therefore, we rely on specialized offices for appropriate guidance and accommodations. These designated offices hold the responsibility of providing insights and ensuring your rights, as outlined in acts such as FERPA or ADA, are comprehensively understood and respected.
A brief list of the services at no cost to GMU students:
Disability Services at George Mason University is committed to providing equitable access to learning opportunities for all students by upholding the laws that ensure equal treatment of people with disabilities. If you are seeking accommodations for this class, please first visit https://ds.gmu.edu/ for detailed information about the Disability Services registration process. Then please discuss your approved accommodations with me. Disability Services is located in Student Union Building I (SUB I), Suite 2500. Email: ods@gmu.edu | Phone: (703) 993-2474
For the collective safety of all students and staff, please follow Mason's Safe Return to Campus Guide.
Please note: the following schedule may be adjusted throughout the semester. Always check for announcements, and follow due dates posted on Blackboard and Gradescope.
Week | Dates | Topic | zyBooks reading | Supplemental reading | Assignments |
---|---|---|---|---|---|
Week 1 | 21-AUG | Introduction; Basics; Flow Control | 1, 2, 3 | 1, 2, A2 | E1 |
Week 2 | 28-AUG | Arrays; File I/O | 4, 5 | 3, 5 | E1 |
Week 3 | 04-SEP | Classes; Objects; Methods; Fields | 6, 7 | 4, 6 | P1 |
Week 4 | 11-SEP | Command line args; Packages; Javadocs | 8 | 11, 13 | P1 |
Week 5 | 18-SEP | Inheritance; Polymorphism; Dynamic dispatch | 10 | 7 | E2 |
Week 6 | 25-SEP | Abstract classes; Interfaces; Enums | 11 | 8, 9 | E2 |
Week 7 | 02-OCT | Midterm review; Midterm | P2 | ||
Week 8 | 09-OCT | Exceptions, Unit testing | 12 | 10, 12 | P2 |
Week 9 | 16-OCT | Generics | 13 | 14 | E3 |
Week 10 | 23-OCT | Collections, Lists & Queues | 9, 14 | E3 | |
Week 11 | 30-OCT | Recursion | 15 | 15 | P3 |
Week 12 | 06-NOV | Searching & Sorting | 16 | 16 | P3 |
Week 13 | 13-NOV | Nested classes; Lambda functions | 19 | A1 | P3 |
Week 14 | 20-NOV | Graphical User Interfaces | 17,18 | ||
Week 15 | 27-NOV | Review |