This site is for an old version of the course.

You want one of these things:

On this page:
Fundamentals I

Fundamentals I

teach vs. learn

Welcome to Fundamentals I at Northeastern University, College of Computer Science.

This course is an introduction to computing and programming. Its major goal is to introduce students to the principles of systematic problem solving through programming and the basic rules of computation.

The course does not assume any prior programming experience. It is therefore suitable for all freshman students—majors and non-majors alike—who wish to explore the intellectual ideas of the discipline. It does assume a basic familiarity with arithmetic and algebra, and it demands a basic degree of curiosity, self-discipline, and willingness to work with others.



Mon Nov 23 15:55:51 EST 2015

No labs or office hours on Tuesday All labs and office hours tomorrow (11/24) are cancelled, due to exam-2 grading.

We wish everyone a great Thanksgiving.

Mon Nov 23 09:01:48 EST 2015

The exam on Monday will be held 6-9pm. If you are in one of Prof. Razzaq’s sections, go to WVF 20. If you are in one of Prof. Tuck’s sections, go to Richards 200. If you are in Prof. Shivers’ section, go to Snell Engineering 108.

Sat Nov 21 16:24:42 EST 2015

Review session tonight! There will be an exam review session tonight (Saturday, 11/21) 6-8pm in SN 108 and SN 168.

Thu Nov 19 19:06:38 EST 2015

Here is a sample exam2 for you to practice with. Sat Nov 21 16:24:42 EST 2015

Thu Nov 12 17:11:45 EST 2015

Bad tutor! If you got help on the all-leafy-trees problem during Milo Davis’ office hours 2-4 today... you got bad advice. (Among other things, your code likely produces duplicates.)

Milo has announced his decision to commit ritual seppuku before the assembled class at Prof. Shivers’ section on Monday (10:30-11:35, Richards 300). If you see Davis in the hall, see if you can talk him out of it.

Thu Nov 12 16:04:12 EST 2015

Here is the code from Prof. Shivers lecture today, as well as the s-expression lecture.

Thu Nov 12 16:01:41 EST 2015

We’ve updated the syllabus. Note, for example, that lab will be held this coming Tuesday, but not the Tuesday after Exam 2 / before Thanksgiving.

Extension on Tetris The cheating/code-copying investigation slowed down homework-grading turnaround on homework 6 (Tetra) enough that we are giving a one-day extension on homework 8 (Tetris). It is now due in at midnight on Friday night.

Thu Oct 29 14:04:47 EDT 2015

New partners It’s time to choose a new homework partner. Assignment 8 will be done with your next (and final) partner. You have until midnight tonight to send mail to the head TA of your lab with a partner request. Your may choose anyone you like, including someone with whom you’ve already worked—but you may only choose someone in your lab section of the class.

If you don’t have a partner preference, no problem. Do nothing, and we’ll assign you a partner.

If you don’t know who your lab section’s head TA, you can look it up on the "General Information" page of the class web site.

If you don’t know your lab section’s head TA’s email address, you can look it up on the "Office Hours, Email" page of the class web site.

Mon Oct 26 08:56:11 EDT 2015

Here is the code from Shivers’ Thursday lecture.

Mon Oct 26 08:45:30 EDT 2015

Error! Due to an error in the way we process our course web page, we posted the wrong problems for homework seven on Friday. (To be specific, this year’s assignment didn’t get picked up by the web-site software, which, instead, published problems from a previous year—which don’t even make much sense in an HtDP/2e context, as they were taken from a previous edition of the textbook.)

We caught the error and have fixed the homework assignment. If your homework-seven web page doesn’t show exercises 222, 229, 255 and 257 for the first four problems (not counting the finger exercises), then you have the old, mistaken homework 7. In which case, reload the web page and get the updated version.

To repeat: in the correct homework 7, the first four problems are exercises 222, 229, 255 & 257 from the HTDP/2e text.

As time has passed, we are giving everyone an extension to midnight on Friday night. Sorry for the confusion.

