BÄ°L603 - PROGRAMMING LANGUAGE THEORY
Course Name | Code | Semester | Theory (hours/week) |
Application (hours/week) |
Credit | ECTS |
---|---|---|---|---|---|---|
PROGRAMMING LANGUAGE THEORY | BÄ°L603 | Any Semester/Year | 3 | 0 | 3 | 8 |
Prequisites | ||||||
Course language | Turkish | |||||
Course type | Elective | |||||
Mode of Delivery | Face-to-Face | |||||
Learning and teaching strategies | Lecture Preparing and/or Presenting Reports Problem Solving Project Design/Management | |||||
Instructor (s) | Department Responsible (bbm-bologna@cs.hacettepe.edu.tr) | |||||
Course objective | Students learn programming language syntax ans semantics. | |||||
Learning outcomes |
| |||||
Course Content | ? Conceptual study of programming language syntax, semantics and implementation, ? Lamda calculus and functional languages, ? fundamentals and language features of denotational semantics, ? mathematics of recursion, ? first order logic and declerative languages, ? axiomatic semantics and consistency of semantic definitions. | |||||
References | ? Bertrand Meyer, Introduction to the Theory of Programming Languages, Prentice Hall, 1990. ? Comparative Programmin Languages, Leslie B. Wilson ve Robert G. Clark, Addison-Wesley, 2001. ? Concepts in Programming Languages, John C. Mitchell, Cambridge University Press, 2002. ? Programming Languages: Principle and Practice Second Edition, Kennith C. Louden, PWS Publishing Company, 2004. ? Foundations for Programming Languages, John C. Mitchell, The MIT Press, 1996. |
Course outline weekly
Weeks | Topics |
---|---|
Week 1 | Language Design Principles |
Week 2 | Syntax |
Week 3 | Syntax |
Week 4 | Basic Semantics |
Week 5 | Data Types |
Week 6 | Expressions and Statements |
Week 7 | Procedures and Environments |
Week 8 | Midterm |
Week 9 | Abstract Data Types and Modules |
Week 10 | Object-Oriented Programming |
Week 11 | Functional Programming |
Week 12 | Formal Semantics |
Week 13 | Formal Semantics |
Week 14 | Parallel Programming |
Week 15 | Final Exam Preparation |
Week 16 | Final Exam |
Assesment methods
Course activities | Number | Percentage |
---|---|---|
Attendance | 0 | 0 |
Laboratory | 0 | 0 |
Application | 0 | 0 |
Field activities | 0 | 0 |
Specific practical training | 0 | 0 |
Assignments | 3 | 15 |
Presentation | 0 | 0 |
Project | 0 | 0 |
Seminar | 0 | 0 |
Midterms | 1 | 35 |
Final exam | 1 | 50 |
Total | 100 | |
Percentage of semester activities contributing grade succes | 4 | 50 |
Percentage of final exam contributing grade succes | 1 | 50 |
Total | 100 |
WORKLOAD AND ECTS CALCULATION
Activities | Number | Duration (hour) | Total Work Load |
---|---|---|---|
Course Duration (x14) | 14 | 3 | 42 |
Laboratory | 0 | 0 | 0 |
Application | 0 | 0 | 0 |
Specific practical training | 0 | 0 | 0 |
Field activities | 0 | 0 | 0 |
Study Hours Out of Class (Preliminary work, reinforcement, ect) | 14 | 5 | 70 |
Presentation / Seminar Preparation | 0 | 0 | 0 |
Project | 0 | 0 | 0 |
Homework assignment | 3 | 20 | 60 |
Midterms (Study duration) | 1 | 20 | 20 |
Final Exam (Study duration) | 1 | 25 | 25 |
Total Workload | 33 | 73 | 217 |
Matrix Of The Course Learning Outcomes Versus Program Outcomes
D.9. Key Learning Outcomes | Contrubition level* | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
1. Graduates should have a mastery of computer science as described by the core of the Body of Knowledge. | X | ||||
2. Graduates need understanding of a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency. | X | ||||
3. Graduates of a computer science program need to understand how theory and practice influence each other. | X | ||||
4. Graduates need to think at multiple levels of detail and abstraction. | X | ||||
5. Students will be able to think critically, creatively and identify problems in their research. | X | ||||
6. Graduates should have been involved in at least one substantial project. | X | ||||
7. Graduates should realize that the computing field advances at a rapid pace. | X | ||||
8. Graduates should conduct research in an ethical and responsible manner. | X | ||||
9. Graduates should have good command of technical terms in both Turkish and English. | X | ||||
10. Graduates should understand the full range of opportunities available in computing. | X | ||||
11. Graduates should understand that computing interacts with many different domains. | X | ||||
12. Graduates should develop the knowledge acquired at master level and be able to apply scientific methods in order to solve scientific problems. Graduates should be able to identify and conduct independent original research. | X | ||||
13. Graduates should develop the knowledge acquired at master level and apply scientific methods in order to solve scientific problems. | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest