CSCI 2113 Fall 2025

Lectures and labs

Lectures: Monday 10:00AM - 12:30PM in MON 111 with Dr. Kinga Dobolyi

Labs:

  • Monday (Lab 1: Sec 30) 2:10PM - 3:20PM in SEH 4040 with Zack Rahbar and Alexander Aiersilan
  • Wednesday (Lab 2: Sec 31) 3:35PM - 4:45PM in TOMP 405 with Sydney Berritt and Zack Rahbar
  • Wednesday (Lab 3: Sec 32) 3:35PM - 4:45PM in SEH 4040 with Seth Kay and Laiba Siddique

Office Hours and grading

You can show up to office hours anytime listed below (without an appointment). Please come early in case other students are waiting.

Office Hours:

  • Sydney Berritt (UTA): Wednesdays 2-3:30pm and Fridays 1-3pm in SEH 4th floor couches
  • Laiba Siddique (LA): Mondays 4:30-6pm and Wednesdays 5-6:15pm in SEH 4th floor couches
  • Zack Rahbar (GTA): Mondays 1-2pm, Tuesdays 4-6pm, Wednesdays 12-1:30pm in SEH 4th floor couches
  • Seth Kay (UTA): Tuesdays 11am-12:30pm and 2:15-3pm, Thursdays 11am-12pm in SEH 4th floor couches
  • Alexander Aiersilan (GTA): Mondays 6am-9:50am and 15:30-16:30 and 18:00-18:10 in SEH 3rd floor 3400
  • Dr Kinga: SEH 4655 Tuesdays from 12:45pm-2:00pm and Thursdays 9:45am-11:00am, or email me for an appointment (between the hours of 9am through 4pm Monday through Thursday, schedule permitting, 15 minute appointment blocks)

Objectives

  • Practice advanced software development that involve multiple classes, encapsulation, inheritance, and polymorphism.
  • Understand programming language features such as interfaces, abstract classes, generics, and their underlying representation in memory.
  • Experience GUI design and implementation
  • Practice basic networking and IO programming
  • Develop an understanding of software engineering principles
  • Develop an understanding of unit testing and debugging
  • Demonstrate skill in problem solving by going from unit tests to implementation.

There are NO REQUIRED textbooks for this course.

Grade breakdown

Your grade will be calculated as follows. Blackboard only reports raw scores and does not use the weights below.

  • Worksheets: 3%
  • Labs: 10%
  • Quizzes: 67%
  • Live coding exam: 20%*
  • Professionalism: up to -5%

*you must pass the live coding exam with an 80% or higher in order to pass the course.

A (>= 92.0%) A– (>= 90.0%) B+ (>= 88.0%) B (>= 82.0%) B– (>= 80.0%)
C+ (>= 78.0%) C (>= 72.0%) C– (>= 70.0%)
D (>= 60.0%)
F (< 60.0%)

Worksheets

This class is taught as a flipped classroom; you are expected to do the weekly readings before coming to class. During lecture, we will complete worksheets together that are due on Mondays at 11:59pm (the same day of lecture). These will be graded for correctness. The lowest scoring worksheet will be dropped from your grade.

Labs

You will usually have one or two labs each week. These are due Fridays at 11:59pm on the submitserver/BB. However, you may submit them up until class time on Mondays without penalty, but there will be no office hours nor Ed support for these assignments after the Friday due date. The lowest scoring lab will be dropped from your grade.

Quizzes and exams

We will have up to two quizzes most weeks of the semester. If you miss a quiz, you may make this quiz up on the last lecture of the semester: these quizzes will be harder as you had more time to study. No additional makeups-on-makeups will be supported. If you need to make up more than one missed quiz, you will need a note from Dean Riffat. You will not be allowed to make up any quizzes that you have already taken.

There will also be one live coding exam that students will take on school-provided computers during one lecture/lab session.

Code submissions

Having completed the pre-reqs, you are expected to:

  • Write legible, well-documented code.
  • Be able to describe and answer questions about your code when prompted.
  • Commit your changes incrementally to git, whether in the same day/coding session, or across days. Your git commit history must show evidence that you worked on your code meaningfully over time (as opposed to just checking in large blocks of code). We recommend students commit after they pass a new test case.
  • We reserve the right to request access to the programming assignments for this class on your github repo (via github’s collaborator mechanism). Failure to comply with such a request will automatically result in a zero on your programming assignment.

It is your responsibility to submit your code early and often to the submitserver and ensure it passes all the test cases there. Note that, under load, the submitserver may take longer than a few seconds to return your score if many other students are also using it simultaneously. We will not accept any code that has not been submitted to the submitserver before the deadline. When using the submitserver, your grade will be the score you see on the submitserver. Make sure you leave yourself ample time before assignment submission to get help with any issues that you may run into when submitting your code.

Missed classes, late submissions and extensions

All assignments are due in EST.

We do not accept late work in this course.

We do not offer extensions in this course.

