Location and Times
- Course Title: Programming Languages and Compilers
- Dates: January 21 to May 8.
- Instructor: Mattox Beckman
- Textbook: course notes
- Office Hours: tba
Official Description and Learning Goals
The instructor’s course goals are on the homepage, but here’s the university description of the course:
structure of programming languages and their implementation. basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation.
course information: 3 undergraduate hours. 3 or 4 graduate hours.
prerequisite: cs 233 and cs 374.
Here are the official learning goals:
- learn to program in a functional programming language
- understand the evaluation of programs in a functional programming language
- be able to write a type checker / type inferencer given a formal type system
- be able to write a lexer, and a parser using recursive-descent parsing.
- program translation: be able to write a syntax-directed translator from abstract syntax to intermediate representations
- recognize and use major methods of specification of dynamic semantics
- write a interpreter based on a formal operational semantics of the language
Assignments and Grading
Here is the grading scheme for the course. Note that 4 credit hour students have an extra project they must complete.
Category | 3 Hour | 4 Hour |
---|---|---|
In-class activities | 5% | 4% |
Post-class activities | 10% | 8% |
Machine Problems | 35% | 28% |
Midterm Exams | 50% | 40% |
Final Exam | n/a | n/a |
Semester Project | n/a | 20% |
In-Class Activities (POGILs)
During class you will work on an activity with other classmates. These are graded by participation. You can think of it as taking attendance if you like, but working on the questions together is a core part of the educational process, and no option will be given for completing them alone. These are worth 5%. If you do them during class you will get extra credit, making them worth 7%. Solo makeup is typically not allowed; we can excuse you from the activity for reasons covered by the student code.
These are due in one week with an automatic 2 day extension for 80% credit.
We realize that sometimes things come up that make you miss class, so we will drop 3 of the scores.
After-class Activities
Basically these are homework. You will solve a problem according to the methods discussed in class. These are worth 10%. These are due in one week with an automatic 2 day extension for 80% credit. These are very important to complete if you are going to learn the material, therefore there will be no drops.
Machine Problems
Typically there will be about six machine problems, called machine problems (MPs). they will be released approximately one every two weeks. You are allowed to get help on the machine problems, but you need to cite your help.
These will be released on Tuesdays and due the Monday 13 days later. There is an automatic one week extension for 80% credit.
We will drop the lowest MP score.
Exams
There are three midterm exams. These will all be proctored in the Computer Based Testing Facility.
One week before an exam, we will provide a practice exam that follows the same format for your studying pleasure.
Each exam will be broken into four or five zones. Each zone represents a learning
If you have accommodations identified by the division of rehabilitation-education services (DRES) for exams, please take your letter of accommodation (LOA) to the CBTF proctors in person before you make your first exam reservation. The proctors will advise you as to whether the CBTF provides your accommodations or whether you will need to make other arrangements with your instructor.
Any problem with testing in the CBTF must be reported to CBTF staff at the time the problem occurs. If you do not inform a proctor of a problem during the test then you forfeit all rights to redress.
Final Exam
4th Hour Project
If you are a graduate student taking the course for 4 hours, then you need to complete a project. This project is worth 20% of the course grade for those who need to do it. (The other percentages are adjusted down accordingly.)
Late Policy / Missing Exams
Late submissions are built into PrairieLearn. For machine problems, you will have one week to turn it it for 80% credit. As we just mentioned, quizzes can be turned in up to the last day of class.
Code Efficiency
Unless stated otherwise, you should assume that code that does not compile, or code that is inefficient (in terms of time and space complexity), will not earn any points. We will not hand grade non-compiling code.
Regrade Requests
If there is an error in the grading of an assignment, please file an issue request on [your github repository]({{< ref “/docs/github” >}}). Please assign the tag “regrade” and assign the issue to the instructor.
Once grades are released, you have one week to file any regrade requests.
Grade Cutoffs
We will use the standard 10 point per letter grade scale.
Grade | Points |
---|---|
A+ | 97 |
A | 93 |
A- | 90 |
B+ | 87 |
B | 83 |
B- | 80 |
C+ | 77 |
C | 73 |
C- | 70 |
D | 60 |
E | 0 |
Undergraduates are encouraged to do the extra project as well. It will not affect your grade, but it will give me something to say if you happen to want a letter of recommendation later.
Code of Conduct
Our class (and life in general!) will work better if we maintain professionalism and respect for each other. We expect courteous and respectful communication at all times, as well as a committment to integerity and honesty in your work.
Academic Integrity
The University of Illinois at Urbana-Champaign student code should also be considered as a part of this syllabus. Students should pay particular attention to Article 1, Part 4: Academic Integrity. Academic dishonesty may result in a failing grade. Every student is expected to review and abide by the academic integrity policy. Ignorance is not an excuse for any academic dishonesty. it is your responsibility to read this policy to avoid any misunderstanding. Do not hesitate to ask the instructor(s) if you are ever in doubt about what constitutes plagiarism, cheating, or any other breach of academic integrity.
Students with Disabilities
To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor as soon as possible. To insure that disability-related concerns are properly addressed from the beginning, students with disabilities who require assistance to participate in this class should contact disability resources and educational services (DRES) and see the instructor as soon as possible. If you need accommodations for any sort of disability, please speak to me after class, or make an appointment to see me, or see me during my office hours. DRES provides students with academic accommodations, access, and support services. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (v/tdd), or e-mail a message to disability@uiuc.edu.
Emergency Response Recommendations
The university police have posted some emergency response recommendations. I encourage you to review this website and the campus building floor plans website within the first 10 days of class.
Of course, since we’re all online, your classroom is likely your living space. Have you considered making a fire safety plan with your family or roommates?
Family Educational Rights and Privacy Act (FERPA)
Any student who has suppressed their directory information pursuant to family educational rights and privacy act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. see the FERPA site for more information.
Mental Health
Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do — for yourself and for those who care about you.
Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820
McKinley Health Center:217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801