CSCE 330 Fall 2011: Syllabus

The textbook is:

  • Graham Hutton. Programming in Haskell. Cambridge University Press, 2007 (required text, referred to as [U]). Supplementary materials from the author, including an errata list, are available.
  • We will also use:
  • Chapter 2 of: Ghezzi, Carlo and Mehdi Jazayeri. Programming Language Concepts, 3rd ed.. Wiley, 1998 (referred to as [G] or [G&J]). Supplementary materials from the authors, including an errata list, are available.
  • Section 7.3, Chapter 8, and Chapter 9 of: Ghezzi, Carlo and Mehdi Jazayeri. Programming Language Concepts, 2nd ed.. Wiley, 1987 (referred to [G&J, 1987]).
  • The main (approximately 80% of the time) instructional delivery strategy for this course is lectures. Discussions based on student presentations, videos, quizzes or in-class exercises, and a possible invited talk will make up the remaining 20% of time. The first day of classes is Thursday, August 18, 2011. The last day to withdraw without failure is Thursday, October 13, 2011. The last day of classes is Thursday, December 1, 2011. The final exam for Section 1 (T-Th 11-1215) is Friday, December 9, 2011, at 5:30pm (1730) in the classroom (SWGR 2A21). The final exam for Section 2 (T-Th 5:30-6:45pm) is Thursday, December 8, 2011, at 5:30pm (1730) in the classroom (SWGR 2A21). These are the regularly scheduled times for courses taught from 1100 to 1215 and 5:30-6:45pm on Tuesdays and Thursdays. Accrding to university policy, the exam will last two hours. (See the university exam schedule.)

    See here for the fall 2011 academic calendar.

    Please see elsewhere in the web pages for the course for additional administrative information.

    WeekLecture Topics
    1: August 18 (Thursday only)Introduction (Notes)
    2: August 23, 25Introduction; Syntax (Notes; Section 2.1.1 [G&J])
    3: August 30, September 1 Names, Scopes, and Bindings; Overwiew of Operational Semantics (Sections 2.1.2--2.5 [G&J])
    4: September 6, 8Operational Semantics and Run-Time Structure of Programming Languages (Sections 2.6--2.7 [G&J])
    5: September 13, 15Run-Time Structure of Programming Languages (Sections 2.6--2.7)
    6: September 20, 22 Axiomatic and Denotational Semantics (Notes; Ch.9 [G&J, 1987])
    7: September 27, 29Midterm and Discussion
    8: October 4, 6 Prolog (Ch.8 [G&J, 1987])
    9: October 11, 13 Prolog (Ch.8 [G&J, 1987])
    10: October 18 FP (Section 7.3 [G&J, 1987]); Fall Break
    11: October 25, 27 Haskell: Introduction, Types, and Classes (Chs.1-3 [H])
    12: November 1, 3 Haskell: Defining Functions, List Comprehensions, and Recursive Functions (Chs.4-6 [H])
    13: November 8, 10 Haskell: Higher-order Functions, Functional Parsers, and Interactive Programs (Chs.7-9 [H])
    14: November 15, 17 Haskell: Declaring Types and Classes, the Countdown Problem (Chs.10-11 [H])
    15: November 22, 24 Haskell: Advanced Topics (part of Chs. 12-13 [H]); Thanksgiving Recess
    16: November 29; December 1 Student Presentations