一、課程說明(Course Description)
本課程主要介紹程式分析與邏輯,並且透過實例來討論設計程式的架構,達到程式的可用性、邏輯性、功能性。主要的內容包含理論、分析、除錯、實作等部分。

二、指定用書(Text Books)
R. Sebesta, Concepts of Programming Languages, 10th Edition

三、參考書籍(References)
* Kenneth C. Louden, Programming Languages: Principles and Practices, Second Edition, Thomson Brooks/Cole,2003. (歐亞書局)
* John C. Mitchell, Concepts in Programming Languages, Cambridge University, 2002, (新月書局)

四、教學方式(Teaching Method)
Lecture
Problem Sheets

五、教學進度(Syllabus)
Course Info (課程簡介)
Foundational Concepts of Programming Languages (程式語言簡介)
Syntax review;Syntactic ambiguity (語法誤謬)
Semantics (語意概念)
Names, Bindings, Type Checking, and Scopes (變數型態與範圍)
Expression (程式表達)
Control Structures (控制結構)
subprogram (子程式)
Exception handling (例外處理)
Encapsulation (類型別)
Functional Programming (功能性程式)
Scheme programming (邏輯綱要程式)

六、成績考核(Evaluation)
出席
作業(50%)
期中考(25%)
期末Project(25%)