COMP 141: Programming Languages (Summer 2026)
Course Description
Topics in evaluation, design, and development of programming languages. Topics include type systems, variables and scope, functions, parameter passing, data hiding and abstractions, recursion, memory allocation, grammars and parsing, compilers architecture, programming paradigms, and comparison of programming languages and environments.
Prerequisites: Completion of Fundamental Skills and COMP 053
with a "C-" or better.
When enrolling in this course, you should be relatively proficient in
using at least the following object‑oriented programming languages: C++
and Java. It is recommended to use C++, Java or Python for course
projects. In addition to being a competent programmer, you should have a
working understanding of the following specific topics:
- Pointers and Dynamic Memory Allocation
- Inheritance, Polymorphism, and Templates
- Fundamental Data Structures including vectors, lists, stacks, queues, and trees
Website: Syllabus, Canvas LMS
Credits: 4 units
Course Catalog: https://catalog.pacific.edu/search/?search=comp+141&caturl=%2F
Administration
Instructor: Sepehr Amir
Email: samir1@pacific.edu
Class time/location: The class is held in asynchronous online mode.
Office hours: Held by request.
Learning Objectives
The vision for this course is: What do I, as a computer scientist, need to understand about the fundamental concepts in programming languages and what are the different features by which I can realize whether a given programming language is appropriate in a given project?
There are two main themes in this course:
- The internal structure of programming languages, and how we can deploy them (~50%)
- Different paradigms of programming (beyond object-oriented) (~50%)
You will have many different opportunities to gain this knowledge through:
- Getting exposed to new languages
- Class discussions, quizzes, and reading/watching assignments
After taking this course, you should be able to:
- Use multiple programming languages to write simple programs.
- Identify common features across languages and key differences among the four major paradigms.
- Recognize familiar features when learning a new language.
- Explain how PL features are implemented by compilers/interpreters; weigh efficiency/readability in design choices.
- Assess language appropriateness for a specific project.
University of the Pacific Core Competencies: This course reflects the following university‑wide core competencies:
- Critical Thinking
- Information Literacy
Outcomes for COMP program: Assessed outcomes per ABET:
- Outcome 1: Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Outcome 2: Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
- Outcome 6: Apply computer science theory and software development fundamentals to produce computing-based solutions.
Course Material
We will use the following textbooks and additional resources throughout the semester:
- Programming Languages: Principles and Practice (3rd Edition) by Kenneth C. Louden and Kenneth A. Lambert.
- Learn You a Haskell for Great Good! by Miran Lipovaca (free online), licensed under CC BY‑NC‑SA 3.0.
Slides, assignments, and supplementary material will be posted on Canvas.
Major topics include:
- Programming language syntax
- Programming language semantics
- Paradigms: functional and logic programming (beyond OO)
- Data types
- Procedures and environments
Grading and Attendance Policy
Grades are assigned on the scale below:
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | F |
|---|---|---|---|---|---|---|---|---|---|---|
| [93,100] | [90,93) | [87,90) | [83,87) | [80,83) | [77,80) | [73,77) | [70,73) | [67,70) | [60,67) | [0,60) |
Final grades are based on:
- Quizzes: 70%
- Midterm exam: 15%
- Final exam: 15%
Attendance:
Exams
Two exams will be conducted during the semester, a midterm and a final. The schedule will be announced in class and content and format will be discussed prior to the exams. Make up exams will only be scheduled in emergency situations.
Assignment Guidelines
Release and Submission
- Reading/Watching Assignments: These assignments will be released on the course Canvas page at most one or two days before each lecture session. Students must study/watch the referred material before each class session. There are not any submissions for reading/watching assignments, however it is highly recommended to follow these assignments before each lecture session in order to be prepared for classroom activities. Reading/Watching assignments are considered as individual efforts.
- Quizzes: Each session comes with a brief quizz (5-10 minutes) that reflects on the material covered in the reading/watching assignment associated with that class session. Quizzes are published and automatically graded in Canvas. They are due at the beginning of each class session. Quizzes are considered as individual efforts.
Solutions: Quiz/sample‑exam/midterm solutions may be submitted via Canvas or on paper when appropriate.
Academic Honesty
The Honor Code calls upon each student to exhibit maturity, responsibility, and integrity. Students are expected to:
- Act honestly in all matters
- Encourage academic integrity
- Discourage cheating or dishonesty
- Inform the instructor/administration with good‑faith evidence of violations
Violations are referred to the Office of Student Conduct and Community Standards and may result in penalties up to failure/suspension/dismissal. See Tiger Lore and online policy.
Course‑specific policy:
- Collaboration on planning/strategy/debugging is encouraged.
- Do not submit someone else’s work.
Marginal cases may be resolved via oral examination to assess individual understanding.
Accommodations for Students with Disabilities
If you require accommodations, visit pacific.edu/disabilities to contact SSD and request services.
- New students: apply via New Students Apply Here.
- Returning students: request letters each semester via Returning Students Login Here.
SSD: McCaffrey Center (2nd Floor) • 209‑946‑3221 • ssd@pacific.edu • website
Nondiscrimination Policy
The University of the Pacific does not discriminate in the administration of its programs/activities based on race, color, national and ethnic origin, handicap, sexual orientation or preference, sex, or age.
The instructor reserves the right to change these policies and guidelines at any time, and students agree to abide by the most recent version of this syllabus.