General
People
Instructor: Ben Lerner and .
Instructors design and implement this class. They lecture and create the labs, assignments, and exams. They are here to teach from life.
Tutors: Chris Freeley.
Tutors have, in the past year or two, mastered the material of this course; they help in labs, hold office hours, grade assignments, and can remember what it’s like to be lost. They are here to gain a deeper understanding by teaching what they know to others.
Office Hours
blerner
WVH314
Wednesday
10:30-12:00pm
Thursday
3:00-4:30pm
Chris Freeley
cfreeley
WVH102
Tuesday
5:00--7:00pm
Communication
Use CCIS email (@ccs.neu.edu) to reach any of the course staff; usernames are given above.
Monday and Thursday 11:45–1:25pm in SH 425.
Monday 6:00–7:40pm in WVH 210.
Policies
Late policy: there is no late policy; solutions to assignments as they exist at the time of the deadline will be graded.
Laptop policy: no laptops in class.
Academic honesty: we will strictly enforce Northeastern’s academic integrity policy. All programs must be completed strictly by you and your partner. You are free to discuss the problem sets with others, so long as you acknowledge discussants. However, you may not share code in any way. Submitting code that is not your own will be considered a violation of the University’s Academic Integrity Policy (pages 38—
40 of the 2011-2012 Undergraduate Student Handbook). Violations of academic integrity will be reported to OSCCR and will have a negative impact on your grade.
Computing Environment
We will use DrRacket v5.3.1. DrRacket is installed on the CCS computers. It is also freely available on the web in case you wish install it on your own computer.
You will need to install our course software into DrRacket. In the DrRacket File menu, select Install PLT File, and then enter the url
http://www.ccs.neu.edu/course/cs2510hsp14/class-system-latest.plt
You will use Git to work on your homework sets, to keep track of revisions, and to submit your homework.
Bug Reports
This course relies on several peices of software including the class system, the book, and this web page. You can follow the development of this software on Github:
and you should submit bugs by creating a new "issue". Your help in improving the software and book are greatly needed and appreciated.
Problem Sets
There will be weekly problem sets.
We will drop the homework grade with the worst impact on your final grade from consideration for the final grade. Thus, if you just don’t get it one week, nothing is lost. The story is different for the second or third or ... time.
Pair Programming
You must work on your problem sets in pairs. Your lab TA will assign you a 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 everything. After a problem is solved to the satisfaction of both, you must switch roles.
Exams
There will be two exams, one in mid-February and one in early April, exact times TBD.
Exam 1: 2/14 at 11:45-1:25 PM
Exam 2: 4/1 at 6-9 PM in WVH 108
Projects
There will be a substantial class project implemented over the last several weeks of the course.
Grades
You will get a gpa for your homework (including the project) and for your exams. You must have both a passing homework gpa and a passing gpa to pass the course. For the final grade, we will assign a weight of 40% to the homework grade and a weight of 55% to the two exams. The remaining 5% are up to the instructors’ whim.