On this page:
Class
Labs
Staff
Computing Environment
Khoury Account
Problem Sets
Late Policy
Pair Programming
Exams
Grades
Moving from Accelerated to Regular
Moving from Regular to Accelerated
DrRacket

General Information

time to wake up

A lot of you have one burning question on your mind as you start your college career:

How am I going to get an A in this course?

We have some news for you

As of today, you are learning for life, not for exams.

Yes, you are in college now, and college really is about learning something and not getting a grade. As a matter of fact, if you are taking a course and the A comes easy, you are either cheating yourself or you are allowing the instructor to cheat you. Buyer beware.

College is your last chance to learn how to learn by yourself, without pressure from parents, teachers, or peers. You want to learn that, because the quality of your life depends on it. Your life. Nothing more, nothing less.

Naturally, we understand that you want some feedback, both in terms of specific corrections and in terms of a grade. You want feedback so that you can improve your learning process. And we will give you that feedback. It is our end of the bargain. Your end is to demonstrate that you actually study the methods we teach so that they become second nature. After all, you don’t want to waste your time, and we don’t want to waste ours either.

So, if you wish to earn a grade in this course, you must submit the Course Contract during the first lab session (2501). We will show you how to submit it in lab, so you must attend. Your submission acknowledges that you have read these notes and understood the contract between you and the course staff. We promise: As long as you will live up to its spirit, we will stand by you during this semester.

Class

Instructor

   

Time

   

Days

   

Location

Amal Ahmed

   

10:30am-11:35am

   

MWR

   

Shillman 135

Labs

The course comes with two lab sections. Labs start the first week of class, on September 6.

Lab coordinator: Rebecca MacKenzie (rmacnz at ccs.neu.edu)

Head TA for Accelerated: Aaron Weiss (weiss at ccs.neu.edu)

Lab

   

Instructor

   

Time

   

Days

   

Location

1

   

Sam Caldwell

   

9:50-11:30am

   

F

   

WVH 210

2

   

Jack Rosen

   

11:45am-1:25pm

   

F

   

WVH 210

You must attend the lab section you signed up for during registration.

The purpose of labs is to give you some hands-on experience with the actual tools and to illustrate some of the principles from lecture with hands-on exercises. You will also have the chance to explain your solutions to your peers, and you will receive a grade for that.

Staff

Please familiarize yourself with the course Staff. The Staff section comes with pictures so you can recognize people in the classroom, during office hours, or on the sidewalk.

Computing Environment

We will use DrRacket (v7.4), a programming environment for a family of programming languages. For Fundamentals I, we will stick to the HtDP teaching languages plus a small number of teachpacks as specified in How to Design Programs (HtDP). DrRacket is freely available on the web, and we request that you install it on your own computer.

DrRacket runs on most popular platforms (Windows, Mac OS X, Linux, and other *nixes). Programs written in the teaching languages have mostly the same behavior on all platforms. You therefore do not need to worry what kind of machine you use when you run your programs.

All that being said, should you have issues installing DrRacket on your machine, you may use the college’s virtual desktop infrastructure. We do, however, strongly recommend installing and using DrRacket on your own computer.

Khoury Account

In order to submit homeworks and lab quizzes in this class, you will need to have a Khoury account. You are eligible for such an account if you are a Khoury major, or if you are in a Khoury class (such as this one). You can apply for a Khoury account at this link, and you should do so during the first week of class by September 5, so that you have the account activated by the first lab.

Problem Sets

The purpose of the problem sets is to prepare you for the exams.

There will be weekly problem sets. Some problems are drawn from How to Design Programs (HtDP), the textbook; others are constructed for this instance of Fundamentals I. We will grade some but not all problems from each set, picked randomly after the due date.

Late Policy

Falling behind on homework is never a good idea: the course presents new material every day, making catching up harder and harder. Additionally, in weeks that you are completing code reviews, your homework must be submitted on time in order for someone else to review it on time.

However, we know that your time is not always easily scheduled, and some weeks, “stuff happens.” We will therefore allow you to turn in your work up to 20 hours after the deadline at a 5% per hour penalty. The handin server will prevent any further submission even 20-hours-and-one-second late, so it’s not worth trying to sneak in a submission in those last few seconds.

Pair Programming

You must work on your graded problem sets in assigned pairs. Your partner will be signed up for the same lab as you; your lab TA will assign you the first partner. Every few weeks, you will get a new partner.

