DEPARTMENT OF COMPUTER ENGINEERING
Course Code: CmpE 318
Course Title: Programming Language Design
Course Credit: (4,1) 4
Semester: 2003-2004 Spring
Instuctor: Assoc. Prof. Dr. Atilla ELÇİ
Office no: CmpE Building 222 (please check office hours)
Office Tel: 630 2843
E-mail: Atilla.Elci@EMU.edu.tr
Website: http://cmpe.emu.edu.tr/aelci/
Coord. Assistant: Mohammad A. SHAH
Office no: 122 (please check office hours)
Office Tel: 2836
E-mail: Ahmed.Shah@emu.edu.tr
Assistant (Gr. 3+4): Özlem AZGAN
Office no: 102 (please check office hours)
Office Tel: 2845
E-mail: Ozlem.Azgan@emu.edu.tr
Assistant (Gr. 3): Dilek AMİR
Office no: 205 (please check office hours)
Office Tel: 2832
E-mail: Dilek.Amir@emu.edu.tr
Assistant (Gr. 4): İdil CANDAN
Office no: 203 (please check office hours)
Office Tel: 2182
E-mail: Idil.Candan@emu.edu.tr
Textbooks: 1. Programming Languages, Principles and Paradigms, Allen Tucker and Robert Noonan, McGraw-Hill, 2002, ISBN: 0-07-112280-X (ISE)
- Textbook Website: check available Student Resources such as PowerPoint slides, source code, animations and further links.
2. Java in a Nutshell - 4th Edition, David Flanagan, O'Reilly, 1999.
3. Prolog Programming for Students, David Callear, DP Publications, 1994, ISBN: 1-85805-93-6.
References:
1. Concepts of Programming Languages, 5th Edition, W. Sebesta, Addison-Wesley, 2002. ISBN: 0-201-75295-6.
2. Programming Languages, Design and Implementation, 4th Edition, Terrence W. Pratt and Marvin V. Zelkowitz, 2001, ISBN: 0-13-027678-2.
3.
Programming Languages, Paradigm and Practice, 2nd Ed., Doris Appleby and Julius J. VandeKoople, McGraw-Hill, 1997, ISBN: 0-07-005315-4.4. A First Course in Formal Language Theory, V. J. Rayward-Smith, McGraw-Hill, 1995. ISBN: 0-07-709245-7.
5. The Anatomy of Programming Languages, Alice E. Fischer and Francis S. Gradzinsky, Prentice-Hall Intl., 1993, ISBN: 0-13-042219-3.
This course aims to review general principles and paradigms of current programming languages: syntax, semantics and translation, imperative programming, memory management, object oriented programming and logic (declarative) programming. These paradigms will be studied and compared among representative languages such as C/C++, Java and Prolog. The last two languages will simply be introduced for the sake of illustrating the paradigms, and not for their actual, exhaustive learning.
Participant of the course will be required to carry out practical work in terms of assignments and small projects.
Part I- Programming Languages Principles
For an e-book on programming language
principles, see
Resources below.
Part II- Object Oriented Programming (Java)
Primitive and reference data types ; Operators and expressions; Statements; Methods and passing of arguments.
Part III-
Logic Programming (Prolog)Logic programming, predicates, clauses
Backtracking, cut predicate
:
An e-book on comparative study of programming languages:
* Very much the same content as our coverage of the subject.
* To download the e-book onto your PC, click here (193 KB).
* Double click on index.htm in the plbook directory after downloading and expanding.
Further Reading (advanced)
Paper on: Implementation of Visual Languages (.pdf file)
C#'s implementation base: CLI.
An excellent review on UTF encoding: Forms of Unicode.
v Midterm Exam #1: 25
v Midterm Exam #2: 25
v Labs: 15
v Attendance: 5
v Final Exam: 35
Ĝ
TOTAL: 100 %
Office Hours: 14:45 15:30 on Mondays, Wednesdays and Fridays.
Attendance: Required.
Roll calls will be taken each session; any student with poor attendance record will be given NG.
Missing Exams: Student missing an exam should provide a substantiated and valid excuse within three days.
One make-up exam will be administered at the end of the semester following the final exam period.
Last update Nov. 14, 2004.