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:

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