Course Description
Introduces computer science and data science to students with no prior programming experience. Starts by building programs with numbers, text, and images. Explores real, complex datasets both interactively and through coding by doing data analysis, constructing graphs, and computing interesting results. Offers students an opportunity to build a solid foundation and practice coding with a popular industrial coding language with a professional programmer’s interface to the code. Covers skills needed to identify and respond to ethical challenges that arise in the program design process.
Course Structure
There will be three in-person classes (in Boston & Oakland) or two in-person classes (in NYC & London), one lab, and one optional recitation per week. All content is directed around teaching a set of 12 skills, assessment of which will form the primary assessment of the class, and which are described in detail at Skills.
Each class period (of CS2000) has reading you are expected to do before class. During the class we will briefly review the new material that was covered in the reading (but, in much less depth -- it is not a substitute for doing the reading), and then the majority of class will be dedicated to working with classmates, assisted by your instructor, on exercises related to the new material.
The lab period (CS2001) will include a set of exercises to be done with a partner in your lab section, guided by those running the lab (TAs or instructors). Labs will be graded primarily by effort & attendance. The recitation is an optional additional practice session with TAs, to allow students who want more practice on the topic of the week to work through exercises with guidance.
Students can register for any CS 2001 lab section on their campus.
There will also be weekly homework assignments. The purpose of homework is to give you hands-on experience with the course material you learned in lecture, and to teach you the skills used for the skill assessments.
There are also 12 skills, which have repeatable assessments (taken on paper without notes), and form the primary grading for the class.
There are no quizzes or exams in this class.
Communication
Discord, Course Website, (lack of) use of Canvas.
Course Tools
Github, github.dev, vscode, pyret, python, Pawtograder.
People
Instructor | Campus | Office | Office Hours |
---|---|---|---|
Prof. Ellen Spertus | Oakland | CPM 201 | TBD |
Prof. Alvaro Monge | Oakland | CARN 201 | TBD |
Due Dates, Late Tokens, Regrades
Office Hours
What they are, link to calendar
Recitation Times
In addition to general purpose Office Hours held by TAs, there will be dedicated Recitation Hours held by TAs. These optional sessions, scheduled throughout the day, held both in person and online, will have particular exercises and material that they go over, and will not assist with homework problems. Attendance will be limited for each session, but enough should be scheduled to allow students to attend if they want.
Attendance
Not required, but what to do if you miss class, etc.
Skills
The course will teach the following skills, grading of which will be performed by repeatable (with highest grade taken), on-paper, no-note, assessment that can be scored as "Doesn't meet expectations", "Approaching expectations", or "Meets expectations". See the Skills page for much more detail.
- Design basic functions (Pyret)
- Construct / Transform Tables (Pyret)
- Iteration: Lists (Pyret)
- Structured & Conditional Data (Pyret)
- Recursion: Lists (Pyret)
- Recursion: Trees (Pyret)
- Variable Scope (Python)
- Design basic functions (Python)
- Iteration: Lists (Python)
- Aliasing & Mutation (Python)
- Identifying Privacy Issues in Problem Formulation
- Identifying Stakeholders in Problem Formulation
Grading
Grades will be primarily assigned by achievement levels of the course Skills, along with required grade thresholds on HW for each letter grade, and + (other than A) given for participation in 8 or more out of 10 labs, - given for participating in fewer than 6 out of ten labs.
This is captured by the following table -- the highest row that a student satisfies all columns of will be their grade, and if no rows are completely satisfied, the student will not pass the course.
Skills Needed (out of 12 total) | |||||
---|---|---|---|---|---|
Grade | Meets Expectations | Approaching Expectations | Not Approaching | HW Average | Lab Participation |
A | 11+ | 1 or fewer | 0 | 80% or better | 6 or more |
A- | 11+ | 1 or fewer | 0 | 80% or better | any |
B+ | 9+ | 3 or fewer | 0 | 70% or better | 8 or more |
B | 9+ | 3 or fewer | 0 | 70% or better | 6 or more |
B- | 9+ | 3 or fewer | 0 | 70% or better | any |
C+ | 7+ | 5 or fewer | 0 | 60% or better | 8 or more |
C | 7+ | 5 or fewer | 0 | 60% or better | 6 or more |
C- | 7+ | 5 or fewer | 0 | 60% or better | any |
D+ | 3 or fewer | 50% or better | 8 or more | ||
D | 3 or fewer | 50% or better | 6 or more | ||
D- | 3 or fewer | 50% or better | any |
Textbook
We will follow the textbook "A Data-Centric Introduction to Computing", by Fisler, Krishnamurthi, Lerner, and Politz. It is freely available online at https://dcic.pdi.run, and all readings will be linked to from appropriate parts of this site.
Collaboration and Academic Honesty
Computer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates.
Specifically:
- You are responsible for any material you turn in.The professor reserves the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your grade based on your answers. It is vitally important that you turn in work that you understand.
- Copying material from another person without their knowledge is not allowed.
- Additionally, sharing solutions in forums (e.g., posting to public questions, posting code online, etc) constitutes an academic integrity violation, as it may make it harder for other students to do work on their own, harming their own learning.
- Any sharing or receiving information about the content of skill assessments is an academic integrity violation, and may result in failing the class.
We strongly recommend that you write all code yourself. Even if you discuss solutions, or approaches, with others, do the actual typing on your own! And avoid playing games or trying to find loopholes -- i.e., do not merely type what someone says, or type what you see on anothers screen. While we do not consider collaboration a violation, we still encourage following these recommendations-- relying on others for your solutions may result in you not learning the material, and in this class, not learning the material will result in not being able to pass the skill assessments. Even with perfect homework scores, failing to pass sufficient skill assessments will result in a failing grade in the course (consult the grading table), so take homework for what it is intended: extensive opportunity to practice the skills we are teaching, paired with high quality feedback about the solution you came up with.
The minimum penalty for an academic integrity violation is a zero on the assignment and a report to the Office of Student Conduct and Conflict Resolution (OSCCR). Penalties are increased if there are aggravating factors, such as stealing another student's work or lying about cheating. Also, see the Official University Academic Integrity Policy.
The AI Policy
AI coding assistants like Cursor, Windsurf, and Copilot should not be used in this course. We believe that using an AI assistant is an important skill that should be covered after the basics (which is why there is a different policy in CS 3100). Until you have the ability to design, understand, and review code, using an AI assistant amounts to wandering around in the dark, with no ability to determine if you are getting closer to what you want. (Using these tools to get decent grades while learning nothing is pretty clearly shooting yourself in the foot: you are in college to learn; if you end up unable to do anything but prompt engineer, you will have essentially no skills, given these models are intentionally rendering whatever "skill" underlying prompt engineering obselete in every generation).
The same is true of asking questions of chat models like ChatGPT, Claude, or Gemini. Putting in assignment instructions into such a model and getting out code or test cases amounts to getting the model to do the thinking for you -- and as a result, you will not learn. "Only look"ing at AI-generated solutions "before writing your own" undermines the learning just the same, as you will not be learning to actually solve problems, you will just be copying (and, importantly, never developing the ability to recognize when the AI generated solution isn't what you want).
Emerging research is beginning to show that substituting practice on fundamental skills by delegating that practice to LLMs significantly decreases learning. Whilst using an LLM might reduce the immediate strain of learning something new, it can also diminish the development of critical thinking skills by decreasing engagement and impeding independent problem-solving. Moreover, even the benefits of using LLMs for experienced developers have been questioned. LLMs can be useful useful once you have gained competence in program design and are able to break down a problem and specify it precisely—which are the skills we are trying to develop in CS 2000 and CS 2100.
Part of the reason for these being guidelines, rather than academic integrity policies, is that some interaction with LLMs is now unavoidable -- using a search engine now will give you an AI generated overview, and similar interactions with models (trying to understand concepts) is not necessarily discouraged, though we would always encourage you to bring larger questions to our course staff, who will likely be able to give you better answers, more suited to your background, to our curriculum, etc. Finally, if you do use LLMs for search, you are responsible for validating any information you find.
Make sure to refer to sources of ground truth for reliable information such as the official language documentation, our course textbook, course staff, and the course website. Reading documentation can be challenging at first, but it is an important skill to develop in any technical field. Learning to navigate technical documents helps you develop a precise understanding of how something works—which is a valuable transferable skill that you can use to gain competence with new tools and help you solve problems independently.
Inclusive 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. We believe that diversity and inclusiveness are essential to excellence in academic discourse and innovation. In this class, the perspective of people of all races, ethnicities, gender expressions and gender identities, religions, sexual orientations, disabilities, socioeconomic backgrounds, and nationalities will be respected and viewed as a resource and benefit throughout the semester. Suggestions to further diversify class materials and assignments are encouraged. If any course meetings conflict with your religious events, please do not hesitate to reach out to Rush to make alternative arrangements.
Name and Pronoun Usage
As this course includes some discussion, it is vitally important for us to create an educational environment of inclusion and mutual respect. This includes the ability for all students to have their chosen gender pronoun(s) and chosen name affirmed. If the class roster does not align with your name and/or pronouns, please inform us of the necessary changes.
Accommodations
If you have a documented disability, please register with Disability Access Services to get the accommodations that will help you succeed. Please do this even if you are unsure whether you will need accommodations, since there may be a delay if you decide you need them later. Please do not wait until it has seriously impacted your work, as accommodations are not retroactive. See additional information for Oakland students.
Policy on Recording
Massachusetts and California laws prohibit students from recording classes without the consent of all participants, unless a disability accommodation is in place. We encourage you to seek accommodations to which you are legally entitled.
University Resources
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 and the Center for Spiritual Dialogue and Service clergy members. 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. 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.
International Tutoring Center
The International Tutoring Center (ITC) provides current Northeastern University international and non-native English-speaking students with free, comprehensive English language and academic support. The ITC includes student-centered one-on-one tutoring sessions and workshops on reading, writing, and language and culture. For more on tutoring and workshops, see https://cps.northeastern.edu/academic-resources/global-student-success/international-tutoring.
UHCS
WeCare
WeCare is a program operated through the Office for Student Affairs. The mission is to assist students experiencing unexpected challenges to maintaining their academic progress. WeCare works with students to coordinate among university offices and to offer appropriate on and off campus referrals to support successfully resolving the issue. WeCare also provides information to faculty and staff to identify Northeastern resources and policies to help students succeed.
For more information see https://studentlife.northeastern.edu/we-care/. Call 617.373.4384 or email wecare@northeastern.edu.
Libraries
Students can access research resources at the F.W. Olin library (Oakland) and through the Snell Library (Boston and online). The Snell Library collaborates with both the First-Year Writing and Advanced Writing in the Disciplines programs to support students’ information literacy. Online research tutorials can be found here: https://subjectguides.lib.neu.edu/researchtutorials/getstarted
Global Learner Support
Northeastern University's Global Learner Support (GLS) offers "language, cultural, and academic support while promoting the development of intercultural competence and global understanding." They offer tutoring, workshops, and much more. Visit https://gls.northeastern.edu/ to learn more.
Resources
TBD -- e.g., Knack