CS 331 Spring 2025 > Syllabus
CS 331 Spring 2025
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: | In person 1–2 pm MWF, 3:30–4 pm MW on spring 2025 class days, or by appointment; private Zoom meetings available on request. |
E-mail: | ggchappell@alaska.edu |
TEXT: | There is no required text.
Readings will be provided by the instructor. |
WEB PAGE: | https://www.cs.uaf.edu/~chappell/class/2025_spr/cs331
UA Canvas 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.
Upon successful completion of CS 331, students are expected to:
- 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
For more details see the Semester Plan, on the class webpage.
Fri, Mar 7 | In-class Midterm Exam |
Mon, Mar 10–Fri, Mar 14 | No class meetings (Spring Break) |
Fri, Mar 28 | Last day to withdraw (“W” on transcript) |
Mon, Apr 28 | Last regular class meeting |
Fri, May 2 | Final Exam 1–3 pm in the classroom |
Procedures
Class meetings—Lecture-discussion format.
Quizzes—Online quizzes will be given weekly, using UA Canvas. There will be a quiz due each Sunday at 5 pm, from Sunday, January 19 to Sunday, April 27, except for the Sundays at the beginning and end of Spring Break. Each quiz will be available by 5 pm on the preceding Friday. No make-up quizzes will be given.
Homework—Assignments will be given every week or two, and will consist of both programming and answering questions.
To do the coding, students must obtain access to recent versions of the following programming languages: Lua (ZeroBrane Studio is recommended), Haskell (get GHC), Scheme (get DrRacket), and Prolog (get SWI-Prolog).
Presentations—Near the end of the semester, students will give an in-class presentation on a programming language. Topics and expectations will be discussed well in advance.
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) | 550 pts |
Quizzes (total) | 130 pts |
Presentation | 70 pts |
Midterm Exam | 100 pts |
Final Exam | 150 pts |
TOTAL | 1000 pts |
---|
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, then 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.
Communication with the instructor outside of class will be via e-mail and the class webpage. Students are expected to check both their UA e-mail account and the class webpage daily during the semester.
Homework turned in late will generally be penalized. Work submitted more than two weeks after the assignment due date will not be graded, except under exceptional circumstances and when prior arrangements have been made with the instructor. The week (Sun–Sat) of Spring Break will not be counted in this two-week period. No graded work will be accepted after the beginning of the final exam period, other than the Final Exam itself.
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: https://catalog.uaf.edu/academics-regulations
CS Department policies: https://www.cs.uaf.edu/departmental-policies