Synopsis
Purpose. The study of programming languages and their use in software systems engineering -- partly theoretical, partly empircal. Includes an introduction to the formal aspects of programming languages, program analysis techniques and large-scale analysis of software projects. Evaluation. Projects (90%) + Class participation (10%) Pedagogy:
The course's 20 or so lecture slots will be half formal lectures
and half discussion sessions. |
Instructor: Prof. Cristina Lopes, DBH 5076, lopes
at ics dot uci
dot edu
Projects
There will be 6 to 9 projects.
Submission
EEE plus F2F discussion.
Important dates
Project | Topic | Due date | Demo date |
1 | Lambda Calculus | 4/15 | 4/16 |
2 | Operational Semantics | 4/15 | 4/16 |
3 | Haskell | 4/29 | 4/30 |
4 | JavaScript | 4/29 | 4/30 |
5 | Reflection | 5/13 | 5/14 |
6 | Type Systems | 5/13 | 5/14 |
7 | Modularity | 5/27 | 6/4 |
8 | Virtual Machines | 6/3 | 6/4 |
9 | Program Analysis | 6/12 | 6/13 |
No exam
Academic Honesty
I trust all students are honest and do not cheat. Those who break my trust at any point will get an F in the course - no excuses or apologies will be accepted.Additional penalties may also be imposed by the department and the university. Very severe incidents of academic dishonesty can result in suspension or expulsion from the university.
Students with Disability
Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately to discuss his or her specific needs. Also contact the Disability Services Center at (949) 824-7494 as soon as possible to better ensure that such accommodations are implemented in a timely fashion.