6.170 / Fall 2003 / General Information

Handout A1

Contents:


Course web site

The course web site is http://web.mit.edu/6.170/www/.


Registration Form

All students must fill out the online registration form by midnight on Wednesday, September 3, or they will not be able to take the class.

For the final group project, your team must consist of people from the same recitation as yourself. Since you will not be permitted to change recitations after they are assigned, take care when choosing the people you would like to be with in a recitation. The list of people you wish to work with should be consistent amongst yourselves.


Staff


Lecturer Srini Devadas NE43-258 devadas at MIT
Course Secretary Sally Lee NE43-209 sally-at-no.lcs.mit.edu
Head TA Matt Notowidigdo NE43-246 noto at MIT
TAs Roger Moh NE43-526 chmoh at MIT
Thomer Gil NE43-530 6.170@thomer.com
Sameer Ajmani NE43-526 ajmani at MIT
David Saff NE43-525 saff at MIT
Lee Lin NE43-525 leelin at MIT
Brian Dunagan NE43-V640 bdunagan at MIT
LAs Corey McCaffrey   coreymcc at MIT
Ragu Vijaykumar   ragu at MIT
Fen Zhao   fenzhao at MIT
David Huang   huang at MIT
Ning Song   nsong at MIT
Baris Yuksel   barisy at MIT
Paul Soto   psoto at MIT
Sisi Liu   sisi at MIT
Bosun J Adeoti   jabos at MIT
Nidhi Sharma   nidhi at MIT

Mail sent to 6.170-staff@mit.edu will reach the lecturer, TAs, and LAs.
Mail sent to 6.170-lecturers@mit.edu will reach the lecturer.
Mail sent to 6.170-tas@mit.edu will reach the teaching assistants.
Mail sent to 6.170-las@mit.edu will reach the laboratory assistants.

Staff Hours

TAs will schedule office hours and locations by the end of the first week of class. Please visit your TA (or another TA, if necessary) during their office hours if you have anything you'd like to discuss about the course or course materials. Please see the TA Office Hours for the locations and times of office hours.

LAs will schedule LA hours held in designated clusters. Please feel free to work in the cluster so you can talk to them in person when you have questions about Java or other technical details. Time permitting, they also monitor the 6.170 zephyr instance while on duty, but they give priority to students who visit them in person. Please see the LA Lab hours for an up-to-date list of hours.

The lecturer is available by appointment but does not have fixed office hours.

Whom to Ask

When solving your assignments, the laboratory assistants should be your first resource for problems with your Java code or the Athena environment. For other questions, the LAs may be able to help you with advice or information, but the answer of a TA or lecturer is authoritative. Your TA can answer most questions about the course. The LAs or TAs may choose to escalate your questions to the head TA or the lecturer; you may also do so yourself if you do not receive an answer.

Here are some examples of questions appropriate for various staff members. Naturally, you shouldn't ask a question unless you have first tried to find the answer yourself. When asking a question, be sure to say what you have already tried to do to solve the problem; that way the staff won't waste its time and yours repeating something you already know.


Textbooks

Required and Recommended Texts

The above two books are available at the Coop or at Quantum Books. We strongly encourage you to buy both of these books: the required text because it covers the material of the course and the Bloch book because it will help you become a competent Java programmer much faster.

Recommended Java Texts

This course is not about Java, but you will be required to learn Java during the first few weeks. You must obtain a book on Java and read it in time to be able to complete the problem sets. Here are some suggestions for a Java text:

Other References


Where and When

Lecture/recitation

6.170 meets Monday, Tuesday, Wednesday, and Thursday from 2-3PM in the afternoon. Generally speaking, Monday, Tuesday, and Wednesday are lectures in 34-101, and Thursday is recitation. We will, however, have a lecture in 34-101 on Thursday, September 4. Your first recitation will be Thursday, September 11.

Recitation Section Locations (Thursdays at 2pm):
You will be assigned to a recitation based on the sign-up form you submit; the section assignment made by the registrar is ignored.


SectionInstructorLocation
1Matt Notowidigdo34-302
2Lee Lin36-372
3David Saff24-115
4Brian Dunagan26-168
5Thomer Gil4-257
6Sameer Ajmani26-210
7Roger Moh26-322

Recitation section information will be distributed by email by Monday, September 8, and will also be available on the web.

Labs

