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 2005)

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)
bullet

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

bullet

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

bulletExam Parcial 3: April 26 in class (Topics&Practice, Solution, Stats)
bulletFinal Exam:       TBA  (Topics, Practice, Solution, Stats)
bulletProblem Set 1. Computability, Low-level Programming I (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. TBA  (Word, PDF, Solution)
bulletProgramming Assignment 2. Integral Determinant (Word, 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)

bullet

Computability and Turing Machines
bullet

CS 110 Notes University of Alberta

bullet

Turing Machines in Stanford's Encyclopedia of Philosophy

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