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

bulletCourse 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 - The Nature of Computing (PDF)
bulletLecture   3 - Programming Language Specification and Translation (PDF)
bullet Lecture   4 - Programming Language Paradigms I - Low-level programming (PDF,HandwrittenNotes, MITSlides)
bullet Lecture  5 - Programming Paradigms II - Imperative Programming (e.g. Fortran) (PDF)
bullet Lecture 6 - Programming Paradigms III - Functional Programming (e.g. Scheme) (PDF)
bullet

Lecture 7 - Programming Paradigms IV - Logic Programming (e.g. Prolog) (PDF)

bullet Lecture 8 - Subroutines and Control Abstraction (PDF)
bullet

Exam 1:TBA (Topics, Practice, Solution, Stats)

bullet

Exam 2: TBA (Topics, Practice, Solution, Stats)

bullet Exam 3:TBA (Topics, Practice, Solution, Stats)
bullet Final Exam:   (Topics, Practice, Solution, Stats)
bullet Problem Set 1. TBA (PDF, Solution)
bullet Problem Set 2. TBA (PDF, Solution)
bullet Problem Set 3. TBA (PDF, Solution)
bulletProblem Set 4. TBA (Doc, Solution)
bulletProgramming Assignment 1. TBA  (Word, PDF, Solution)
bullet Programming Assignment 2. TBA (Word, PDF, Solution)
bulletProgramming Assignment 3. TBA (RefCode, Doc, Solution)
bulletProgramming Assignment 4. 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

MIT 6.004 Computation Structure course Fall 2002 (HTML)
bullet

The Digital Abstraction (PDF)

bullet

CMOS Computers (PDF)

bullet 

Gates (PDF)

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