CCOM 4029 - High Level Programming Languages
Professor
Office: NCL A-159
Telephone: 787-764-0000 x7430
email: humberto.ortiz@upr.edu
Web page: http://ccom.uprrp.edu/~humberto/
Office hours: Mondays and Fridays from 9:00 to 11:00 AM or by appointment.
Description
In this course fundamental aspects of high-level programming languages, including data objects, operations, sequence control, data control, storage management, syntax, and semantics are presented. Also, the students are exposed to different language paradigms (e.g. imperative, parallel, functional, rule-based (logic), and object-oriented languages). The course gives hands on experience and allows students to develop moderate-level programs in various programming languages, one for each paradigm.
Number of hours/credits
3 hours per week, 3 credits
Prerequisites
CCOM 3034 - Data Structures
Course objectives
- Prepare an oral presentation about a high level programming language.
- Understand the syntax and semantics of at least three programming languages.
- Understand how languages are designed and implemented.
- Recognize the models of language design (imperative, applicative, ruled-based, and object oriented) and their common characteristics.
- Evaluate which programming language is more suitable for solving specific problems.
- Write programs on at least three of the programming languages representing the different models of language design.
- Address the issue that knowing a language is more than knowing its syntax.
- Understand the role of computer hardware in implementing language semantics.
- The student will study independently a seminal or current research paper
Course schedule
Class will meet Monday and Wednesday, 1:00-2:20 PM in A-143.
Instructional strategies
The professor will discuss each topic, students will complete a practical exercise for each topic discussed in class.
In addition, students must prepare an oral report on a programming language (Objective 1), and read a research paper (Objective 9). The professor will provide a list of papers and pointers to lists of papers in the next section, and students will select a programming language and paper, and present to the class.
Instructional resources
This website with all the course lectures and supplemental materials and references. Additional material is available on the CCOM Moodle:
You will need version 5.3 or newer of DrRacket.
For this class, we will also be programming in pyret. You should install pyret on your own machine. Reference material on pyret is available online.
One of the course objectives (#9) is to read a seminal or current programming language research paper (and #1 is to present to the class). Students can refer to a list of suggested readings, or may select a paper on their own.
Textbook
Programming and Programming Languages, 2013 edition by Shriram Krishnamurthi. We will start class with Chapter 13. You will be responsible for Chapters 1-4 and the Language Reference.
Evaluation strategy
- Attendance, 5% final grade
- Quizzes, 25% final grade
- Homework, 45% final grade
- Student reports, 25% final grade
Assignments
Reasonable accomodations for students
Students with disabilities properly registered with the Office of Affairs for Persons with Disabilities Oficina de Asuntos para la Persona con Impedimento (O.A.P.I.) should notify the professor at the start of the semester. The professor will make reasonable accommodations to support the student, in consultation with OAPI.