GWU

CS 1111

Introduction to Software Development, Fall 2024

GWU Computer Science

Syllabus

Welcome to CS1111 -- Introduction to Software Development

This course will teach you how to program, using Java as the programming language. No previous programming experience is required!




Professor: Dr. Kinga Dobolyi

Research interests: Software testing, computer vision and natural language processing for biomedical applications, computer science education

Contact: Please feel free to reach out with any questions you have about the course, whether they are general, or about specific assignments or code! We ask that you use the Ed discussion board first, to get the quickest response (your question may also already be answered there too). Also, we love seeing students in our virtual and in-person office hours, detailed below.


Class Schedule and Office Hours:

Tuesday/Thursday 11:10AM - 12:25PM in MPA B07

Labs:
daytime and locationleadTAs
Thursday
(Lab1: Sec 30)
6:10pm-7:25pm
SEH 1400
Abde Manaaf Gillian Shields
Tala Barghouti
Monday
(Lab 2: Sec 32)
2:10pm-3:25pm
TOMP 402
Cole Knie Christian DiRubbio
Sarah Saleh
Monday
(Lab 3: Sec 33)
2:10pm-3:25pm
TOMP 406
Rhys Chambers Sydney Berritt

GTAs (grading of homework, quizzes and projects):
  • Cole Knie, GTA (labs and grading), coleknie@gwmail.gwu.edu, Mon 12-2pm, Tues 10-11am, and Thur 4-6pm, at SEH 3rd floor couches
UTAs (office hours):
  • Rhys Chambers: Wed 2-3:30pm at SEH 4th floor couches
LAs (office hours):
  • Tala Barghouti: Mon 10:40am-12:40pm at SEH 4th floor couches
  • Gillian Shields: Tue 2:30-4pm and Wed 11am-12:30pm at SEH 4th floor couches
  • Christian DiRubbio: Tue 4pm-6pm at SEH 3rd floor kitchen area (on the wing to the right of the elevators)
  • Sarah Saleh: Fri 11am-1pm at SEH 4th floor couches
  • Sydney Berritt: Wed 1-2pm and Fri 2:30-4pm at SEH 4th floor couches

Dr Kinga's contact information:
kinga@gwu.edu

Office hours: SEH 4655 Tuesdays from 12:45pm-2:00pm (you can show up at anytime, no appointment needed), Zoom on Wednesdays from 8:45am-10am, or email me for an appointment (between the hours of 9am through 4pm Monday through Thursday, schedule permitting, 15 minute appointment blocks).

We also have an anonymous feedback form available for students in this class.

Objectives - In completing this class, students will...

  • Demonstrate familiarity with key concepts in a procedural programming language such as: variables, data types, control structures, methods, input and output.
  • Demonstrate the ability to use programming to solve problems appropriate to a beginning class in programming and software development.
  • Acquire familiarity with rudimentary processes of software development that include: design, coding, testing, and debugging.

Structure - This class is broken into two main activities: lectures and lab.

  • Lectures will explore the main concepts of software development in the Java language, and will include significant portions of in-class programming. Everyone should have their laptops set up and ready to code before every lecture.
  • Labs will mostly be used for graded quizzes, which will be about 30 minutes long, as well as working on the project and other exercises. Most labs will start with the quiz, followed by exercises and presentations from the next topic in the schedule.

The GW standard is that one credit hour corresponds to a minimum of 50 minutes of instruction plus 100 minutes of independent learning (e.g., homework and exam prep) per week. This is a 3 credit course, thus you should expect to spend 2.5-3 hours in class and 50 minutes in lab, plus four to five hours of independent learning per week, which may include completing programming assignments.

The amount of time you spend per week may be more or less, depending on the topic and the current assignments, but you should set aside time to complete your work for this class, both during lecture and out.

Prerequisites:

  • None! All are welcome and capable, regardless of previous programming experience.

Responsibilities - Students must

  • Attend all lectures unless you are sick, observing a religious holiday, or there is an emergency (please email the instructor if this happens). Please see GW's policies for religious holidays. We will be grading attendance by having students take quizzes and/or upload exercises they completed (in optional groups) to Blackboard during lecture.
  • Interact, ask questions, and generally participate in class discussions during lecture and on the discussion board. Participation points can be earned via discussions on the Ed discussion board.
  • When working with a group, contribute meaningfully and equally.

  • Webpage for the course (you are here)
  • Blackboard: we will use Blackboard to record grades, upload participation, and post videos of lectures.
  • Ed discussion board: Ed will be our discussion forum, the place where instructors will post all announcements, and the quickest and preferred way students communicate with the course staff and each other. Note that Ed allows both public posts (that the whole class can see) and private posts (that only instructors can see). We will make every effort to answer questions within 24 business hours, but usually sooner (often less than two hours during weekdays).
  • Textbook: None required. There are lots of free materials available online, though our lectures notes should also suffice for this course. For an excellent summary and study guide, see these notes.
  • Submit server for submitting homework and programming assignments

