Prerequisites: CS 112 (C or better)
Format: Lecture plus weekly lab
Instructors:
Instructor Name | Office | Office Hours | |
---|---|---|---|
Dr. David I. Samudio | dgonza10@gmu.edu | ENGR 4436 | Tuesdays 1-3pm |
Dr. Brian Hrolenok | hrolenok@gmu.edu | ENGR 4708 | Mondays 1-3pm |
Graduate Teaching assistants:
TA Name | Office Hours location | Office Hours | |
---|---|---|---|
Md Badsha Biswas | mbiswas2@gmu.edu | Buchanan 215 | Thursdays 12:30-2:30pm |
Sireesha Gurram | sgurram5@gmu.edu | ENGR 4456 | Tue & Wed 9-10am |
Mainul Hossain | mhossa6@gmu.edu | Mondays ENGR 4457, Fridays ENGR 1505 |
Mondays 11:30am-12:30noon, Friday 3:30-4:30pm |
Rezaul Karim | akarim9@gmu.edu | ENGR 4456 | Fridays 2-4pm |
Arun Krishnavajjala | akrishn@gmu.edu | ENGR 4457 | Mondays 9-10am, 11-12am |
Siyu Lei | slei4@gmu.edu | ENGR 4456 | Thursdays 9-11am |
Sthitadhi Sengupta | ssengup2@gmu.edu | ENGR 4457 | Wednesdays 12:15pm-2:15pm |
Lectures
Section | Day(s) | Time | Instructor | Location |
---|---|---|---|---|
001 | Monday & Wednesday | 1:30-2:45pm | Samudio | Exploratory Hall room L004 |
002 | Monday & Wednesday | 3:00-4:15pm | Samudio | Exploratory Hall room L004 |
003 | Tuesday & Thursday | 12:00-1:15pm | Hrolenok | Innovation Hall room 105 |
004 | Tuesday & Thursday | 3:30-4:15pm | Hrolenok | Planetary Hall room 131 |
Labs
Section | Day | Time | Instructor | UTA | UTA | UTA | Location |
---|---|---|---|---|---|---|---|
201 | Thursday | 11:30am-12:20pm | Md Badsha Biswas | Muhammad Shayyan Qazi | Yohanes Philis | Malaika Atif | Buchanan Hall room D023 |
202 | Thursday | 1:30pm-2:20pm | Siyu Lei | Mohamed Shaik | Katherine Fadeyeva | Sana Syed | Horizon Hall room 1010 |
203 | Thursday | 10:30am-11:20am | Sireesha Gurram | Malaika Atif | Maya Elgodamy | Sana Syed | Horizon Hall room 1012 |
204 | Thursday | 11:30am-12:20pm | Siyu Lei | Mohamed Shaik | Dannielle Nguyen | Maya Elgodamy | Horizon Hall room 1012 |
205 | Friday | 11:30am-12:20pm | Rezaul Karim | Hanz Daoang | Sydney To | Tasneem Shabana | Buchanan Hall room D023 |
206 | Friday | 12:30pm-1:20pm | Arun Krishnavajjala | Najah Smith | Tasneem Shabana | Nathan Huang | Exploratory Hall room L102 |
207 | Friday | 1:30pm-2:20pm | Sthitadhi Sengupta | Hanz Daoang | Yohanes Philis | Nathan Huang | Buchanan Hall room D023 |
208 | Friday | 2:30pm-3:20pm | Mainul Hossain | Hanz Daoang | Yohanes Philis | Tasneem Shabana | Buchanan Hall room 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.
Students will be manually added to Piazza and Gradescope in the first or second week once enrollments are finalized.
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% | weekly, 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, projects 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, or Artificial Intelligence systems.
The Academic Standards of GMU and the CS department 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 Academic Standards Office.
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 your instructor. 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 refer to the GMU Common Course Policies provided by the Stearns Center, which cover any policies not directly superceded in this syllabus.
Please note: the following schedule may be adjusted throughout the semester. Always check for announcements, and follow due dates posted on Blackboard, Gradescope, and zyBooks. The dates listed below are the Sunday at the beginning of the given week; they are NOT due dates. Final exam dates (which you can find here for ALL classes) are set by the registrar for each section based on the time and days of the week that lecture meets.
Week | Dates | Topic | zyBooks reading | Supplemental reading | Assignments |
---|---|---|---|---|---|
Week 1 | 26-AUG | Introduction; Basics; Flow Control | 1, 2, 3 (due NEXT week) | 1, 2, A2 | E1 |
Week 2 | 02-SEP | Arrays; File I/O | 4, 5 (due THIS week) | 3, 5 | E1 |
Week 3 | 09-SEP | Classes; Objects; Methods; Fields | 6, 7 | 4, 6 | P1 |
Week 4 | 16-SEP | Command line args; Packages; Javadocs | 8 | 11, 13 | P1 |
Week 5 | 23-SEP | Inheritance; Polymorphism; Dynamic dispatch | 10 | 7 | E2 |
Week 6 | 30-SEP | Abstract classes; Interfaces; Enums | 11 | 8, 9 | E2 |
Week 7 | 07-OCT | Midterm review; Midterm | |||
Week 8 | 14-OCT (Monday classes do not meet) | Exceptions, Unit testing | 12 | 10, 12 | P2 |
Week 9 | 21-OCT | Generics | 13 | 14 | P2 |
Week 10 | 28-OCT | Collections, Lists & Queues | 9, 14 | P2 | |
Week 11 | 04-NOV (Tuesday classes do not meet) | Recursion | 15 | 15 | E3 |
Week 12 | 11-NOV | Searching & Sorting | 16 | 16 | E3 |
Week 13 | 18-NOV | Nested classes; Lambda expressions | 19 | A1 | P3 |
Week 14 | 25-NOV (Wed, Thu, Fri classes do not meet) | Graphical User Interfaces | 17,18 | P3 | |
Week 15 | 02-DEC | Review | P3 | ||
Week 16 | 09-DEC (Tue, Wed, Thu, Fri classes do not meet) | Review |