ICOM 4036 - Structure and 
Properties of Programming Languages
(Spring 2008)
Comparative study of programming paradigms including 
imperative, object-oriented, functional, logic, and concurrent programming with 
focus on main features produced by different languages for specific 
applications. Formal specification of the syntactic structure of a language, 
context-free grammars, parsing, and principles of language design. 

General 
Information
Lectures Tuesday & Thursday (4:10 - 5:25) @ Stefani 228 
Exams
  
    | 
  
   Exam  
1:TBA (Topics, Practice, Solution, Stats)   
   | 
  
    | 
  
   Exam  
  2: TBA (Topics, Practice, Solution, Stats)
   
   | 
    | 
  Exam  3:TBA  (Topics, Practice, 
  Solution, Stats)
     | 
  
    | 
  Final Exam:    (Topics, 
  Practice, Solution, Stats) | 
  
Problem Sets
    | 
  Problem Set 1. 
  TBA (PDF, Solution)
   | 
  
    | 
  Problem Set 2. TBA (PDF, Solution)
     | 
  
    | 
  Problem Set 3. TBA (PDF, Solution) | 
  
    | Problem Set 4. TBA (Doc, Solution) | 
Programming Assignments
    | Programming Assignment 1. 
  TBA  (Word, PDF, Solution) | 
    | 
  Programming Assignment 2. TBA (Word, PDF, Solution) | 
  
    | Programming Assignment 3. TBA (RefCode, Doc, Solution) | 
    | Programming Assignment 4. TBA (RefCode, Doc, Solution) | 
Email Lists
Software Development Tools
Supplementary Readings
    | "The Nature of Computing". Bienvenido Velez. 
  COMPEL 2002 Plenary Talk. (PDF) | 
    | 
     RFC
    1855: Netiquette Guidelines. ABSTRACT: This
    document provides a minimum set of guidelines for Network Etiquette
    (Netiquette) which organizations may take and adapt for their own use. As
    such, it is deliberately written in a bulleted format to make adaptation
    easier and to make any particular item easy (or easier) to find. It also
    functions as a minimum set of guidelines for individuals, both users and
    administrators. This memo is the product of the Responsible Use of the
    Network (RUN) Working Group of the IETF.  | 
    | "Lambda: The Ultimate Imperative".  Guy Steel and 
  Gerald Sussman. MIT AI Lab Memo 353. (PDF)  | 
    | Computability and Turing Machines 
   | 
Language References and Documentation
    | MIPS Assembly Language and SPIM
   | 
    |  Fortran 77
   | 
    |  Scheme
      | Scheme home site 
    @ MIT |  
      | Revised Report on The Algorithmic Language Scheme" (HTML) |  
   
   | 
    | Prolog
      | Prolog Tutorial (HTML) |  
   
   | 
    | Perl
      | Picking up Perl Tutorial (Available
    here in several formats) |  
   
   | 
    | Ada
      | Quick Ada Tutorial (pdf) |  
   
   | 
Other Reference Links
    | 
    Pagina del curso ICOM4036 del Profesor Wilson Rivera (click)  | 
    | 
   Introduction to Programming Languages by Anthony A. Aaby (HTML)  | 
    | 
   MIT 6.004 Computation Structure course Fall 2002 (HTML) 
      | 
   The Digital Abstraction (PDF)  |  
      | 
   CMOS Computers (PDF)  |  
      |  
   Gates (PDF)
    |  
   
   | 
Course Evaluation
    | Evaluacion del curso por los
    estudiantes durante el examen parcial I (PDF)  | 
Si descubres
algún enlace útil para la clase  avísame para colocarlo
aquí.