CS 312: Spring 2020

Principles of Programming Languages

 

PPL Home Schedule Grading Tools

 

Course:  CS 312 
Title:  Principles of Programming Languages 
Semester:  Spring 2020 
Hours:  MWF 10:00-10:50AM 
Location:  Blow Hall 333 
Prerequisite:  CS 241 -- Data Structures
CS 243 -- Discrete Structures 
Text:  None 
Programming Languages:  Python; Haskell; C 
Final Exam:  TBD 
Office Hours:  MWF 11:00 AM--12:00 PM
By appointment, MGS 117 
Grader:  Jialiang Tan; Email: jtan02@email.wm.edu; Zoom ID: 599 990 1989
Office hours: TW 2:00--3:30 PM; By appointment 


Textbooks


Administrivia


Catalog Description

A study of programming language principles and paradigms. Formal syntax, including grammars, and semantics. Paradigms, including: imperative, object-oriented, functional, logic, event-driven, and concurrent. Runtime implementation issues, including: memory management, parameter passing, and event handling.


Objectives


Notes


Academic Honesty

The College of William and Mary has an Honor Code. All students are expected to abide by the rules of this code.

You must sign all of your work to be graded, indicating that you consider the work presented to be your work product. Any copying of any work in your solution (other than instructor-provided work) should be referenced as to amount of work and from where the work was obtained.

If you are part of a pair-programming partnership, your signature indicates that you actively participated in the construction of the solution to the la, assignment or programming project. It is a violation of academic honesty if you claim to have worked together with your partner when, in fact, one of you did essentially all the work.

In discussing an assignment or programmming project with students excluding your partnership, you are limited by the empty hands philosophy, which prohibits the any sharing of code or other written materials, even that viewed on a screen, a black board, or white board. However, you may discuss the requirements of an assignment, information about what the instructor wants in the solution, test cases, and even the general use of algorithms and data structures in the solution; such discussion must be purely verbal, and may include a high level description of the algorithms and data structures used.

The Final Exam must be solely your own work, excluding help from your partner, other students in the course, the Internet, etc.


Sustainability

I support the College's goals on sustainability. This course attempts to reduce paper usage by storing course documents on the web, including the course syllabus, schedule, assignments, and course notes. Assignments will be collected electronically and graded and returned electronically as well. Please limit your use of printing these documents.

For more information about Sustainability at W&M, see http://www.wm.edu/sustainability.


Derived from Robert Noonan's CS312 course web pages