Learn how to design and implement programming languages
Get practice on designing with different programming paradigms
Learn how to select programming language for a specific project
Gains the ability to work in interdisciplinary projects
Mode of Delivery
Face to face
Prerequisites
Yes(CSE126)
Recommended Optional Programme Components
None
Course Description
Introduction to Programming languages paradigms. The history and development of programming languages. The detailed explanation of: Syntax and semantics of languages; Basic and compound data types; Arithmetical and logical expressions; Assignments; Control structures and sub-functions usage and implementations; parameter passing ways; Object Oriented programming; Functional and logical programming. Application of thought concepts to selected programming languages.
Course Contents
WEEK
TOPICS
1st Week
Introduction
2nd Week
Evolution of Major Programming Languages
3rd Week
Formal Languages
4th Week
Regular Grammars / Context-Free Grammars
5th Week
Syntax and Semantics
6th Week
Names, Binding and Scope Rules
7th Week
Data Types - I
8th Week
Midterm Exam
9th Week
Data Types - II
10th Week
Expressions and Assignment Statements
11th Week
Statement-Level Control Structures
12th Week
Logica Programming - I
13th Week
Logica Programming - II
14th Week
Abstract Data Types
15th Week
Object-Object Programming Fundamentals
Recommended or Required Reading
1. Sebesta, R.W. (2002) Concepts of Programming Languages/5E, Addison-Wesley;
2. Appleby, D and VandeKopple, J.J. (1997) Programming Languages: Paradigm and Practice/2E,Mc Graw-Hill.
Planned Learning Activities and Teaching Methods
Lecture
Questions/Answers
Experiment
Project
Report Preparation
Problem Solving
Presentation
Assessment Methods and Criteria
Quantity
Percentage (%)
Mid-term
1
30
Assignment
1
10
Quiz
3
15
Attendance
1
5
Total(%)
60
Contribution of In-term Studies to Overall Grade(%)
60
Contribution of Final Examination to Overall Grade(%)