INF 102 - Concepts in Programming Languages 2

Homework
    Policy
    Projects   
 
 
Syllabus
 
Academic Honesty
 
Students with Disability
Synopsis

Purpose. Study of the multiple forms of expression in artificial computer languages, and of the language processing machines.

Books and other resources.
Structure and Interpretation of Computer Programs, Chapter 4. H. Abelson and G. Sussman with J. Sussman.
Alan Perlis' Epigrams in Programming.

Evaluation. Homework/lab projects (1/3) + Midterm (1/3) + Exam (1/3)

 

Master Sorceress: Prof. Cristina Lopes, DBH 5076, lopes at ics dot uci dot edu; Office hours: M/W/F, 11:00-noon.
Wizardry Reader/Grader: Yassser Ganjisaffar

Lectures: Tues & Thur 3:30-4:50p, BH 1420
 


Syllabus

Week Lecture Date

Topics

Homework Readings / Notes
1 1 1/8 Course goals and description. Computer languages: diversity and categories.





HW1
2 1/10 Playing with languages: the metacircular interpreter. Review of INF 101 in the context of metalinguistic abstraction.

4.1
2 3 1/15 The metacircular interpreter (cont.)


 

4 1/17 Special Class (or no class)


3 5 1/22 Aspect-oriented programming. The aspect interpreter.
HW2 (AOP)



HW3
aspect-eval
6 1/24 AOP (cont).
4 7 1/29 Scheme interpreter in Java

8 1/31 (cont)


5 9 2/5 Revision.
10 2/7 Midterm
6 11 2/12 Dynamic OO languages: Ruby basics. 
12 2/14 Ruby Objects, Classes, and Modules. Introduction to reflection and metaprogramming. Pragmatic Ruby
Poignant Ruby
7 13 2/19 Ruby metaprogramming
HW4 Ruby reflection
14 2/21 Ruby metaprogramming (cont)
Objects and Classes
8 15 2/26 Back to mainstream: Java reflection.

Java reflection

16 2/28 Java reflection (cont)
example
9 17 3/4 Ruby on Rails: programming without writing code. (brief overview of 3-tier architecture, and Model/View/Controller) HW5
Ruby on Rails
18 3/6 JavaScript
JavaScript
10 19 3/11 Revision: the meta-circular (human) interpreter.  
20 3/13 Revision: Ruby, reflection.
  Tuesday 3/18 Exam starts at 4:00pm  


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. So don't risk it! If, for some reason, you can't do the homework on time or can't study for the Quiz, you're better off skipping it than cheating it. Do the math!

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.