Advanced Programming Languages
Weekly outline
-
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/
-
The following papers are shared by Eng. Waleed El-Khamisy for anyone interested to continue working in these directions. Thank you for the efforts,
-
Week 1: Language design principles – CH 1
-
Week 2: History and Programming Languages – CH 2
-
Week 3: Syntax Description – Ch 3
-
Week 4: The League Of Arab States Day Holiday
will continue next week: Semantic Description – Ch 3
-
Week 5: Lexical and Syntax analysis – Ch 4
-
Week 6: Variables, CH 5
-
Week 7: Data Types & Assignment Statements - CH 6
-
Week 8: Expressions & Assignments – CH 7
-
Self Study Chapters: Control : Ch 8, 9, 10
Abstract Data Types – Object Oriented Programming – CH 11, 12
Week 9: Parallel & Concurrent Programming – CH 13
-
Week 10: Functional Programming – CH 15
-
Week 11: Logic Programming - CH 16
-
Week 12: Seminar Presentations & Project Submission