[Correction to the correction: an early-morning version of this post itself had an error. This one is right. No, really.]

Sun Oct 18 20:56:15 EDT 2015

Cancellations: There will be no lab on Tuesday (October 20). Furthermore, TAs will not be holding office hours this Tuesday. (But tutors will.)

Fri Oct 16 20:22:15 EDT 2015

The exam on Monday will be held 6-9pm. If you are in one of Prof. Razzaq’s sections, go to WVF 20. If you are in one of Prof. Tuck’s sections, go to Richards 200. If you are in Prof. Shivers’ section, go to Snell Engineering 108.

Fri Oct 16 20:20:35 EDT 2015

The review session, which will be managed by TAs and tutors who are volunteering their time, will be held Saturday 6-8pm in SN 108 and SN 168.

Fri Oct 16 20:06:16 EDT 2015

Here is the code from Shivers’ Thursday lecture.

Thu Oct 15 09:43:56 EDT 2015

Here is the code from Shivers’ Wednesday lecture. If you’re feeling ambitious, finish the snake game off on your own. (It will be terrific preparation for Monday’s exam.)

Wed Oct 14 09:26:20 EDT 2015

Here’s a practice exam for you to study.

Mon Oct 5 22:40:20 EDT 2015

Partner-shuffle time! We are shuffling homework partners, commencing with problem-set 5. (Not the current problem set 4—you do that one with your current homework partner.)

You will be asked on Tuesday if you have a preference for your October partner. If you and your intended partner wish, write yourselves down as a team at lab, and we’ll make it happen for you. If you have no preference, no worries: do nothing, and we’ll assign you a partner.

Alternatively, if you want to register a partner-preference, but don’t have it worked out by lab time, you can send email to your lab TA with your request. You have until Wednesday midnight to do so, then we will close out the process.

The new partner teams will be registered on Blackboard for homework 5.

Mon Oct 5 22:24:11 EDT 2015

Good news: We felt problem set 4 was a little long, so we’re extending the due date to midnight on Friday night—you have one day more to work on problem set 4.

Bad news: We can’t actually create time, just shuffle it around, so this means that you actually have one day less to work on problem set 5. (That is, it’s still due on Thursday midnight, next week.)

Sun Oct 4 21:31:17 EDT 2015

Bug report: if you have been using the stepper in DrRacket, and you are using the latest releast of the system (6.2.1), you may notice some odd things being shown. Alas, the stepper is broken in this release, and shows things that are supposed to be kept "under the hood."

Sun Oct 4 21:24:23 EDT 2015

Some TA and tutor advice:

First, if you are looking for a TA, keep in mind that the TAs do not have their office hours in the first-floor computer lab in WVH. They are kept penned up on the third floor of the building, for the safety of non-Fundies-1 students, who may not have experience in the handling and care of these exotic but potentially dangerous creatures.

To find the TA lair, take the elevator to the third floor, then turn right immediately upon leaving the elevator.

Second, if you are looking for one-on-one tutoring time, we recommend seeking out tutors and TAs who have office hours on weekend mornings. The demand for tutors at these times is pretty low...

Sun Oct 4 21:23:21 EDT 2015

Here is the code from Shivers’ Wednesday and Thursday lectures.

Mon Sep 28 12:05:27 EDT 2015

We’ve posted the code from Shivers’ lecture today.

Wed Sep 23 12:48 EDT 2015

We’ve posted the code from Shivers’ lecture.

Sat Sep 19 17:34:51 EDT 2015


My homework partner dropped the class and I was wondering how I could get another partner. I am lab section 01.

Good question—this happens all the time. When it does, contact your lab TA (you can consult the course web page to find out who runs your lab, and to find out that person’s email address). Ask for a new lab partner, and it shall be done.

Mon Sep 14 00:01:18 EDT 2015

Homework 1 is up! It’s due in this Thursday—on paper (not via Blackboard).

Wed Sep 9 09:33:59 EDT 2015

Welcome to CS2500. This is section of the course web page is the "blog" – we recommend you check it daily, as we post news about the class here.