Pair programming means that you and your partner work on the problem sets jointly. You read them together and you work on the solutions together. One of the lab’s purposes is to teach you how to work in pairs effectively; indeed, pairs are provably more effective than individuals in programming. The rough idea is this: One of you plays pilot, the other co-pilot. The pilot works on the keyboard and explains aloud what is going on; it is the co-pilot’s responsibility to question things that do not make sense. After a problem is solved to the satisfaction of both, you must switch roles.

Exams

Early on, we will have a one-hour, in-class exam to determine whether you are better off in Accelerated or Regular.

For an assessment of your progress in this course, we will run three one-hour exams:
  • on 09/18 at 10:30-11:35am ; the room for this exam is in class

  • on 10/17 at 6:00-9:00pm ; the room for this exam is SN 168

  • on 11/21 at 6:00-9:00pm ; the room for this exam is 102 ISEC

These midterm exams will test material similar to that assigned in weekly problem sets. If you can solve every homework problem on your own, the exams will be easy. If not, you will have a difficult time.

All exams are open-book, meaning you can bring any printed and hand-written material you wish. Any use of electronics (desktop computer, laptop, tablet, phone, pda, google glass, apple watch, etc.) will result in your immediate expulsion from the exam and a score of 0.

You may have noticed the discrepancy between "one-hour" and the actual times. The exam is a one-hour exam. A student who has worked through the readings and graded problems can solve the problems on the exam in less than an hour. After one hour, everyone will get a chance to leave. To make sure that nobody feels rushed, however, we allocate three hours immediately for students with special needs as well as students who feel they need time on the exam to double and triple check their work.

Grades

You will get grades for your homework and exams.

exam 0

   

5%

   

exam 1

   

25%

   

exam 2

   

35%

   

lab quizzes

   

5%

   

we will drop your worst 2 labs scores

problem sets

   

27%

   

we will drop your worst homework grade

The remaining 3% are up to the instructors’ discretion; the instructor and the TAs will award these points to people based on class, lab, and/or office hours participation. What this really means is that grading is not a science, but we will do our utmost to assign scores fairly and to reward those students who demonstrate a sustained improvement over the course of the semester.

Moving from Accelerated to Regular

If you are in Accelerated and you feel, during the first 3 weeks of this course, that you would be better off learning the material at a slightly slower pace, you may ask to transfer to a regular section. If you’re unsure about switching, the exam on September 18 is intended to help students decide. To request a switch to a regular section, you should talk to Prof. Ahmed and she can initiate a switch. But there are some dates to keep in mind for such a switch.

Until September 12th this change can be made effective immediately if your professor approves.

After September 12th but before September 20th this change can only be made effective September 23rd. Thus, you should continue to attend your Accelerated lecture and lab, and turn in all Accelerated assignments, until (and including) the assignment due on September 19th.

Note that Exam 0 is on September 18th. It will be graded immediately and returned in class on September 19th. If you’ve scored below a certain percentage (which we’ll announce in class), you should speak to Prof. Ahmed in person on September 19 or 20. She will hold office hours from 10am to 1pm on September 20th exclusively for students who need to speak to her about switching to regular. You must decide on September 20th if you would like to switch to a regular section so that we can figure out which regular section you can be moved into. By 5pm on September 20th, you must email Jessica Biron (j.biron at northeastern.edu) and cc Prof. Ahmed so we can initiate the switch with the Registrar. You will be notified over the weekend of September 21st, which regular lecture section and regular lab section you will be registered for. Starting Monday September 23, you should attend that regular lecture and lab, and submit the regular homework due Monday September 23rd.

After September 20th you can no longer change sections.

Moving from Regular to Accelerated

If you are in one of the regular sections of CS 2500 and you feel, during the the first 3 weeks of the semester that you would benefit from learning at a more accelerated pace, you may be able to transfer into the Accelerated section. To request a switch, you should talk to your professor; if they agree, they will ask you to talk to Prof. Ahmed for permission to register for Accelerated.

Note that you will need to move to lecture section 1 (CRN 10461 10:20-11:35am, Mon/Wed/Thu). You will also have to choose from either lab 1 (CRN 10297, 9:50-11:30am Fri) or lab 2 (CRN 10646 11:45am-1:25pm Fri). Both the lecture and the lab must fit in your schedule and have space available in the room.

Until September 12th this change can be made effective immediately after Prof. Ahmed approves.

After September 12th but before September 20th this change will be made effective September 23rd. Thus, you should continue to attend your regular lecture and lab, and turn in all regular assignments, until the week of September 23rd.

After September 20th you can no longer change sections.