COMP 141: Programming Languages


Course Description | Administration | Learning Objectives | Course Material and Schedule | Grading and Attendance Policy | Exams | Assignment Guidelines | Academic Honesty | Accomodation for Students with Disabilities | Nondiscrimination Policy

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 some object‐oriented programming languages such as C++, Java or Python. In addition to being a competent programmer, you should have a working understanding of the following specific topics:

Website: Syllabus, Canvas LMS

Credits: 4 units

Course Catalog: http://catalog.pacific.edu/search/?P=COMP%20141




Administration

Instructor: Sepehr Amir-Mohammadian
Email: [at] (samirmohammadian) ([dot] (pacific) (edu))
Lecture: TR 08:00AM - 09:45AM, Anderson Hall 107
Office hours: TR 1:00PM - 3:00PM, CTC 118
Students need to request alternate meeting times outside of scheduled office hours through email.

Teaching Assistant:
Email:


Learning Objectives

This course contributes to the following learning outcomes of the computer science program:

After taking this course, you should be able to:

University of the Pacific Core Competencies: This course contributes to attainment of the following University of the Pacific core competencies:




Course Material and Schedule

We will use the textbook Programming Languages: Principles and Practice (3rd Edition) by Kenneth C. Louden and Kenneth A. Lambert. Purchase of this textbook is mandatory and other texts, including earlier editions of this textbook, will not be supported. Other course material including the slides, assignments, supplementary material, etc. will be provided through Canvas LMS.

The course schedule is as follows:
Week Day Topic Homework assignment deadlines Project deadlines Technical paper deadlines
W1 1 Intro HW1: intro, syntax

2 Intro

W2 3 Syntax P1: Scanner
4 Syntax
W3 5 Functional programming
6 Functional programming
W4 7 Intro to Parser Project HW2: Functional programming, semantics
8 Basic Semantics P2: Parser
W5 9 Basic Semantics Paper Proposal
10 Functional programming
W6 11 Functional programming
12 Data types HW3: Functional programming, data
types
W7 13 Data types
14 Logic programming
W8 15 Midterm review Paper Outline
16 Midterm Exam (W1-7) HW4: Logic programming
W9 17 Spring break
18 Spring break
W10 19 Logic programming
20 Control
W11 21 Control P3: Interpreter
22 Control HW5: Control Paper Draft
W12 23 OOP
24 OOP
W13 25 ADTs HW6: OOP, ADTs
26 ADTs
W14 27 Presentations Final Paper
28 Presentations
W15 29 Presentations
30 Final exam review




Grading and Attendance Policy

Grades for the course 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 will be assigned based on several performance factors. These factors and their quantitative contribution to the final grade are as follows:

Attendance: Class attendance and participation is necessary and expected. There will be numerous activities in class, and these activities cannot be made up outside of class. Participation requires that you are properly prepared for classroom discussions and activities, and have completed all reading assignments before the relevant class. Note that more than three unexcused absences will result in a 10% reduction of the final grade. The only acceptable excuses for missing a class, an assignment due date, or an exam are serious illness, family emergency or important professional, academic or athletic activities. Illness or family emergency may require documentation. Excuses for professional, academic or athletic activities must be approved by the instructor in advance. Students missing a class are responsible for making up the material discussed in that class on their own. Students are responsible for being aware of any announcements made during their absence.




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: Homework assignments, course project descriptions, and technical paper requirements will be released on the course Canvas page with a clearly indicated due date. Solutions may be submitted electronically via Canvas, or in class on pencil-and-paper when appropriate. Submissions are accepted until 11:59PM on the due date.

Late policy: Deliverables will be accepted up to three weekdays late, with a 10% per day penalty.
All assignments will be considered individual efforts unless otherwise specified, and will be treated as such under the Academic Honesty Policy.




Academic Honesty

The Honor Code at the University of the Pacific calls upon each student to exhibit a high degree of maturity, responsibility, and personal integrity. Students are expected to:

Violations will be referred to and investigated by the Office of Student Conduct and Community Standards. If a student is found responsible, it will be documented as part of her or his permanent academic record. A student may receive a range of penalties, including failure of an assignment, failure of the course, suspension, or dismissal from the University. The Academic Honesty Policy is located in Tiger Lore and online.

Course-specific Honor Code Policy: Engineering is generally a cooperative endeavor and collaborative learning can be a valuable experience for all involved. However, proper assessment (i.e., grading) requires that work be done by individuals. To balance these two requirements, the following policy will apply:

Marginal cases will be resolved by oral examination of the student(s) involved. If they each understand the material in the assignment, it will be considered honest collaboration. If they do not, then it will be considered academic dishonesty.

In many cases, it may be possible to identify reusable source code from textbooks, web sites or other resources that can help you with assignments. You are permitted to use such references provided that:

You are responsible for understanding the theory behind all algorithms or source code used, regardless of their source.


Accommodations for Students with Disabilities

If you are a student with a disability who requires accommodations, please contact the Director of the Office of Services for Students with Disabilities (SSD) for information on how to obtain an Accommodations Request Letter.

3-Step Accommodation Process:

To ensure timeliness of services, it is preferable that you obtain the accommodation letter(s) from the Office of SSD during the first week of class. After the instructor receives the accommodation letter, please schedule a meeting with the instructor during office hours or some other mutually convenient time to arrange the accommodation(s).

The Office of Services for Students with Disabilities is located in the McCaffrey Center, Rm. 137.


Nondiscrimination Policy

The University of the Pacific does not discriminate in the administration of any of its educational programs, admissions, scholarships, loans, athletics, or other University activities or programs on the basis of 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.


Back to top