FIRST SEMESTER 2020-2021: 1. of Programming Languages 10 Edition 1
The document provides details about the Principles of Programming Languages course offered in the first semester of 2020-2021. The course aims to introduce various programming paradigms and concepts related to programming languages like naming, binding, scoping, data types, sub-programs, and exception handling. It will cover these topics through lectures, assignments, and evaluations including three in-semester tests, four quizzes, and a comprehensive exam with open book policy for all evaluations except the comprehensive exam. The course will be taught by Dr. R Gururaj and others using the textbook Concepts of Programming Languages and will have consultation hours on Thursdays from 5-6 PM.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
77 views3 pages
FIRST SEMESTER 2020-2021: 1. of Programming Languages 10 Edition 1
The document provides details about the Principles of Programming Languages course offered in the first semester of 2020-2021. The course aims to introduce various programming paradigms and concepts related to programming languages like naming, binding, scoping, data types, sub-programs, and exception handling. It will cover these topics through lectures, assignments, and evaluations including three in-semester tests, four quizzes, and a comprehensive exam with open book policy for all evaluations except the comprehensive exam. The course will be taught by Dr. R Gururaj and others using the textbook Concepts of Programming Languages and will have consultation hours on Thursdays from 5-6 PM.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3
FIRST SEMESTER 2020-2021
Course Handout Part II
Date: 17/08/2020 In addition to Part-I (General Handout for all courses appended to the time table) this portion gives further specific details regarding the course.
Course No. : CS F301
Course Title : Principles of Programming Languages Instructor-in-Charge : Dr. R Gururaj Dr. Jabez J Christopher, Mr.Gourish G, Mr.P. Venkata Krishna
1.Scope and Objectives of the Course:
Programming languages play a significant role in writing programs (set of instructions) for execution by computers. High-level programming languages facilitate writing computer programs with ease without having to understand the HW specifics on which the programs are run. With this we can focus on solution to the problem rather than worrying about HW details. This course covers features of programming languages and introduces the main programming paradigms and their applications. It covers approaches for specifying the structure/syntax of the programming languages with details about the semantics of the features of programming languages. Also provides an overview of lexical and Syntax analysis. This also covers naming, binding and scoping concepts pertaining to programming languages. This course also details the structure of sub-programs and implementation specifics, with parameter passing approaches and various aspects of runtime environments like global and local data, code, function call stacks, dynamically allocated data. This course also gives a briefing on runtime support required for exception handling and concurrent programming. It also gives an idea about concepts of Logic programming. It also covers briefing about concepts related to Functional programming. The Course Objectives are: To list various programming paradigms, with a comparison on various important features. To understand concepts like- naming, binding and scoping concepts related to programming languages. To understand the aspects of describing the structure/syntax of programming languages. To understand the concepts like- Data types, Abstract data types, type checking etc. To understand the structure and implementation of sub-programs with parameter passing approaches. To understand the exception handling and concurrent programming aspects. To get an overview of fundamentals of Logic and Functional programming paradigms.
2. Pre requisites: C and Java programming
3.Textbooks: 1. T1. Robert Sebesta , Concepts of programming languages 10th Edition Reference books: 1. R1 Ravi Sethi, Programming Languages - Concepts and Constructs Pearson Education. 2nd Edition. 4.Course Plan: Chapter in Lecture Learning Outcomes Topics to be covered the Text No. Book To provide an overview of the course and its importance. Introduction to PPL with 1-2 List the criteria for judging PLs. Ch.1 (T1) Preliminaries List the categories/domains of PLs.. To understand the evolution of programming languages. Evolution of Major Programming To understand the environments that Ch.2 (T1) 3-5 languages. influenced the development of certain Important Programming Paradigms. languages. Issues in language design. Express formal syntax of programming Describing Syntax and Semantics of language using BNF PLs. Chapter 3, 4(T1) & 6-12 Methods of semantic description The Process of Lexical and Syntax Ch.2 (R1) Analysis To get an Overview of Lexical and . Syntax Analysis Understanding the fundamental semantic issues of variables. Names, bindings and scopes of 12-14 Ch.5 (T1) To list and understand the attributes of variables. Type checking. variables. Identify the needs for different data Chapter 6, types and their characteristics. Types: Data Representation, Primitive 11(T1) & 15-18 Compare different implementation of and Structured Data types, ADTs. Chapter 4 data types. (R1) Introduction to procedures, Recursion, Fundamentals of Sub-programs. Ch.9, 10 (T1) Parameter Passing Implementing sub-programs. To & Ch.5(R1) Methods, Call-by-Value, Call-by- 19-21 understand the different parameter Reference, Call by Value Result. Scope passing mechanism, And class Functions and Call Stacks, notes Dynamically allocated data and heaps Understanding Concurrent programs at Concurrent execution of statements, various levels. sub-programs. 22-24 Ch.13 & 14 To get an overview of Exception Fundamentals of PL Exception Handling and requires support. Handling mechanism. Logic Programming: Relations, First Formulate problems using Logic Ch. 15(T1) 25-27 Order Logic, Logic Programming and programming Ch. 11(R1) Prolog. Fundamentals of Functional Formulate problems using functional Ch. 16(T1) & 27-30 Programming, Applications of programming Ch.8,9,10(R1) Functional Programming. 5. Evaluation scheme: Component Duration Date & Time Weightage Remarks Test-1 30 Mins. September 10 –September 20 15% Open Book (during scheduled class Hour) Test-2 30 Mins. October 9-October 20(during 15% Open Book scheduled class hour) Test-3 30 Mins. November 10-November 20 15% Open Book during scheduled class hour) Quizzes (four, and 2 of TBA 20% Open Book them before mid-sem grading) Comprehensive Exam 2 Hrs. TBA by Timetable Division 35% Open Book 6. Make-up-Policy: Make-up (excepting Compre) may be given for genuine cases with prior permission by IC, and after rigorous scrutiny. For Comprehensive exam, make-up has to be approved and scheduled by AUGSD. 7. Course Notices: All notices pertaining to this course will be displayed on CMS Course webpage. 8. Consultation: Thu, 5-6 PM. Meeting link will be shared on CMS. 9. Academic Honesty and Integrity Policy: Academic honesty and integrity are to be maintained by all the students throughout the semester and no type of academic dishonesty is acceptable. Instructor In-charge CS F301