CSE 3341: Principles of Programming Languages
Spring 2013


Who

Students: primarily for upper-level undergraduates; also graduate students (as 5341)
Instructor: Michael Bond
Grader: Miaojun Yao

What

Formal languages and grammars; recursive descent parsing; data types, expressions, control structures, parameter passing; compilers and interpreters; memory management; functional programming principles; concurrency and parallelism

Topics, Slides, Readings, Assignments, and Schedule

Carmen (Grades)

Piazza (Discussion Board)

Syllabus

When and Where

Class meetings: Tuesdays and Thursdays, 2:20–3:40 pm, Stillman Hall 245

Instructor's office hours (DL 697): Office hours updated for final exam week and beyond. See Piazza for details. Tuesdays 11:00–12:00 and Fridays 11:00–12:00, or by appointment (to make an appointment, e-mail Mike and include your availability: days and times)

When visiting office hours, or if you have a scheduled appointment, please alert Mike to your presence as soon as you arrive by knocking or saying hi, even if he's meeting someone else at that time.

Grader's office hours (Caldwell 420): Wednesdays 4:00–5:00 and Thursdays 11:30–12:30, or by appointment (to make an appointment, e-mail the grader and include your availability: days and times)

On University holidays, instructor and grader office hours are canceled.

Why

The SIGPLAN Education Board recently explained why senior undergraduates should learn about the principles of PLs. Two other answers to the "why" question: Robert Harper and Robert Cameron.

Acknowledgments

Many thanks to Nasko Rountev for his course materials, and to Nasko Rountev and Neelam Soundarajan for advice and feedback.