This document describes a course on programming paradigms that introduces basic programming language concepts. The course objectives are to introduce fundamental programming constructs, programming language design principles, and how to learn new languages. The syllabus covers topics like variable scoping, control flow, data types, subroutines, functional and object-oriented programming, and concurrency. Students will learn to analyze and compare features of different languages. The course includes lectures, assignments, and exams.
This document describes a course on programming paradigms that introduces basic programming language concepts. The course objectives are to introduce fundamental programming constructs, programming language design principles, and how to learn new languages. The syllabus covers topics like variable scoping, control flow, data types, subroutines, functional and object-oriented programming, and concurrency. Students will learn to analyze and compare features of different languages. The course includes lectures, assignments, and exams.
code Introduction CS403 PROGRAMMING PARADIGMS 3-0-0-3 2016 Course Objectives: To introduce the basic constructs that underlie all programming languages To introduce the basics of programming language design and implementation To introduce the organizational framework for learning new programming languages. Syllabus: Names, Scopes, and Bindings - Binding Time, Scope Rules, Storage Management, Overloading, Polymorphism; Control Flow - Expression Evaluation, Structured and Unstructured Flow, Non- determinacy; Data Types - Type Systems, Type Checking, Equality Testing and Assignment; Subroutines and Control Abstraction - Static and Dynamic Links, Calling Sequences, Parameter Passing, Exception Handling, Co-routines; Functional and Logic Languages; Data Abstraction and Object Orientation -Encapsulation, Inheritance, Dynamic Method Binding; Innovative features of Scripting Languages; Concurrency - Threads, Synchronization, Language-Level Mechanisms; Run-time program Management. Expected Outcome: The Students will be able to : i. compare scope and binding of names in different programming languages ii. analyze control flow structures in different programming languages iii. appraise data types in different programming languages iv. analyze different control abstraction mechanisms v. appraise constructs in functional, logic and scripting languages vi. analyze object oriented constructs in different programming languages vii. compare different concurrency constructs viii. interpret the concepts of run- time program management Text book: 1. Scott M L, Programming Language Pragmatics, 3rd Edn., Morgan Kaufmann Publishers, 2009. References: 1. David A Watt, Programming Language Design Concepts, Wiley Dreamtech, 2004 2. Ghezzi C and M. Jazayeri, Programming Language Concepts, 3rd Edn, Wiley.1997 3. Kenneth C Louden, Programming Languages: Principles and Practice, 3rd Edn., Cengage Learning, 2011. 4. Pratt T W, M V Zelkowitz, and T. V. Gopal, Programming Languages: Design and Implementation, 4th Edn., Pearson Education, 2001 5. R W Sebesta, Concepts of Programming Languages, 11th Edn., Pearson Education, 2015 6. Ravi Sethi, Programming Languages: Concepts & Constructs, 2nd Edn., Pearson Education, 2006 7. Tucker A B and R E Noonan, Programming Languages: Principles and Paradigms, 2nd Edn,McGraw Hill, 2006. Course Plan End Sem. Module Contents Hours Exam Marks Names, Scopes and Bindings:- Names and Scopes, Binding Time, Scope Rules, Storage Management, Binding of Referencing Environments. 7 15 % I Control Flow: - Expression Evaluation, Structured and Unstructured Flow, Sequencing, Selection, Iteration, Recursion, Non-determinacy. Data Types:-Type Systems, Type Checking, Records and Variants, II Arrays, Strings, Sets, Pointers and Recursive Types, Lists, Files 15 % and Input/Output, Equality Testing and Assignment. 7
FIRST INTERNAL EXAM
Subroutines and Control Abstraction: - Static and Dynamic Links, III Calling Sequences, Parameter Passing, Generic Subroutines and 7 15 % Modules, Exception Handling, Co-routines. Functional and Logic Languages:- Lambda Calculus, Overview of Scheme, Strictness and Lazy Evaluation, Streams and Monads, 7 15 % IV Higher-Order Functions, Logic Programming in Prolog, Limitations of Logic Programming. SECOND INTERNAL EXAM Data Abstraction and Object Orientation:-Encapsulation, Inheritance, Constructors and Destructors, Aliasing, Overloading, V 7 20 % Polymorphism, Dynamic Method Binding, Multiple Inheritance. Innovative features of Scripting Languages:-Scoping rules, String and Pattern Manipulation, Data Types, Object Orientation. Concurrency:- Threads, Synchronization. Run-time program Management:- Virtual Machines, Late Binding 7 20 % VI of Machine Code, Reflection, Symbolic Debugging, Performance Analysis. END SEMESTER EXAM Question Paper Pattern (End semester exam)
1. There will be FOUR parts in the question paper – A, B, C, D
2. Part A a. Total marks : 40 b. TEN questions, each have 4 marks, covering all the SIX modules (THREE questions from modules I & II; THREE questions from modules III & IV; FOUR questions from modules V & VI). All the TEN questions have to be answered. 3. Part B a. Total marks : 18 b. THREE questions, each having 9 marks. One question is from module I; one question is from module II; one question uniformly covers modules I & II. c. Any TWO questions have to be answered. d. Each question can have maximum THREE subparts. 4. Part C a. Total marks : 18 b. THREE questions, each having 9 marks. One question is from module III; one question is from module IV; one question uniformly covers modules III & IV. c. Any TWO questions have to be answered. d. Each question can have maximum THREE subparts. 5. Part D a. Total marks : 24 b. THREE questions, each having 12 marks. One question is from module V; one question is from module VI; one question uniformly covers modules V & VI. c. Any TWO questions have to be answered. d. Each question can have maximum THREE subparts. 6. There will be AT LEAST 50% analytical/numerical questions in all possible combinations of question choices.