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 | TBD |
Dr. Brian Hrolenok | hrolenok@gmu.edu | ENGR 4708 | TBD |
Graduate Teaching assistants:
TA Name | Office Hours location | Office Hours | |
---|---|---|---|
Lectures
Section | Day(s) | Time | Instructor | Location |
---|---|---|---|---|
001 | Monday & Wednesday | 1:30-2:45pm | Hrolenok | Exploratory Hall room L004 |
002 | Monday & Wednesday | 3:00-4:15pm | Hrolenok | Enterprise Hall room 80 |
004 | Tuesday & Thursday | 1:30-2:45pm | Samudio | Lecture Hall room 1 |
Labs
Section | Day | Time | Instructor | UTA(s) | Location | ||
---|---|---|---|---|---|---|---|
201 | Thursday | 10:30am-11:20am | Horizon Hall room 1012 | ||||
202 | Thursday | 9:30am-10:20am | Horizon Hall room 1012 | ||||
203 | Thursday | 12:30pm-1:20pm | Horizon Hall room 2008 | ||||
204 | Thursday | 1:30pm-2:20pm | Horizon Hall room 2008 | ||||
205 | Friday | 9:30am-10:20am | Horizon Hall room 2008 | ||||
206 | Friday | 10:30am-11:20am | Horizon Hall room 2008 | ||||
208 | Friday | 12:30pm-1:20pm | Horizon Hall room 2008 | ||||
209 | Friday | 1:30pm-2:20pm | Horizon Hall room 2008 |
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. Accounts will be created manually by the course staff and instructions on accessing your account will be mailed to your @gmu.edu email in the first few weeks.
Blackboard/Canvas: This class will primarily not be using either Blackboard or Canvas, and these may appear as locked for the entire semester. Your instructor will notify you in class if they plan to use either of these sites.
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 | 19-JAN (Monday classes do not meet) | Introduction; Basics; Flow Control | 1, 2, 3 (due week 2) | 1, 2, A2 | E1 | |
Week 2 | 26-JAN | Arrays; File I/O | 4, 5 (due week 2) | 3, 5 | E1 | |
Week 3 | 02-FEB | Classes; Objects; Methods; Fields | 6, 7 | 4, 6 | P1 | |
Week 4 | 09-FEB | Command line args; Packages; Javadocs | 8 | 11, 13 | P1 | |
Week 5 | 16-FEB | Inheritance; Polymorphism; Dynamic dispatch | 10 | 7 | E2 | |
Week 6 | 23-FEB | Abstract classes; Interfaces; Enums | 11 | 8, 9 | E2 | |
Week 7 | 02-MAR | Midterm review; Midterm | ||||
Week 8 | 09-MAR (spring break, no class) | |||||
Week 9 | 16-MAR | Exceptions, Unit testing | 12 | 10, 12 | P2 | |
Week 10 | 23-MAR | Generics | 13 | 14 | P2 | |
Week 11 | 30-MAR | Collections, Lists & Queues | 9, 14 | E3 | ||
Week 12 | 06-APR | Recursion | 15 | 15 | E3 | |
Week 13 | 13-APR | Searching & Sorting | 16 | 16 | P3 | |
Week 14 | 20-APR | Nested classes; Lambda expressions | 19 | A1 | P3 | |
Week 15 | 27-APR | Graphical User Interfaces | 17,18 | P3 | ||
Week 16 | 04-MAY (Tuesday, Wednesday, Thursday classes do not meet) | Review |