Future University In Egypt (FUE)
Future University is one of most promising private universities in Egypt. Through excellence in teaching, research and service, Future University strives to provide a comprehensive, high-quality education that prepares our graduates to be future leaders.
90th Street
New Cairo

Course List

Fundamentals of Programming Languages

  • Course Code :
  • Level :
  • Course Hours :
    3.00 Hours
  • Department :
    Department of Computer Science

Instructor information :

Area of Study :

Apply the main concepts of programming languages. Combine and evaluate different types of programming languages with a practical support for these features. Analyze the requirements of language design trade-off and design a solution for these requirements. Compare and evaluate methodologies from range of major programming languages. Use effectively communication skills. Understand knowledge that enhances skills in describing syntax, grammars, static and dynamic semantics. Develop and evaluate a computer based system process and components.

For further information :

Fundamentals of Programming Languages

Describing syntax and semantics. Identifiers: names, binding, type checking, and scopes. Data types, subprograms and their implementation, concurrency, programming paradigms such as declarative programming, object oriented programming and component programming, parallel and distributed programming. Comparison and evaluation of different programming languages.

For further information :

Fundamentals of Programming Languages

Course outcomes:

a. Knowledge and Understanding:

1- Discuss the fundamental concepts of programming languages and their different types such as procedural, object oriented, declarative, service-oriented programming languages.
2- Identify the criteria for current use of BNF and parse trees for languages parsing.
3- Explain functional requirements and constrains for memory usage that applied for different types of programming languages
4- Define the fundamental variables related concepts like Binding, Lifetime, and Scope.

b. Intellectual Skills:

1- Analyze programs execution according to approaches used for parameter passing, and variables scoping and lifetimes.
2- Select appropriate methodologies and techniques to plan and assess when to use each programming paradigm.
3- Evaluate and verify different categories of languages and paradigms.

c. Professional and Practical Skills:

1- Apply the different design methodologies using declarative and object-oriented programming language.
2- Analyze, design, implement, test, maintain and manage stack, scoping, life time assessment, and parameter passing
3- Apply BNF for a given programming language

d. General and Transferable Skills:

1- Work in a team effectively and efficiently considering time.
2- Apply communication skills and techniques in presentations and report writing for range of audiences using various methods and tools.

For further information :

Fundamentals of Programming Languages

Course topics and contents:

Topic No. of hours Lecture Tutorial/Practical
Different types of programming languages 4 2 2
Main Concepts, reasons for learning concepts of programming languages, programming domains languages evaluations criteria. 4 2 2
Language design trade-offs and implementation methods. 4 2 2
Syntax and semantics, formal methods of describing syntax, extended BNF, attribute grammars, static and dynamic semantics. 4 2 2
Bindings and Scopes: Names, variables, the concept of binding, scope and lifetime. 4 2 2
Data Types: character strings, arrays, records, pointers, heap, expressions, overloaded operators, type conversion, assignment statements. 4 2 2
Evaluation of major programming languages (p1) 4 2 2
Statement-Level Control Structure: Selection, iterative, unconditional branching. 4 2 2
Mid Term Exam 2
Exceptional handling and event handling 4 2 2
Evaluation of major programming languages (p2) 4 2 2
Object Oriented Programming: Object Oriented Programming- Design Issues-examples 4 2 2
Revision 4 2 2
Final Exam 2

For further information :

Fundamentals of Programming Languages

Teaching And Learning Methodologies:

Teaching and learning methods
Interactive Lectures including Discussions
Practical Lab Sessions
Self-Study (Project / Reading Materials / Online Material / Presentations)
Case Studies
Problem Solving

For further information :

Fundamentals of Programming Languages

Course Assessment :

Methods of assessment Relative weight % Week No. Assess What
Assignments 5.00 4
Final Exam 40.00 14
Midterm Exam (s) 30.00 9
Practical Exam 10.00
Presentations 5.00 12
Quizzes 10.00 5
Team Work Projects 5.00 12

For further information :

Fundamentals of Programming Languages


Book Author Publisher

Course notes :

An Electronic form of the Course Notes and all the slides of the Lectures is available on the Students Learning Management System (Moodle)

Recommended books :

P. Roy, S. Haridi, Concepts, Techniques and Models of Computer Programming, 1st ed. The MIT Press, 2004. ISBN: 978-0262220699.

Web Sites :


For further information :

Follow us on

Visit the Faculty