If you are missing class due to a extended unforseen absence (such as hospitalization) or documented scheduled absence (such as surgery or court) please email the professor to let them know and send along the documentation for these events. Makeup work will be at the professor’s discretion; extended abscences such as vacations will not be excused, for example. We do not require, and are not permitted to accept, doctor’s notes to excuse short-term illnesses (that do not require hospitalization); instead, we drop the lowest of various missed assignments or allow for a makeup according to the class schedule. For situations that fall outside what is described in this syllabus, a note from Dean Riffat will be required.

Grading, re-grade requests and grades on Blackboard

It is your responsibility to make sure that Blackboard reflects your correct scores within two weeks of an assignment due date; we will not adjust scores after this deadline. You can calculate your grade in the course at any time by referring to the raw scores on Blackboard, and using the weights above to calculate your grade in the class. No assignments will be accepted for re-grade requests after final grades have been recorded on Blackboard. You have 48 hours to notify the professor of any issues with final grades recorded to Blackboard once they have been posted there; we will not entertain regrade requests and other related questions after that time.

Regrade requests will only be considered for either 1) a grade being incorrectly recorded on the submitserver/Blackboard or 2) a grading rubric was not followed correctly. Please do not request to meet to “discuss” grades before emailing the instructional staff why your situation falls into one of these two situations first.

We also do not entertain any requests to arbitrarily “bump up” grades, and we do not offer grades for effort – see the professionalism policy below.

Professionalism

Students are expected to treat each other, the TAs, and the instructor professionally both in-person and in online communications and work. If unprofessional behavior is observed, a student will first receive a warning. Afterwards, their final grade in the course may be reduced up to 5% for additional acts of unprofessionalism.

Knowingly asking the professor to violate or go against policies set in this syllabus will count as unprofessional behavior.

Students who exhibit unprofessional behavior, including but not limited to honor code violations, will not receive letters of recommendation from the professor for TA applications, graduate school, scholarships, etc.

Academic honesty

It is very important in this course (and in life), that your work be your own. These guidelines will help you achieve that.

You must:

  • Solve all homework, quizzes, projects, and labs on your own, unless you are receiving the help of the instructional staff.

You may:

  • Discuss any of the English requirements of the assignment specifications with other students; you may ask for clarification, in English, of the assignment requirements. However, you are NOT allowed to discuss high level solutions to these assignments (see below).

You may NOT:

  • Copy code to or from other students or people outside of the class.
  • Discuss general approaches to solving the homework problems with other students.
  • Have another student look at a specific snippet of your code (e.g., 2+ lines) to help you debug a programming error.
  • Have someone else write code for you.
  • Copy code from the internet.
  • Use any LLM (such as ChatGPT) to generate any of your code, or generate a skeleton of your code that you then modify. You may also not use an LLM for any other reason in this course.

Penalties for violating the code or the policies described here include failing this course. Note that the minimum punishment is failure of the assignment. This policy will be strictly enforced: Academic Integrity Policy

Selected university policies and recommendations

If you are a student with a disability and you need academic accommodations, please see the instructor during the first week of class, and contact the Disability Support Services Office. All academic accommodations must be arranged through DSSO. We are unable to provide testing center laptops to DSSO.

Students must notify faculty no later than three weeks prior to the absence, of their intention to be absent from class on their day(s) of religious observance. If the holiday falls within the first three weeks of class, the student must inform faculty in the first week of the semester. For details and policy, see “Religious Holidays” at provost.gwu.edu/policies-procedures-and-guidelines.

GW’s Colonial Health Center offers counseling and psychological services, supporting mental health and personal development by collaborating directly with students to overcome challenges and difficulties that may interfere with academic, emotional, and personal success. healthcenter.gwu.edu/counseling-and-psychological-services.

  • Monitor GW Alerts and Campus Advisories to Stay Informed before and during an emergency event or situation
  • In an emergency: call GWPD/EMeRG 202-994-6111 or 911
  • For situation-specific actions: refer to GW’s Emergency Response Handbook and Emergency Operations Plan
  • In the event of an armed Intruder: Run. Hide. Fight.

Students are encouraged to use electronic course materials, including recorded class sessions, for private personal use in connection with their academic program of study. Electronic course materials and recorded class sessions should not be shared or used for non-course related purposes unless express permission has been granted by the instructor. Students who impermissibly share any electronic course materials are subject to discipline under the Student Code of Conduct. Please contact the instructor if you have questions regarding what constitutes permissible or impermissible use of electronic course materials and/or recorded class sessions. Please contact Disability Support Services at disabilitysupport.gwu.edu if you have questions or need assistance in accessing electronic course materials.

All people have the right to be addressed and referred to in accordance with their personal identity. In this class, we will have the chance to indicate the name that we prefer to be called and, if we choose, to identify pronouns with which we would like to be addressed. I will do my best to address and refer to all students accordingly and support classmates in doing so as well.

Instructor communication

We encourage active communication and feedback between the instructor and students. Please make sure to check Ed at least each weekday, as the instructors will post all important information there about the course.

The professor will generally respond to emails and Ed posts during normal business hours; please allow up to 48 business hours (not including weekends) for a response.

Acknowledgements

Some of the material for this course comes from previous iterations taught by Prof. Aviv. Thank you.