Programming Language Concepts 程式語言導論
Fall 2004

 Instructor: 劉 興 民                 Head Teaching Assistant 首席助教
Lectures: Tue, Thr 13:15-14:30            侯君霖 hcl93@cs.ccu.edu.tw
          共同科教學大樓209教室           工學院A館410室
Office:   工學院A館403室                  分機23139
e-Mail:   damon@computer.org
Phone:    分機33118

This course explores general concepts in program language design and implementation with an emphasis on the imperative, logic- and rule-based, object-oriented and functional programming paradigms.

We will discuss the concepts for structuring data, computation, and whole programs; formal methods of syntactic specification of programming languages; various aspects of modern programming languages - scoping, overloading, dynamic binding, and parameter passing; modularity, inheritance, encapsulation and abstraction mechanisms of modern programming languages; typing and polymorphism; exception handling, synchronization and concurrency.


Readings
  • Concepts of Programming Languages, Robert Sebesta, 9th Edition, Addison-Wesley, ISBN: 0-136-07347-6. [Required]
  • Programming Languages: Principles and Practice, Kenneth Louden, 2nd Edition, Thomson-Brooks/Cole, ISBN: 0-534-95341-7. [Reference]
  • Indicative Topics

    Assessment
    Programming projects [35%]; Midterm [35%]; Final [25%]; Class participation [5%].
    Cutoff for passing grades at the end of the semester will be the raw score 60 or close to the scale of 45%, depending on which one is lower. Exceptions are sometimes made for classes perceived to be significantly stronger or weaker than the norm. Moreover, please use the discussion board to post general questions about the course. The staff will attempt to answer these questions in a timely manner, but do not hesitate to answer someone else's question if you know the answer. This will count toward "class participation" and your efforts will not be unnoticed.

    Academic Honesty Policy
    All graded materials (examinations and programming assignments) must be strictly individual efforts. Students are encouraged to study together, and to discuss general problem-solving techniques that are useful on assignments. But when working on an assignment, students should not share detailed notes, pseudocode or code, and all work submitted must be done individually. Students are expected to maintain the highest standards of academic conduct. Honest students are frustrated by the unfairness of cheating that goes undetected and therefore unpunished. Students who cheat skew the grading curve in a class, resulting in lower grades for students who worked hard and did their own work. Therefore, if you witness any cheating (in examinations or program assignments) by classmates, please report it to the instructor as soon as possible.

    Course Works 課業倉儲

    Discussion Board 課程討論區