CCOM 4029-001 - High Level Languages - Spring 2023

University of Puerto Rico
Rio Piedras Campus
College of Natural Sciences
Department of Computer Science

Professor

Field Value
Name Humberto Ortiz-Zuazaga
Office NCL A-159
Laboratory NCL A-158
Telephone 787-764-0000 x88363
email humberto.ortiz@upr.edu
Web page https://ccom.uprrp.edu/~humberto/
Office hours online by appointment

Credits

3 credits

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.

Pre-requisites

CCOM 3034 - Data Structures

Content

  • Introduction to programming languges
  • Syntax and semantics
  • lexical and syntactical analysis
  • variables, data types, expressions
  • subprograms
  • object oriented programming
  • functional programming
  • logical programming
  • concurency

Objectives

  1. Understand the syntax and semantics of at least three programming languages.
  2. Understand how languages are designed and implemented.
  3. Recognize the models of language design (imperative, applicative, ruled-based, and object oriented) and their common characteristics.
  4. Evaluate which programming language is more suitable for solving specific problems.
  5. Write programs on at least three of the programming languages representing the different models of language design.
  6. Address the issue that knowing a language is more than knowing its syntax.
  7. Understand the role of computer hardware in implementing language semantics.
  8. The student will study independently a seminal or current research paper.
  9. Prepare an oral presentation about a high level programming language.

Course Schedule

Class will meet Monday and Wednesday from 10:00 to 11:20 AM in NCL A-141.

Contingency Plan

The course will be taught in face to face mode, however given the emergency circumstances related to COVID-19, or other emergency situation that might arise, the course will be switched to distance mode assisted by technology.

Calendar

Date Topic Reading Assignment
Jan Introduction to languages
Feb Javascript Software Design by Example Tarea 1
Mar Racket How to Design Programs
Apr Interpreters Programming Languges and Interpretation Tarea 4
May Presentations Presentaciones

Alternative Teaching Methods

Certification No. 112 (2014-2015) of the Governing Board defines a classroom course as a course in which 75% or more of the hours of instruction require the physical presence of the students and the teacher in the classroom. This means that 25% of a classroom course could be offered without requiring the physical presence of the students and the teacher in the classroom. If necessary, this course will be able to complete up to 25% of the contact hours (11.25 hours) on a non-face-to-face basis by alternative methods such as: videoconferences, instructional modules, discussion forums and others. If so, the calendar/agenda will be modified to include the topics that will be covered by alternative methods.

Instructional strategies

The professor will discuss each topic, students will complete a practical excercise for each programming technique discussed in class.

Instructional resources

The course will be hosted on the UPRRP Moodle. Register and stay tuned for our polls and forum postings.

Textbooks

As described in the calendar, we will be using at least 3 texts for this course: Software Design by Example, How to Design Programs, Programming Languges and Interpretation.

Software

We will use node and racket. You can obtain both in your package manager, or using the recommended sites: https://nodejs.org/en/ and https://download.racket-lang.org/. Both languages are cross-platform and should run on almost anything.

Evaluation

Students work will be evaluated on a 100% basis with the standard curve.

  • Participation in course forums (online, classroom), 33% final grade
  • Homework, 34% final grade
  • Quizzes, 33% final grade

REGULATION ON DISCRIMINATION BY SEX AND GENDER IN THE FORM OF SEXUAL VIOLENCE

The University of Puerto Rico prohibits discrimination based on sex, sexual orientation, and gender identity in any of its forms, including that of sexual harassment. According to the Institutional Policy Against Sexual Harassment at the University of Puerto Rico, Certification Num. 130, 2014-2015 from the Board of Governors, any student subjected to acts constituting sexual harassment, must tum to the Office of the Student Ombudsperson, the Office of the Dean of Students, and/or the Coordinator of the Office of Compliance with Title IX for an orientation and/or a formal complaint.

REASONABLE ACCOMMODATION

The University of Puerto Rico complies with all state and federal laws and regulations related to discrimination, including “The American Disabilities Act” (ADA law) and Law #51 from the Puerto Rico Commonwealth (Estado Libre Asociado de Puerto Rico). Every student has the right to request and receive reasonable accommodation and Vocational Rehabilitation Services (VRS). Those students with special needs that require some type of particular assistance or accommodation shall explicitly communicate it directly to the professor. Students who are receiving VRS services shall communicate it to the professor at the beginning of the semester so that appropriate planning and the necessary equipment may be requested according to the Disabilities Persons Affairs Office (Oficina de Servicios a Estudiantes con Impedimentos –OSEI) from the Students’ Deanship office. Any other student requiring assistance or special accommodation shall also communicate directly with the professor. Reasonable accommodations requests or services DO NOT exempt the student from complying and fulfilling academic and course related requirements and responsibilities.

ACADEMIC INTEGRITY

The University of Puerto Rico promotes the highest standards of academic and scientific integrity. Article 6.2 of the UPR Students General Bylaws (Board of Trustees Certification 13, 2009-2010) states that academic dishonesty includes, but is not limited to: fraudulent actions; obtaining grades or academic degrees by false or fraudulent simulations; copying the whole or part of the academic work of another person; plagiarizing totally or partially the work of another person; copying all or part of another person answers to the questions of an oral or written exam by taking or getting someone else to take the exam on his/her behalf; as well as enabling and facilitating another person to perform the aforementioned behavior. Any of these behaviors will be subject to disciplinary action in accordance with the disciplinary procedure laid down in the UPR Students General Bylaws.

To ensure user data integrity and security, hybrid and distance education courses are offered through the institutional learning management system, which employs secure connection and authentication protocols. The system authenticates the users’ identity with the username and password of their institutional accounts. Users are responsible for keeping their password secure and not sharing with others.

References

  1. Abelson, H., & Sussman, G. J. (1996). Structure and interpretation of computer programs (p. 688). The MIT Pres. http://sarabander.github.io/sicp/