Comp1358: General Information (Fall 2001)




Lecturer: Matthias Felleisen, Office: Egan 222C; Office Hours: Monday 4-5pm

Grader: Jamie Raymond; Office: Egan 222; Office Hours: none, available via newsgroup postings.

Time: Monday, Tuesday and Thursday: 1:35 - 2:40

Location: 245 Cullinane
Programming Projects

Comp1358 has a significant programming component. There will be approximately one programming assignment per week, many of them building on each other.

The primary goal of the programming component is for you to maintain a growing piece of software, extend it, and revise it. This is how software development works in the real world, though we shrink the available time from years to 14 weeks.

The secondary goal of the programming assignments is to deepen your understanding of the material introduced in class and to prepare you for the exams.

Solutions: Because the goal of the programming component is to learn to maintain code based on the 210 principles, we will not provide solutions per se. If you believe your code is no longer maintainable, you can ask for a solution. The price for a solution is 10 percent-points of your final grade (per request).

Code Walks: The course staff may conduct code walks in lieu of code grading if the code quality is not acceptable.

Pair/Team Programming: You must program in pairs. Initially this means that each of you produces solutions and that you turn in the better of the two solutions (per problem). Later this may mean that each of you contributes a part of the project and that the code is reviewed by your partner.

The primary purpose of programming in a team is to have a peer who reviews code and memos with you. Find a partner, then send email to Jamie Raymond as soon as possible.

LATE HOMEWORK WILL NOT BE ACCEPTED

Choice of Programming Language

You may program in whatever programming language you want as long as it is Scheme and preferably DrScheme. The latter in installed on the Windows and Unix machines of the general computing network. See

/arch/unix/bin/drscheme
I may assign two small homework problems in ML to introduce programming with datatypes and parametric polymorphism.


Exams and Grades

The grade policy is tentatively set as follows. The final grade for this course will probably be based on homework (50%) and three exams (10% + 20% + 20% each). See above for the price policy concerning homework solutions.


MAKEUP EXAMS WILL ONLY BE GRANTED IN EMERGENCY SITUATIONS.

Cheating

You are encouraged to talk with your team partner and the course staff about the homework. Such conversations are to help you understand the lecture material, the homework problem, and possibly even the key idea for the solution. You are, however, ultimately responsible for understanding the solutions, because the exam will pose similar questions, and you will be on your own during the exam.

Communicating about a homework with anyone else is cheating and will be punished according to the College's procedures.


Web page:

The course Web tree is located at:

http://www.ccs.neu.edu/home/matthias/1358/
Bookmark it. All information will be distributed over the Web.