|Course Number||CIS 352 (Spring 2020) at Syracuse|
|Teaching Assistants||Jack Vining (firstname.lastname@example.org)|
|Yihao Sun (email@example.com)|
|Times||Tu/Th 11:00-12:20 Lecture Monday Labs|
|Professor Office Hours||Th 9-11AM or by appt.|
|TA Office Hours (Mac Lab in LSC)||Tu 9-11AM, 1-3PM. Th 2-4PM|
The purpose of this course is to help you understand how to leverage the semantics programming languages to write the clearest and most obviously-correct programs you can. We will begin by introducing you to a new language, Racket. Racket is an untyped functional language that harmoniously mixes code and data to allow succinct and expressive programs. We will use Racket as a means to teach good functional programming style and reflect upon how our decisions impact the quality of our code. While doing this we will highlight several foundational concepts whose implications go far beyond Racket, such as operational semantics and the Lambda calculus.
Please read the Syllabus for course information.