 | Course ID: 506 34100 |
 | Instructor : Pangfeng Liu |
 | Introduction:
This course will cover various aspects of programming
languages, including syntax, semantics, and implementations. We will cover basic
programming language concepts including the representation of syntax rules, the
interpretation of semantics and their implications, the binding rules and
scope of variables, data typing and checking, expression and assignments,
control flow statements, the concept of structured programming and subroutines.
object-oriented programming methodology and their application in real life
programming. Different programming models, including imperative, logic, and
functional programming will be compared. Note that this course will not be a
case-by-case study of various programming languages -- instead a conceptual
understanding of various programming language constructs, and the reason they
are included in modern programming languages, will be emphasized. |
 | Prerequisites:
Data
structure concepts, Program
design experiences, and basic knowledge about programming language
are required. It is strongly recommended that you must be familiar with at
least one programming language, such as C/C++, Java, Pascal, or Fortran. |
 | Textbook:
"Concepts of Programming Languages"
(4th ed.) by Robert W. Sebesta Addison-Wesley, ISBN 0-201-38596-1. |
 | Meeting time and place: Tuesday 9 to 12 am at 資101. |
 | TA: 郭錦福
 | tel: 403 |
 | office hours: Thursday 2pm-4pm |
 | email: d89005@csie.ntu.edu.tw |
|
 | TA: 許弘遠
 | tel: 219 |
 | office hours: Wednesday 9am-11am. |
 | email: rodin@csie.ntu.edu.tw |
|
 | Workload:
There will be a midterm and a final
examination. Additional weekly or bi-weekly quizzes will be conducted in
class. |
 | PL quiz 1-10 and
midterm exam grades |
 | 期中考評分標準 |
 | Lecture notes:
|
 |
Book slides:
|