Fall 2023
Section 2

Course Description

Introduces the fundamental ideas of computing and the principles of programming. Discusses a systematic approach to word problems, including analytic reading, synthesis, goal setting, planning, plan execution, and testing. Presents several models of computing, starting from nothing more than expression evaluation in the spirit of high school algebra. No prior programming experience is assumed; therefore, suitable for first year students, majors and nonmajors alike who wish to explore the intellectual ideas in the discipline.

Course Objectives

By the end of this course, given a computational problem, you will be able to:

  1. design appropriate data representation(s) for relevant information;
  2. indicate an appropriately general input(s)/output relationship given data representation(s);
  3. develop a sufficient set of automated tests to verify a coded solution; and
  4. produce a set of well-designed functions to solve the problem, making appropriate use of abstraction.


The final grade for this course will be weighted as follows...

Since everyone makes mistakes and has a bad day, both the lowest homework and quiz scores will be dropped.

Final grades will be assigned based on the following scale...

93 -
90 - 92
87 - 89
83 - 86
80 - 82
77 - 79
73 - 76
70 - 72
67 - 69
63 - 66
60 - 62
   - 59

At the time of final-grade determination, numeric grades are rounded naturally (e.g. 94.4 is a 94, but 94.5 is a 95).


The purpose of homework is to give you hands-on experience with the course material you learned in lecture, as well as to prepare you for the quizzes and projects. Homework will be graded on demonstrated effort for each part of the assignment, as well as adherence to code-formatting conventions; submit whatever you have completed by the deadline.

Typically, lab time will be an opportunity to begin homework with guidance and feedback from instruction staff.


There will be four quizzes during the semester:

  1. September 21
  2. October 5
  3. November 2
  4. November 16

More details and opportunities for practice will come closer to each quiz, but they will be taken on-paper in lecture.


The purpose of the projects is to allow you to put together pieces and design a larger application. Projects will be graded on multiple aspects of design, including data representation, code/data abstraction, testing quality, completion of application requirements, and adherence to code-style conventions.


Late Work

Falling behind on work is never a good idea: the course presents new material every day, making catching up harder and harder.

Homework cannot be submitted late for credit. Each Project, however, can be submitted up to 24 hours after the deadline with no penalty.


Sometimes mistakes can happen and so if you are confused or concerned about feedback, please don't be afraid to reach out to a member of the instruction team for further explanation. You must submit any requests for regrading at most 7 days after the feedback was released.

Academic Integrity

While students are encouraged to discuss course materials, no plagiarism/copying is allowed. In particular:

While the use of AI tools (e.g., ChatGPT, Copilot) is becoming more common in academic and industry settings, code they generate may be inaccurate, incomplete, poorly designed, difficult to read/maintain, and/or otherwise problemmatic. It is thus extremely important that you develop the conceptual knowledge and design skills to be an effective development partner, both to other humans and potentially AI systems. As such, we ask that in this class you do not use these tools, but rather commit to the fun & challenging journey of discovery & learning. As with the use of any resource, it is important that you fully understand your work, such that you can explain it and productively work with others to improve it.

If you have a question about what is considered a violation of this policy, please ask! The university's academic integrity policy discusses actions regarded as violations and consequences for students.

The first time you are found in violation of this policy on an assignment, you will receive a 0 for the associated work. A second violation, or a violation during a quiz, will result in failing the course.

Classroom Environment

To create and preserve a classroom atmosphere that optimizes teaching and learning, all participants share a responsibility in creating a civil and non-disruptive forum for the discussion of ideas. Students are expected to conduct themselves at all times in a manner that does not disrupt teaching or learning. Your comments to others should be constructive and free from harassing statements. You are encouraged to disagree with other students and the instructor, but such disagreements need to respectful and be based upon facts and documentation (rather than prejudices and personalities). The instructor reserves the right to interrupt conversations that deviate from these expectations. Repeated unprofessional or disrespectful conduct may result in a lower grade or more severe consequences. Part of the learning process in this course is respectful engagement of ideas with others.

Title IX

Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance.

Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including male, female, transgender students, faculty and staff.

If you or someone you know has been a survivor of a Prohibited Offense, confidential support and guidance can be found through University Health and Counseling Services staff (https://www.northeastern.edu/uhcs/) and the Center for Spiritual Dialogue and Service clergy members (https://www.northeastern.edu/spirituallife/). By law, those employees are not required to report allegations of sex or gender-based discrimination to the University.

Alleged violations can be reported non-confidentially to the Title IX Coordinator within The Office for Gender Equity and Compliance at: titleix@northeastern.edu and/or through NUPD (Emergency 617.373.3333; Non-Emergency 617.373.2121). Reporting Prohibited Offenses to NUPD does NOT commit the victim/affected party to future legal action.

Faculty members are considered "responsible employees" at Northeastern University, meaning they are required to report all allegations of sex or gender-based discrimination to the Title IX Coordinator.

In case of an emergency, please call 911.

Please visit https://www.northeastern.edu/titleix for a complete list of reporting options and resources both on- and off-campus.

Students with Disabilities

Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675. If you have already done so, please provide your letter from the DRC to me early in the semester so that I can arrange those accommodations.