On this page:
Staff
Class
Labs
Computing Environment
Problem Sets
Pair Programming
Exams
Grades
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.

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.

Class

Instructor

   

Time

   

Days

   

Location

Matthias Felleisen

   

09:15am-10:20am

   

MWR

   

Behrakis 310

Labs

The course comes with several lab sections. The labs start the second week of class.

Lab

   

Instructor

   

Time

   

Days

   

Location

3

   

Claudia Vilcu

   

09:50am-11:30pm

   

T

   

Behrakis 220

3

   

Suzanne Becker

   

09:50am-11:30pm

   

T

   

Behrakis 220

7

   

Emily Beckers

   

11:45pm-01:25pm

   

T

   

Behrakis 220

7

   

Tyler Kindy

   

11:45am-01:25pm

   

T

   

Behrakis 220

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.

Computing Environment

We will use v6.10, a programming environment for a family of programming languages. It is freely available on the web, and we request that you install it on your own computer. For Fundamentals I, we will not use Racket but the teaching languages plus teachpacks as specified in How to Design Programs (HtDP).

In case you end up using a lab machine, DrRacket is installed on all CCS and many Northeastern computers.

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.

Problem Sets

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

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.

Pair Programming

You must work on your graded problem sets in assigned pairs. Your partner will 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 two one-hour exams:
  • on 09/20 at 9:15-10:20am ; the room for this exam is in class

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

  • on 11/15 at 6:00-9:00pm ; the rooms for this exam are SH105, SH335

We will send you an email to your Husky address in a timely fashion to inform you where you will take your exam if more than one room was assigned

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.

in-lab presentations

   

5%

   

exam 0

   

5%

   

exam 1

   

25%

   

exam 2

   

40%

   

problem sets

   

22%

   

we will drop your worst homework grade

The remaining 3% are up to the instructors’ whim; 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.