Programming Language Concepts: Syllabus

Course Numbers 4003-450 and 4003-709
Course TitleProgramming Language Concepts
Course Description A study of the syntax and semantics of a diverse set of high-level programming languages. The languages chosen are compared and contrasted in order to demonstrate general principles of programming language design. The course emphasizes the concepts underpinning modern languages rather than the mastery of particular language details. Programming projects will be required.
Prerequisites
Course NumberPrerequisites
4003-4504003-263 or 4003-334; 1016-265
4003-7094003-704, algorithms and data structures, 4003-705 or 1016-265
Credit4


Instructor Andreas F. Borchert
Building 10, Room 1180
afb@cs.rit.edu
Office Hours: MWR 2-3pm, T 8pm (subject to change) and by appointment.


Graders
Section 1Ashish Suriaxs3446@cs.rit.edu
Section 70Manav Guptamxg0391@cs.rit.edu


Lectures
 Section 1Section 70
ScheduleMW 10am-12pmTR 6pm-8pm
Room 01-3287 23-1320


Materials


Homeworks There will be nine weekly assignments consisting of programming tasks and questions. But even if they appear in some cases to be small, emphasis is to be given on elegance and very good readability.

All assignments can be solved individually or in teams of two. In the latter case, both team members are expected to have contributed significantly to the whole assignment and both team members should be able to explain the entire work to me.

You must submit only work that has been developed by you and your team partner. It is not permitted to discuss a solution to an assignment with anyone but your team partner and me. Cheating is graded as 0 and will not be dropped.

Assignments are made available on each Monday on the course home page and distributed as handouts within the first lecture during a week. They are due by email no later than the following Sunday at midnight.

You are invited to send questions regarding an assignment to me by email at any time. However, I cannot guarantee a timely response on questions during the weekend.

Late submissions will not be accepted for whatever reason but the lowest grade of all assignments will be dropped.

Please note that if you have questions about the grading of an assignment, you must bring it to my attention within one (1) week after the graded material has been sent back by email. After that time, no grade adjustments will be considered!


Presentation You have to pick an arbitrary programming language that is neither covered by CS1 to CS4 (this excludes Java and C++) nor by this course (this excludes Perl, Prolog, and Scheme) and to prepare a presentation for it that is to be held during one of the lectures in the 9th or 10th week. The selection of the language needs my approval.

If you have registered for 4003-709, the presentation of approximatively 15 minutes is to be extended by written material on web pages which should include several examples.

Participants of 4003-450 have presentations of approximatively 10 minutes and do not need to provide additional material. However, teams of two are permitted and in this case one team member is responsible for the presentation while the other authors the web pages.

Grades for the presentations are given on a pass/fail basis.

The deadline for selecting a presentation is Sunday, 04/21/02, midnight (time stamp of email). If you fail to select a language before the deadline, your presentation will be considered as failed.


Final Exam During the 11th week a final exam of 120 minutes will be given that covers the entire course including lectures, handouts, assigned readings, and assignments. The exam is closed books and notes with the exception of one letter-sized page of handwritten notices.

The date of the final exam will be announced as soon as it is known; this should be prior to the sixth week of the quarter, according to RIT's Final Examination Policy. You must take the final exam at the time scheduled for your section; except as provided for by the Final Examination Policy, finals are not given early, nor will there be a makeup exam.

In case of conflicting final exams, the Policy states that you, the student, must submit a written request for rescheduling your exam to the head of your department and to the instructor being asked to reschedule the exam by the last day of the sixth week of the quarter.


Grading The activities of this course are weighted as following:

ComponentWeight
Assignments50%
Presentation10%
Final Exam40%

Numerical grades will be converted to letter grades according to the following scale:

RangeLetter Grade
>= 88%A
77% - 87%B
67% - 76%C
55% - 66%D
< 55%F

The grades will not be curved.


Academic Honesty The DCS Policy on Academic Dishonesty will be enforced. You should only submit work that is completely your own. Failure to do so counts as academic dishonesty and so does being the source of such work. Submitting work that is in large part not completely your own work is a flagrant violation of basic ethical behavior and will minimally be punished with failing the course.


Andreas F. Borchert, March 11, 2002
Some paragraphs of the syllabus have been copied from other syllabi of the department.
Updated: March 25, 2002: Grader information changed.
Updated: April 11, 2002: Deadline for presentation selection included.