Grade Calculation:

  • Lecture/lab participation (via quizzes and exercises): 5%
  • Homework assignments: 10%
  • Coding quizzes (quizzes 1-6): 75%
  • Debugging quizzes (debugging 1-3): 10%
  • Professionalism: up to -5%


Final course grades are calculated as follows:
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%)



Missed classes, late submissions and extensions:

We do not accept any late submissions. However, students will be able to drop their lowest homework assignment grade and their lowest debugging quiz grade. You will also be able to re-attempt many coding quizzes for a higher grade using a makeup slot (see the course schedule). We do not offer makeups for makeup quizzes. If you miss the last coding quiz (quiz 6) you will recieve an incomplete for the course and will need to make it up by the first two weeks of the following semester via an in-person oral exam.

Students who miss lecture or lab sessions are responsible for covering the material on their own. We do not accept late submissions due to absences.

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.


Grading, re-grade requests and grades on Blackboard:

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.

It is your responsibility to make sure that grades have been correctly entered in Blackboard in a timely manner. Please make sure that Blackboard reflects your correct scores within two weeks of an assignment due date; we will not adjust scores after this deadline.

Please be aware that Blackboard does not weight overall course grades correctly. 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 in Blackboard.

Regrade requests will only be considered for either 1) a grade being incorrectly recorded into 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.

Lecture/lab participation (via quizzes and exercises):

This course will be taught as a "flipped classroom" where students are expected to complete reading at home, and come to each lecture prepared to work on examples.

Most lectures will have a short quiz on the lecture notes/reading (or on homework/project exercises) at the start of class. These quizzes will be completed on Blackboard and will be open for three minutes at the start of class. Late submissions will not be accepted. We will drop the three lowest participation scores for the semester.

Other lectures and labs will have short participation exercises that students will submit; these will also count towards participation.

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% (as a loss of the participation points this semester) for additional acts of unprofessionalism.

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

Homework assignments:

Homework assignments are coding assignments, and will be graded based on what percent of the provided test cases they pass, as well as use of good coding style. We will drop the lowest homework score when calculating final grades.

Coding quizzes:

Coding quizzes 1-6 are graded and will be completed individually, usually during lab; students will generally recieve 30-40 minutes for such a quiz. You will usually have an option to retake the quiz for a higher grade, as indicated on the schedule. We will not be dropping the lowest such lab quiz grade.

You have two options for most coding quizzes: 1) you can choose to attempt a brand new, unseen problem, for 100 points, or 2) you can choose to attempt one of the sample quizzes for a cap of 80 points. If you later would like to use your chance to retake quizzes 1-5, this will be capped at a maximum of 80 points as the makeup will also be from one of the sample quizzes (except quiz 1). Quiz versions are assigned randomly for each lab section.

You must attend the lab you registered for to take your quiz; we cannot accomodate students who wish to switch labs due to travel, etc.

Debugging quizzes:

There will be three debugging lecture quizzes (on paper), with one attempt each. We will drop the lowest such debugging quiz grade.

If you feel pressured about an assignment, please email the instructor instead of cheating. All work that you submit in this course for a grade should be your own as stated above. In cases where group work is permitted, please list all the names of the students you worked with. If we detect cheating, we reserve the right to assign the student a 0 on the assignment, or an F in the course for more egregious violations. We will also be using automated software to be checking for cheating with code that is submitted to us. All code you submit must be your own work and not copied from the Internet (for example, you may NOT get code from ChatGPT unless explicity allowed). If you use code we did not cover in class, you need to cite your sources with comments in your submitted code.

You are not allowed to collaborate on and graded assignment unless explicitly told to. Please refer to the academic integrity policy linked from the course web page. This policy will be strictly enforced: Academic Integrity Policy

You are not allowed to use code you copied off the internet (including LLMs such as ChatGPT) unless explicitly instructed to do so. Staff will not help you debug ChatGPT code during office hours or on Ed, and submitting such code can be grounds for an honor code violation.

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 (DSSO). All academic accommodations must be arranged through DSSO.

University Policy on Observance of Religious Holidays: 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.

Counseling and Psychological Services (202-994-5300): 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.

Safety and Security:

  • 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.

Use of Electronic Course Materials and Class Recordings: 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.

It is our intent to present materials and activities that are respectful of: age, race, ethnicity, country of origin, language, religion, spiritual practice, sexual orientation, gender identity or expression, introversion/extroversion personality dimensions, and socioeconomic and mental/physical status. 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.

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 (we will not be using Blackboard except for assignment submissions and office hours).

The instructor may also periodically reach out to students via an email check-in; when you get such an email, it doesn't mean you did anything wrong! We often like to know how our students are doing and feeling as the course goes on, especially if there are things we can help with! Please acknowledge such emails from the professor.

Of course, communication goes both ways: we would love to hear from you at any time during the semester about anything you're stuggling with (or enjoying) in the course -- please do not hesitate to reach out via email (and/or have an office hours session)!


Acknowledgements: thank you to Pablo Frank Bolton for course materials from previous semesters!