Weekly outline

  • General

    Course Code  :        CC 711

    Course Title    :        Advanced Programming Languages

    Credit Hours   :        3

     

    Course Description

    Different paradigms of programming languages. Introduction to programming languages, history of programming languages, language design principles, syntax, basic semantics, data types, control and abstract data types. Difference between object oriented, functional logic, parallel programming and visual programming.

     

    Course Objectives

    To introduce the major principles and concepts underlying all programming languages with no concentration on one particular language.

    Marking Scheme

    Midterm  20%

    Seminar  20%

    Project  30%

    Final  30%

    TextBook:

    ROBERT W. SEBESTA, Concepts of Programming Languages, 10th or 11th Editions, Pearson

    Other References will be added later in the course

    C, C++, Fortran, and Ada

    gcc.gnu.org

    C# and F#

    microsoft.com

    Java

    java.sun.com

    Haskell

    haskell.org

    Lua

    www.lua.org

    Scheme

    www.plt-scheme.org/software/drscheme

    Perl

    www.perl.com

    Python

    www.python.org

    Ruby

    www.ruby-lang.org

    Common Lisp

    http://www.gnu.org/software/gcl/

    GNU Prolog

    https://www.gnu.org/software/gprolog/

  • 20 February - 26 February

  • 27 February - 4 March

    Week 1: Language design principles – CH 1

  • 5 March - 11 March

    Week 2: History and Programming Languages – CH 2

  • 12 March - 18 March

    Week 3: Syntax Description – Ch 3

  • 19 March - 25 March

    Week 4: The League Of Arab States Day  Holiday

    will continue next week: Semantic Description – Ch 3

  • 26 March - 1 April

    Week 5: Lexical and Syntax analysis – Ch 4

  • 2 April - 8 April

    Week 6: Variables, CH 5

  • 9 April - 15 April

    Midterm

  • 16 April - 22 April

    Week 7: Data Types & Assignment Statements - CH 6

  • 23 April - 29 April

    Week 8: Expressions & Assignments  – CH 7

  • 30 April - 6 May

    Self Study Chapters: Control :  Ch 8, 9, 10

    Abstract Data Types – Object Oriented Programming – CH 11, 12

    Week 9: Parallel & Concurrent Programming – CH 13

  • 7 May - 13 May

    Week 10: Functional Programming – CH 15

  • 14 May - 20 May

    Week 11: Logic Programming - CH 16

  • 21 May - 27 May

    Week 12: Seminar Presentations & Project Submission

  • 28 May - 3 June

    Exam