To determine if a course is remote, hybrid, or in-person use the catalog search tool to narrow results. Otherwise, when browsing courses, the section indicates teaching mode:

R = Remote
H = Hybrid
0 = In-person

Teaching modes (remote, hybrid, in-person) are subject to change at any point. Please pay close attention when registering. Depending on the timing of a teaching mode change, faculty also may be in contact with students.

CSCI 334
Principles of Programming Languages Fall 2020 (also offered Spring 2021)
Division III Quantative/Formal Reasoning

Class Details

This course examines the concepts and structures governing the design and implementation of programming languages. It presents an introduction to the concepts behind compilers and run-time representations of programming languages; features of programming languages supporting abstraction and polymorphism; and the procedural, functional, object-oriented, and concurrent programming paradigms. Programs will be required in languages illustrating each of these paradigms.
The Class: Format: lecture/conference; There is no scheduled time for lectures. They will be available online for asynchronous viewing. Each conference section will meet once per week. Students should sign up for lecture and one conference.
Limit: 20(7/conf)
Expected: 20
Class#: 2314
Grading: yes pass/fail option, no fifth course option
Requirements/Evaluation: weekly problem sets and programming assignments, a midterm examination, and a final examination
Prerequisites: CSCI 136
Enrollment Preferences: current or expected Computer Science majors
Distributions: Division III Quantative/Formal Reasoning
QFR Notes: This course include regular and substantial problem sets and labs in which quantitative/formal reasoning skills are practiced and evaluated.

Class Grid

Updated 11:54 am

Course Catalog Search

(searches Title and Course Description only)



Start Time
End Time