Email: bvelez@acm.org
University of Puerto Rico - Mayagüez Campus
Department of Electrical and Computer Engineering

Home
Courses
Publications
Projects
My Favorite Links
My Favorite Search Engines

ICOM 4036 - Structure and Properties of Programming Languages (Spring 2004)

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.

bullet

Course Information Sheet A.K.A. Prontuario (PDF)

bullet

Course Outline  (PDF)

bulletLecture   1 - Administrivia, Course Overview, Brief PL History, PL design criteria (PDF)
bulletLecture   2 - Programming Paradigms I - Low-level Programming (e.g. MIPS Assembly) (PDF)
bulletLecture   3 - Programming Language Specification and Translation (PDF)
bulletLecture   4 - Programming Paradigms II - Imperative Programming (e.g. Fortran) (PDF)
bulletLecture   5 - Programming Paradigms III - Functional Programming (e.g. Scheme) (PDF)
bulletLecture   6 - Programming Paradigms IV - Logic Programming (e.g. Prolog) (PDF)
bulletLecture   7 - Programming Paradigms V - Object-Oriented Programming (e.g. C++/Java/C#) (PDF, Abstraction, Inheritance)
bulletLecture   8 - Programming Paradigms VI - Scripting (e.g. Perl) (Class notes)
bulletLecture   9 - Names, Bindings, Scopes and Lifetimes (PDF)
bulletLecture 10 - Type Systems (PDF)
bulletLecture 11 - Expressions and Control Structures (e.g. Ada)  (PDF)
bulletLecture 12 - Procedures and Functions (PDF)
bulletLecture 13 - Abstract Data Types (PDF)
bulletLecture 14 - Polymorphism (PDF)
bulletLecture 15 - Concurrency and Parallelism (PDF)
bulletLecture 16 - Exceptions (PDF)
bullet

Exam Parcial 1: March 4, 2004 in class (Exam, Topics, Practice, Solution, Stats)

bullet

Exam Parcial 2: March 25, 2004 in class (Exam, Topics, Practice, Solution, Stats)

bulletExam Parcial 3: April 20, 2004 in class (Topics, Practice, Solution, Stats)
bulletFinal Exam:       Date announced by registrar  (Topics, Practice, Solution, Stats)
bulletProblem Set 1. Lexical and Syntactic Analysis (Due March 12) (PDF, Solution)
bulletProblem Set 2. TBA (Doc, Solution)
bulletProblem Set 3. TBA (Doc, Solution)
bulletProblem Set 4. TBA (Doc, Solution)
bulletProblem Set 5. TBA (Doc, Solution)
bulletProgramming Assignment 1. Low-level Programming  (RefCode, PDF, Solution)
bulletProgramming Assignment 2. TBA (PDF, Solution)
bulletProgramming Assignment 3. TBA (RefCode, Doc, Solution)
bulletProgramming Assignment 4. TBA (RefCode, Doc, Solution)
bulletProgramming Assignment 5. TBA (RefCode, Doc, Solution)
bulleticom4036-profs
bulleticom4036-students  (Subscribe) (Archives)
bulleticom4036-forum (staff & students)(Archives)
bulletEmacs for Windows (download)
bullet.emacs File (download)
bulletSPIM Simulator (home site, windows version)
bulletUC Berkeley  SPIM including SPIM for Mac OS (home site, macOS X)
bulletX Server for Windows (download)
bulletCheck you linux account User id (section 156, section 166)
bullet"The Nature of Computing". Bienvenido Velez. COMPEL 2002 Plenary Talk. (PDF)
bullet

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.

bullet

"Lambda: The Ultimate Imperative".  Guy Steel and Gerald Sussman. MIT AI Lab Memo 353. (PDF)

bulletMIPS Assembly Language and SPIM
bullet "Assemblers, Linkers and the SPIM Simulator". This is Appendix A of Hennessy & Patterson, Computer Organization and Design: The Hardware/Software Interface. Coutersy of Morgan Kaufmann Publishers.
bullet SPIM/MIPS Instruction Set Sheet (PlainText)
bulletUseful website with lots of MIPS/SPIM documentation (click)
bullet Fortran 77
bulletGetting Started with G77 (Windows)
bullet Gilberto Urroz's Fortran 77 page
bulletProfessional Programmer's Guide to Fortran77 (HTML)
bulletFortran Language Reference @ Sun Product Documentation (Web)
bullet Scheme
bulletScheme home site @ MIT
bulletRevised Report on The Algorithmic Language Scheme" (HTML)
bulletProlog
bulletProlog Tutorial (HTML)
bulletPerl
bulletPicking up Perl Tutorial (Available here in several formats)
bulletAda
bulletQuick Ada Tutorial (pdf)
bullet

 Pagina del curso ICOM4036 del Profesor Wilson Rivera (click)

bullet

Introduction to Programming Languages by Anthony A. Aaby (HTML)

bullet

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í.