While 6.170 is a lab class, lab work will be performed on your own time either on Athena or using your own personal machine. Since both lectures and recitations in 6.170 tend to focus on conceptual material pertaining to software engineering rather than particulars of how to use the Java language, this term we are offering optional tutoring sessions in lab during the first two weeks of the term. These sessions are optional and ungraded, but they will help you to understand and use the Java language and tools more effectively.

Lab sessions will involve a one-hour exercise that introduces you to some tool (such as editing environments, compilers, debuggers, and profilers) or to some aspect of the Java language (such as inheritance and the Swing library). TAs and LAs will be on hand to help you.

Lab sessions are held in 34-501 (the 6.001 lab) from 11am-5pm.

Quizzes

There will be two one-hour quizzes during class time; see the class schedule.


Policies

Grading policy

Individual Work
70%
Problem set 1 6%
Problem set 2 6%
Problem set 3 6%
Problem set 4 9%
Problem set 5 9%
Problem set 6 9%
Quiz 1 12.5%
Quiz 2 12.5%
Group Work
30%
Final Project 30%

We will make every effort to standardize TA grading policies, but we reserve the right to normalize grades across recitation sections to account for remaining disparities.

All team members in a project team will receive the same project grade. In order to have the best project experience, team up with students who have the same expectations and motivations as you do with respect to project and overall course grades.

Late/missing work

Collaborative work

The Departmental Guidelines Relating to Academic Honesty require that we inform you of our expectations regarding permissible academic conduct.

It is our intention that each student gains the full benefit of 6.170 and achieves a full understanding of the course material. However, we recognize that some students benefit from discussions with other students. Therefore, we permit limited collaboration on 6.170 assignments.

It is your responsibility to satisfy both the letter and the spirit of the rules. If any part of this policy is not clear, or if you have any questions or concerns, ask a member of the course staff for clarification. Violating the collaboration policy may result in failing the class and/or other penalties. We will use technological and other means to detect cheating.


Procedures

Handouts

Handouts will be distributed on the class web site. Announcements will be posted as Messages of the Day on the class website. These announcements are also available by subscribing to the 6.170-motd mailing list. Very important announcements will be emailed to all students.

How to Submit Assignments

Students in 6.170 are required to submit the implementation part of the problem sets electronically.

Your documentation must clearly indicate any shortcomings of your program. If your code does not compile, or if certain functionality is missing, and your documentation does not clearly and prominently indicate as such, then you will lose points for the omissions (as well as for the defect itself).

Diagrams which you turn in must be readable. While we will not be grading on artistic merit, if it is not easy to see what is happening, then you have not successfully conveyed the relevant information, and you will be graded accordingly.

Electronic problem set solutions should be submitted via the turnin6170 script. You should place your name near the top of all files you turnin. Along with your electronic submissions you must always include a README file which should provide a brief overview of your turnin. The README should include brief descriptions of any files you turn in. (You may wish to describe each by a single line, or describe groups of them together; do whatever is clearest.) Do not turn in extraneous files, as every file you turn in will be graded, and points will be taken off for files that are not used or are not mentioned in the README file.

All code you turn in must compile. It must also run when called in the manner specified by the problem set, or it will not receive credit for correctness. TAs will not adjust your output formats or otherwise debug your programs to try to get them to run. You will be given example input and output files, and often full test suites as well, in order to test your own programs before submitting them. Specifically, you should use the validate6170 script to check your code before you submit it.

For many of the problem sets we will provide you with a detailed specification for the behavior of the code that you will write. It is imperative that the program you write conform precisely to these specifications. This means that your program should not write anything to either standard out or standard error other than precisely what is specified. You should verify that the spelling, phrasing, or punctuation conforms to the specification as your program will be subjected to automated testing. The output of your program should furthermore be deterministic: it should not vary from run to run when presented with the same input.

In addition to providing specifications for the behavior of your program, we will often provide specifications for certain classes. For such classes you are free to add private fields, methods, and constructors, but unless otherwise specified you may not add public, protected, or default-access (package) fields, methods, or constructors.

The test suites which you include with your program should run in under a minute when testing your implementation.

Graded Assignments

We will return graded assignments to you during recitation, typically within 7-10 days.


Problem set hints

To complete assignments as efficiently as possible, and to derive the most benefit, we recommend that you:
Back to Administrative Info.
Back to the 6.170 home page.
For problems or questions regarding this page, contact: 6.170-webmaster@mit.edu.
$Id: generalinfo.html,v 1.52 2003/09/05 03:21:13 leelin Exp $