CS 331 Spring 2020 > Syllabus
CS 331 Spring 2020
Syllabus
COURSE: | CS 331 Programming Languages. 3 credits. |
Time & place: | 2:15–3:15 pm MWF, 535 Duckering. |
Prerequisites: | CS 311. |
INSTRUCTOR: | Glenn G. Chappell, Dept. of Computer Science. |
Office: | 539 Duckering. |
Office hours: | 1–2 pm MWF,
3:30–4:30 pm MW,
4–5 pm Th
on spring 2020 class days,
or by appointment. |
Office phone: | [474-]5736. E-mail is preferred to phone calls. |
E-mail: | ggchappell@alaska.edu |
Paper mailbox: | Inside the Computer Science Department office, 527 Duckering. |
TEXT: | There is no required text.
Readings will be provided by the instructor. |
WEB PAGE: | http://www.cs.uaf.edu/~chappell/class/2020_spr/cs331
UA Blackboard Learn will be used for homework submission and online quizzes. |
Course Topics & Goals
CS 331 is a survey of the field of computer programming languages. We will look at how programming languages are specified and how such specifications are used. We will examine programming language features, comparing and contrasting their appearance in various programming languages. We will take a close look at some programming languages that differ significantly from those covered in most CS courses.
After taking this class, students should:
- Understand the concepts of syntax and semantics, and how syntax can be specified.
- Understand, and have experience implementing, basic lexical analysis, parsing, and interpretation.
- Understand the various kinds of programming languages and the primary ways in which they differ.
- Understand standard programming language features and the forms these take in different programming languages.
- Be familiar with the impact (local, global, etc.) that choice of programming language has on programmers and users.
- Have a basic programming proficiency in multiple significantly different programming languages.
Important Dates
Also see the Semester Plan, on the class webpage.
Mon, Jan 20 | No class (AK Civil Rights Day) |
Wed, Mar 4 | In-class Midterm Exam |
Mon, Mar 9–Fri, Mar 13 | No class (Spring Break) |
Fri, Mar 27 | Last day to withdraw (“W” on transcript) |
Mon, Apr 27 | Last regular class meeting |
Thu, April 30 | Final Exam 1–3 pm in the classroom |
Procedures
Class meetings—Lecture-discussion format.
Quizzes—Online quizzes will be taken on the UA Blackboard Learn site. These will be announced on the class webpage at least 48 hours in advance. No make-up quizzes will be given.
Homework—Homework will be assigned every week or two, and will consist of both programming and answering questions. Homework turned in late will generally be penalized. Homework submitted more than two weeks after the assignment due date will not be graded, unless prior arrangements have been made with the instructor.
To do the homework, students must obtain access to recent versions of the following programming languages: Lua (version 5.1 or later), Haskell (get The Haskell Platform), Forth (GNU version: Gforth), Scheme (get DrRacket), and Prolog (GNU version: gprolog). All of these are available in the Duckering 536 lab.
Exams—Two exams will be given: a Midterm and a comprehensive Final. See Important Dates.
Grades
Course grades will be based on points earned, using a 90-80-70-60 scale. The +/− grading system will not be used. Point totals will be as follows.
Assignments (total) | 580 pts |
Quizzes (total) | 70 pts* |
Midterm Exam | 150 pts |
Final Exam | 200 pts |
TOTAL | 1000 pts |
*At the end of the semester, the total points possible on quizzes may differ from this. Quiz scores will be scaled accordingly, so that the total is as stated above.
Policies
Students are expected to be at every class meeting on time, and are responsible for all class content, whether present or not. If absence is necessary, work (other than quizzes) may be made up only if the instructor is notified as soon as possible; in particular, absences due to scheduled events must be arranged ahead of time.
Students who fail to attend the first class meeting after registering for the class, or who miss four consecutive class meetings, may be dropped/withdrawn without warning, unless prior arrangements are made with the instructor.
Academic dishonesty will not be tolerated, and will be dealt with according to UA procedures.
Students pay the CS lab fee. Payment allows access to the CS labs.
UAF academic policies: http://catalog.uaf.edu/academics-regulations
CS Department policies: http://www.cs.uaf.edu/departmental-policies