Design and implementation of programming languages, with an emphasis on imperative languages and on implementation tradeoffs. In-depth examination of how programming languages actually work.
Credit hours: 4.0
Prerequisites: CSC173, CSC252; no exceptions
Class: Tue-Thu 1525-1640 Meliora 221
Web: BlackBoard and www.cs.rochester.edu/u/ferguson/csc/254/Spring2026/
Students may NOT add this course after the end of the second week of the semester. Students adding the course after term starts (but before the end of the second week of the semester) are still responsible for meeting all course deadlines. It is strongly recommended NOT to start this course late.
If changes to this syllabus are necessary, they will be announced on BlackBoard.
Prof. George Ferguson <ferguson@cs.rochester.edu>
Office: Wegmans Hall 2103 (see instructor website for office hours)
Graduate Teaching Assistant:
This course covers the major topics in the design and implementation of programming languages, including:
Programming Language Pragmatics (5th ed.) by Michael L. Scott (Elsevier; Paperback ISBN: 9780323999663, eBook ISBN: 9780323984232)
Additional readings and resources will be assigned as needed and posted to BlackBoard.
www.cs.rochester.edu/u/ferguson/csc/254/Spring2026/calendar.html
Letter grades for undergraduate students will follow the official AS&E Undergraduate Student Grading Scheme. The following table is an estimate of how the numeric grades will map onto the letter grades (subject to change):
| A | Excellent | ≥90% |
| A-, B+ | ||
| B | Above average | ≥80% |
| B-, C+ | ||
| C | Minimum Satisfactory Grade | ≥70% |
| C-, D+ | ||
| D | ≥60% | |
| D- | Minimum Passing Grade | |
| E | Failure |
Letter grades for graduate students will follow the official AS&E Graduate Student Grading Scheme. The following table is an estimate of how the numeric grades will map onto the letter grades (subject to change):
| A | Excellent | ≥90% |
| A-, B+ | ||
| B | Good | ≥80% |
| B- | ||
| C | Poor | ≥70% |
| E | Failure | <70% |
All appeals of grades must be made within ONE WEEK of the grade being posted (or sooner as announced on BlackBoard).
This course does NOT permit additional work for extra credit under any circumstances.
All assignments and activities associated with this course must be performed in accordance with the University of Rochester’s Academic Honesty Policy. More information is available at: www.rochester.edu/college/honesty
You will learn the most if you do all the work in this course ON YOUR OWN.
That said, collaboration on projects is permitted, subject to the following requirements:
Avoid sites like GitHub and StackExchange for the duration of this course.
Note also that posting homework and project solutions to public repositories on sites like GitHub is a violation of the College’s Academic Honesty Policy, Section V.B.2 “Giving Unauthorized Aid.”
The use of generative AI tools is NOT permitted in this course.
The University of Rochester respects and welcomes students of all backgrounds and abilities. In the event you encounter any barrier(s) to full participation in this course due to the impact of disability, please contact the Office of Disability Resources. The access coordinators in the Office of Disability Resources can meet with you to discuss the barriers you are experiencing and explain the eligibility process for establishing academic accommodations. You can reach the Office of Disability Resources at: disability@rochester.edu; (585) 276-5075; Taylor Hall.
Students with an accommodation for any aspect of the course must make arrangements IN ADVANCE through the Disability Resources office. Then, as instructed by the office, contact the instructor to confirm your arrangements. Do not leave this until the last minute.
We hope that you will want to attend class (lecture), but attendance is NOT required. However if you choose not to attend, you may miss important announcements or information about the course.
This course follows the College credit hour policy for four-credit courses, including lectures and study sessions.
Students are expected to do significant work outside of class time. This supplementary work on reading, projects, and exam preparation may require up to twice again as many hours of effort per week.
Computer crashes, malfunctions, and catastrophic loss of files are NOT valid excuses for not submitting work on time. You should know how to deal with this by now. Backup your files regularly to at least one external drive and/or cloud storage.
Network connectivity problems are also NOT an excuse for not submitting work to BlackBoard on time. CSC254 students are all familiar with BlackBoard, for better or worse. Upload early just in case.
Students who are unable to attend or complete any part of the course due to illness should contact the instructor AS SOON AS POSSIBLE. Please note that the University Health Service (UHS) does not provide retroactive excuses for missed classes. Students who are seen at UHS for an illness or injury can ask for documentation that verifies the date of their visit(s) to UHS without mention of the reason for the visit.
Students with extended or severe illness should contact the College Center for Advising Services (CCAS) for advice and assistance.
Students with an appropriate excuse for missing any exam or project deadline must make arrangements IN ADVANCE.
This course follows the College policy regarding incompletes:
Undergraduate students may request an incomplete notation (I) for a course when there are circumstances beyond the student’s control, such as illness or personal emergency, that prevented the student from finishing the course. Students are expected to contact their instructors directly, and as soon as possible, when these situations occur. [...] Awarding an incomplete is always at the discretion of the instructor.
[...]
Under no circumstances can an incomplete notation be requested for a student who:
- Wishes to complete additional work beyond what is outlined on the syllabus to improve a grade.
- Wishes to redo coursework already completed to improve a grade.
- Needs to complete the majority of the course and its related components (lab, workshop,recitation)
- Needs to repeat a course.
[...] If significant amounts of work have been missed, an incomplete is not reasonable or possible, and alternative options should be considered. [...]
Please also note Section V.B.7 of the College’s Academic Honesty policy regarding “Unauthorized Recording, Distribution or Publication of Course-Related Materials.”