EMU FACULTY OF ENGINEERING

DEPARTMENT OF COMPUTER ENGINEERING

 

COURSE DESCRIPTION

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.

 

OBJECTIVE

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.

 

COURSE OUTLINE

Part I-     Programming Languages Principles

        For an e-book on programming language principles, see Resources below.

 

Part II-    Object Oriented Programming (Java)

·        Data structures and programming structures

        Primitive and reference data types ; Operators and expressions; Statements; Methods and passing of arguments.

·        Classes of objects and object oriented programming

        Principle of object oriented programming; Using objects; Definition of classes; Subclasses and inheritance.

 

 

Part III- Logic Programming (Prolog)

·        Declarative Prolog programming

        Logic programming, predicates, clauses

·        Procedural Prolog programming and control

        Backtracking, cut predicate

 

 

Resources:

Further Reading (advanced)

 

EXAMINATION AND GRADING

v      Midterm Exam #1: 25

v      Midterm Exam #2: 25

v      Labs:                       15

v      Attendance:             5

v      Final Exam:             35

Ĝ       TOTAL: 100 %

 

IMPORTANT NOTES

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.

 

RESOURCES

CONFERENCE LINKS

CAREER LINKS

SUNNY SIDE

 

Last update Nov. 14, 2004.