San Jose State University

CS 152 - Programming Languages

Cay S. Horstmann

Spring 2018

Section 3: MW 10:30-1145 SCI 311

Section 4: MW 12:00-13:15 SCI 311

For office hours and contact information, please visit http://www.sjsu.edu/people/cay.horstmann/.

The Piazza site for this course is at http://piazza.com/sjsu/spring2018/cs152sections3and4/home.

Calendar

January 24
First day of class | Slides
January 29
Functional Programming 1 | Captioned Video | Homework 1 / Prerequisite quiz due
January 31
Functional Programming 2 | Captioned Video
February 5
Functional Programming 3 | Captioned Video | Homework 2 due
February 7
Functional Programming 4 | Captioned Video
February 12
Functional Programming 5 | Captioned Video | Homework 3 due
February 14
Parsing 1 | Captioned Video
February 19
No class
February 21
No class | Homework 4 due
February 26
Parsing 2 | Captioned Video
February 28
Parsing 3 | Captioned Video
March 5
Parsing 4 | Captioned Video | Homework 5 due
March 7
Parsing 5 | Captioned Video
March 12
Parsing 6 | Captioned Video | Homework 6 due
March 14
Static and dynamic scopes | Captioned Video
March 19
Racket 1 | Captioned Video| Homework 7 due
March 21
Midterm exam
March 26 -30
Spring Break
April 2
Racket 2 | Captioned Video
April 4
Types 1 | Captioned Video
April 9
Types 2 | Captioned Video | Homework 8 and Project proposal due
April 11
Prolog 1 | Captioned Video
April 16
Prolog 2 | Captioned Video
April 18
Prolog 3 | Captioned Video | Homework 9 due
April 23
Prolog 4 | Captioned Video
April 25
Compiling 1 (sorry, no video)
April 27
Homework 10 due
April 30
Project status presentations
May 2
Compiling 2 | Captioned Video
May 7
Compiling 3 | Captioned Video
May 9
Project presentations
May 14
Last day of instruction | Project presentations
May 16
0945-1200 Section 4 Final
May 21
0945-1200 Section 3 Final

Description

The course goal is to study programming language design, with an emphasis on the functional paradigm.

Topics covered:

For the official catalog description, please visit http://info.sjsu.edu/web-dbgen/catalog/departments/CS-courses.html.

Prerequisites

CS 151 or CMPE 135. If you are registered for the class, you must email me your answers to the prerequisite quiz by 23:59 of the second day of class, or I will drop you from the class for failure to fulfill the prerequisites.

Specifically, the following skills are assumed:

Textbook

There is no required text.

Student Learning Outcomes

Upon completion of this course, the successful student will be able to

Course Policies

Adding the Course
To add the course, take the prerequisite quiz. You must use your add code within 24 hours, or the add code will be reassigned to someone else.
Time Spent
As per Policy Recommendation S12-3, success in this course is based on the expectation that students will spend, for each unit of credit, a minimum of forty-five hours over the length of the course for instruction or preparation/studying or course related activities.
This is a 3-unit/15-week class, so you should spend 135 hours per semester or 9 hours per week on this class.
Individual Work
All homework and exams must be your own individual work. You may never copy anything from anyone without attribution, with one exception—you may copy from the textbook. For homeworks and exams, you may not copy anything from any other student at all. You may not share any of your homework or exam work with any students prior to submission. Except for the team project, you may not collaboratively produce results in pairs or teams.
Publicly Viewable Work
Your class work (including homework, exam, and project work) may be viewable by other students of this course. Your grades will not be viewable by others.
Laptops
You will be required to bring a laptop to all (!) classes and exams. You need to have the following tools installed on your laptop:

Grading Policy

A midterm (15% per exam) and a final exam (30%).
Exams cannot be made up, except for reasons of illness, as certified by a doctor, or documentable extreme emergency. Makeup exams may be oral.
Weekly programming assignments (35%)
Late work is not accepted, and there is no extra credit or makeup work.
Group project (15%)
The topic and team are determined by the instructor. Late work is not accepted, and there is no extra credit or makeup work.
Class Attendance, Preparation and Participation (5%)
Each student is expected to be present, punctual, and prepared at every scheduled class session. University policy F69-24 states that “Students should attend all meetings of their classes, not only because they are responsible for material discussed therein, but because active participation is frequently essential to insure maximum benefit for all members of the class. Attendance per se shall not be used as a criterion for grading.” You will be graded on particpation in class and online discussions, and your performance on quizzes that check the assigned pre-class activities.

You will receive a letter grade for each of the exams, the finals, the total homework performance, and the total participation in labs/discussions/quizzes. Letter grades are obtained by adding and curving the numeric scores. When determining a curve, the cutoffs are guided by the university definitions for letter grades:

Letter grades are converted into number grades, as specified by the registrar, except that an A+ is counted as 4.3, and weighted with the percentages given in the Course Requirements section. The weighted average is rounded towards the nearest letter grade, which is your class grade.

University Policies

Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on the Office of Graduate and Undergraduate Programs’ Syllabus Information web page .