People:
Instructors:
Viera Proulx and
Eli Barzilay
Teaching Assistants:
Daniel Kunkle, Jeff Palm, Dale Vaillancourt, Dimitrios Vardoulakis
Tutors:
Kaitlyn Hanrahan, Matt Horan, Patrick Kaeding, Jon Simons
Everyone on the course staff is available for consultations to every student.
Class:
Lectures: The course has three lecture sections, that cover essentially the same material and the same
key concepts.
Section | Location | Professor |
---|
MoWTh 9:15 am | 108 WVH | Proulx |
MoWTh 10:30 am | 108 WVH | Proulx |
MoWTh 1:35 pm | 108 WVH | Barzilay |
You must attend lectures on a regular basis, as many concepts covered in lectures are not in the textbook.
Lectures are really just interactive group learning sessions. You must bring paper and a pencil or a pen,
so you can work out the questions posed during the lecture. No laptops are allowed
to be used during the lectures.
Labs: The course also has lab sections. The labs start on Tuesday, January 10.
You must
attend your lab section on a weekly basis. The purpose of labs is to
give you some hands-on experience with the actual tools, and to
explain some of the principles from lecture with hands-on examples.
Computing Environment:
You will do your assignments initially using ProfessorJ languages within the
DrScheme programming
environment.
Some assignments will require the use of additional Java classes that will be available to you.
You may install the DrScheme on your computer at home and work there.
During the second half of the semester we will use Eclipse IDE with full Java language.
Assignments:
There will be a problem set each week. The problem sets consist of several problems,
drawn from the text and from a supplementary Web page. We will drop the worst homework grade
from consideration for the final grade. You may therefore choose to skip one homework set;
we'll just assign a zero (0) for this homework.
Due Date:
Mondays at 8:00 pm, unless otherwise specified.
Because the homeworks are submitted electronically, network congestion is a real possibility.
Please allow at least an hour before the assignment is due to submit the homework.
"The Server ate my homework" is not an excuse.
We will not accept late homework.
Getting Credit for Assignments:
There will be a simple quiz each week, graded only on a pass/fail basis. The goal of the quiz
is to determine that you have worked
on the homework set and understand the basic concepts in this problem set.
You must pass the quiz to get the credit for the corresponding homework.
Pair Programming:
You must work on your homework problems in pairs.
You will be assigned a homework partner during the first lab.
Pair programming means that you and your partner study the problem sets individually and
possibly even sketch out solutions. Then you meet and jointly develop solutions to each problem.
One of you--the driver--types, and the other one--the co-pilot--looks over the driver's
shoulder. When something isn't clear, it is the co-driver's responsibility to question the approach.
You must switch roles during such a problem solving session.
Every partner must be able to solve every homework problem in the end.
Warning: You must be able to solve every homework problem on your own.
Are you sure you have read the warning?
You are free to collaborate at will with others on the problem sets. If you do so, you must
acknowledge all collaborators on your cover page. Failure to do so may result in reductions
of your homework grade.
Supplemental Writing Assignments:
Each week there will also be a short writing assignment to be done individually. This is to be
submitted individually using the homework server on the day the regular assignment is due.
Each assignment should be no more than half page long. The goal is to get you used to writing, and to
give you an opportunity to think about the computing profession that will be your future.
Portfolio:
You should keep a neat record of all your work in the form of a portfolio. Paper based portfolio
should have copies of all your graded work, and should also include a journal that records
your reading, work done on problem sets, and the meetings with your partner. Electronic
portfolio should be a directory/folder in which you keep copies of all homeworks submitted,
as well as any other programs you have written while studying for the course.
We will check your portfolios twice during the semester.
Exams:
We will have two three hour exams to assess your progress. The exams will take place
on February 21, 6-9pm, and on April 6, 6-9pm. The exams will take place in rooms 200 Richards.
The exams will test material similar to that assigned in weekly homeworks. You will take the
exams by yourself. Collaboration is not tolerated. If you make sure that you can do every the
homework problem on your own, the exams will be easy. If not, you will probably have a difficult time
with the exams.
Grades:
You will get a grade for your homework and a grade for your exams. Both
must be passing grades; otherwise you cannot pass the course. For the final grade, we
will assign a weight of 35% to the homework grade and a weight of 60% to the two exams.
The remaining 5% are up to the instructors' whim.