Home
Teaching
 
CS 2510 Su '10
General
Readings
Syllabus
Assignments
Communication
Labs
Office Hours
Advice

General Information

People:

Instructor:
Viera K. Proulx

Tutors:

Christopher McGroarty

Robby Grodin

Everyone on the course staff is available for consultations to every student.

Class:

Course lecture and lab times and location:
MoTuWTh9:50 am - 11:30 amin room 110 WVHLectures
TuTh11:40 am - 1:20 pmin room 212 WVHLabs
You must attend lectures and labs on a regular basis.

Lectures are really just interactive group learning sessions. You should read the assigned reading before you come to the lecture. You must bring paper and a pencil or a pen, so you can work out the questions posed during the lecture. If you use a laptop to take notes during the lectures, you must be able to answer questions and participate in the class discussion at any time.

Labs: The lab CS 2511 is an integral part of the course. The labs start on Tuesday, May 12th and meet in 212 WVH. You must attend all labs. The purpose of labs is to give you some hands-on experience with the actual tools, and to illustrate some of the principles from the lectures with hands-on examples. You must finish all the lab work - at home, if you do not have enough time during the lab hours. This work should be included in your electronic portfolio.

Computing Environment: The first assignment uses DrScheme Intermediate Student with lambda language.

Introductory assignments will use FunJava language. Details will be given during the second lab.

During the remainder of the semester we will use Eclipse IDE with the standard Java language. Optionally, you may choose to use another IDE (e.g. NetBeans) or work directly from the command line.

Assignments: We divided the syllabus into 14 weeks. Each week consists of one or two lectures, a lab, and an assignment based on the lectures and the lab that is due at the end of the day (10:00 pm) of the following lab.

In the assignments and projects you will apply the concepts and techniques to a new situation. They will be done with a partner and will be graded on a weekly basis.

Several of the problems on the assignments will be based on the work done in the previous week(s). If you switch partners, start with the better earlier solution.

There will be several open-ended creative projects where you can practice your design skills. The final ends with a project presentation in front of the entire class.

Due Dates: Tuesdays and Thursdays at 10:00 pm, unless otherwise specified.

We will not accept late homework.

Pair Programming: You must work on your homework problems in pairs. You will be assigned a homework partner during the first lab. Homework pairs will change after the fourth and after the eighth week of the semester.

Keep a log documenting the times you and your partner met and worked together and when do you plan to meet next. If the planned meeting does not happen, write down an explanation. If you are having difficulties working with your partner, see your TA or the instructor and bring your log to document the problems you may have.

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.

If you are having difficulties working with your partner, please inform your TA or the instructor. Bring in your log of meetings with your partner to help explain the problems you may have.

Portfolio: You should keep a neat record of all your work in the form of an electronic portfolio. It should be organized as follows:

  1. Cover web page with your name, course name, and links to the directories listed below.
  2. an electronic journal that records your reading, work done on problem sets, and the meetings with your partner
  3. a directory/folder for the graded problem sets (including the creative projects) with a web page listing the contents
  4. a directory/folder for the lab projects with a web page listing the contents
  5. optionally, a directory/folder in which you keep copies of any other programs you have written while studying for the course.

You are required to finish every lab, even if you did not have the time to finish it during the lab time.

We will review your portfolios during the semester.

Exams: We will have three exams to assess your progress. The first exam will be given during the lecture on May 25th. The second exam will be given during the lecture on June 9th. These exams will last 65 minutes.

The third exam will be scheduled given during the entire lecture time (100 minutes) on June 17th.

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 30% to the homework grade, a weight of 55% to the three exams (10%, 15%, 30%), and 10% for the portfolio review, project reviews and code walks, and class participation. The remaining 5% are up to the instructors' whim.


last updated on Wed May 12 22:16:32 EDT 2010generated with PLT Scheme