Course Name : Principles of Programming language



Download 0.67 Mb.
Page1/5
Date conversion28.01.2017
Size0.67 Mb.
  1   2   3   4   5


Department of Computer Science and Engineering


Course Name : Principles of Programming language




Course Number :




Course Designation : Core




Prerequisites : C, C++ & JAVA


III B Tech – I Semester

(2014-2015)


A.MALLIKARJUNA REDDY



Assistant Professor

SYLLABUS


Unit – I

Preliminary Concepts: Reasons for studying, concepts of programming languages, Programming domains, Language Evaluation Criteria, influences on Language design, Language categories, Programming Paradigms – Imperative, Object Oriented, functional Programming , Logic Programming .Programming Language Implementation–Compilation and Virtual Machines, programming environments.

Syntax and Semantics: general Problem of describing Syntax and Semantics, formal methods of describing syntax - BNF, EBNF for common programming languages features, parse trees, ambiguous grammars, attribute grammars

Unit – II

Data types: Introduction, primitive, character, user defined, array, associative, record, union, pointer and reference types, design and implementation uses related to these types .Names, Variable, concept of binding, type checking, strong typing, type compatibility, named constants, variable initialization.

Expressions and Statements: Arithmetic relational and Boolean expressions, Short circuit evaluation mixed mode assignment, Assignment Statements, Control Structures – Statement Level, Compound Statements, Selection, Iteration, Unconditional Statements, guarded commands.

Unit – III

Subprograms and Blocks: Fundamentals of sub-programs, Scope and lifetime of variable, static and dynamic scope, Design issues of subprograms and operations, local referencing environments, parameter passing methods, overloaded sub-programs, generic sub-programs, parameters that are sub-program names, design issues for functions user defined overloaded operators, co routines.

Abstract Data types: Abstractions and encapsulation, introductions to data abstraction, design issues, language examples, C++ parameterized ADT, object oriented programming in small talk, C++,Java,C#,Ada95.

Unit – IV

Concurrency: Subprogram level concurrency, semaphores, monitors, massage passing, Java threads, C# threads.

Exception handling: Exceptions, exception Propagation, Exception handler in Ada, C++ and Java.

Unit – V

Logic Programming Language: Introduction and overview of logic programming, basic elements of prolog, application of logic programming.

Functional Programming Languages: Introduction, fundamentals of FPL, LISP, ML, Haskell, application of Functional Programming Languages and comparison of functional and imperative Languages.


TEXT BOOKS & OTHER REFERENCES



Text Books

1.

Concepts of Programming Languages Robert .W. Sebesta 6/e, Pearson
Education.

2.

Programming Languages – Louden, Second Edition, Thomson.

Suggested / Reference Books

3.




4.




5.





Websites References



http://freevideolectures.com/University/IIT-Madras/Web-Designing/Subject/Page1



http://en.wikipedia.org/wiki/Programming_language




http://www.learnerstv.com/video/Free-video-Lecture-1950-Computer-Science.html



http://www.openculture.com/freeonlinecourses



http://www.dmoz.org/desc/Computers/Programming/Languages



http://freevideolectures.com/Course/2331/Building-Dynamic-Websites/2




http://www.saylor.org/courses/cs404/rief


Time Table

Room No: W.E.F: 01\07\2014



Class Hour

Time


1

2

3

4

12:20 – 1:10

LUNCH BREAK

5

6

7

9:00 -09:50

09.50 –10:40

10:40 –11:30

11:30 – 12: 20

1:10 – 2:00

2:00 – 2:50

2:50 – 3:40

MON



















PPL-A

TUE

PPL-B













PPL-A




WED

PPL-B













PPL-A




THU

PPL-A




PPL-B













FRI




PPL-A
















SAT




PPL-A

PPL-B















PPL-A - IIIrd year Section A

PPL-B - IIIrd year Section B


PROGRAM EDUCATIONAL OBJECTIVES (PEO’s)



PEO1

The Graduates are employable as software professionals in reputed industries.

PEO2

The Graduates analyze problems by  applying  the principles of computer science, mathematics and scientific investigation to design  and implement  industry accepted solutions using latest technologies.

PEO3

The Graduates work productively in supportive and leadership roles on multidisciplinary teams with effective communication and team work skills with high regard to legal and ethical responsibilities.

PEO4

The Graduates embrace lifelong learning to meet ever changing developments in computer science and Engineering.


PROGRAM OUTCOMES (PO’s)


PO1

An ability to communicate effectively and work on multidisciplinary teams

PO2

An ability to identify, formulate and solve computer system problems with professional and ethical responsibility.

PO3

A recognition of the need for, and an ability to engage in life-long learning to use the latest techniques, skills and modern engineering tools

PO4

The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental and social context

PO5

An ability to apply knowledge of mathematics, science, and computing to analyze, design and implement solutions to the realistic problems.


PO6

An ability to apply suitable process with the understanding of software development practice.




Course Objectives:


CObj1

To Know the principles of modular and object oriented programming

CObj2

To Know the basic knowledge of grammars, compliers and interpreters

CObj3

To Know the basic fundamentals of logical and functional programming

CObj4

To Know the principles of scripting languages

CObj5

To Know basic overview of concurrency


Course Outcomes:


CO1

They will be able to Know the modular and object oriented programming

CO2

They will able to write complier programs

CO3

They will be to know logical and functional programming technique

CO4

They will able to develop concurrency programming


MAPPING OF COURSE OBJECTIVES & COURSE OUT COMES WITH

PO’s & PEO’s



Course Objectives

Course Outcomes

PO’s

PEO’s




CO1

PO1







CO2

PO5







CO3

PO5







CO4

PO2





COURSE SCHEDULE


Distribution of Hours Unit – Wise


Unit

Topic

Chapters

Total No. of Hours

Book1

Book2

I

Reasons for studying, concepts of programming languages, Programming domains

Syntax and Semantics



Ch1,2

Ch3,4,5,6,7

14

II

Data types

Expressions and Statements



Ch8,9

-

14

III

Subprograms and Blocks

Abstract Data types



Ch10, 11

-

13

IV

, Concurrency, Exception handling


Ch12,13

-

12

V

Logic Programming Language,

LISP, ML, Haskell



Ch19,20

-

12

Contact classes for Syllabus coverage

65

Tutorial Classes : 08 ; Online Quiz : 1 per unit

Descriptive Tests : 02 (Before Mid Examination)



Revision classes :1 per unit





Number of Hours / lectures available in this Semester / Year

65


The number of topic in every unit is not the same – because of the variation, all the units have an unequal distribution of hours

Lecture Plan


S. No.

Topic

Date of Completion

Unit-1

1

Reasons for studying, concepts of programming languages




2

Programming domains




3

Language Evaluation Criteria




4

Influences on Language design, Language categories




5

Programming Paradigms – Imperative, Object Oriented




6

functional Programming , Logic Programming




7

Programming Language Implementation




8

programming environments




9

General Problem of describing Syntax and Semantics




10

Formal methods of describing syntax – BNF




11

EBNF for common programming languages features




12

Parse trees




13

Ambiguous grammars




14

Attribute grammars




Unit-II

15

Data types: Introduction, primitive, character




16

User defined, array, associative, record




17

Union, pointer and reference types




18

Design and implementation uses related to these types




19

 Names, Variable, concept of binding




20

Type checking, strong typing, Type compatibility




21

Named constants, variable initialization




22

Arithmetic and relational expressions




23

Boolean expressions




24

Short circuit evaluation mixed mode assignment




25

Assignment Statements




26

Control Structures – Statement Level




27

Compound Statements, Selection




28

Iteration, Unconditional Statements




Unit-III

29

Fundamentals of sub-programs




30

Scope and lifetime of variable, static and dynamic scope




31

Design issues of subprograms and operations




32

Local referencing environments, Parameter passing methods




33

Overloaded sub-programs




34

Parameters that are sub-program names,




35

generic sub-programs




36

Design issues for functions




37

Abstractions and encapsulation




38

Language examples




39

Java, C#, Ada 95, Subprogram level concurrency




40

Massage passing, Java threads




41

Object oriented programming in small talk




42

C++




43

C# threads




44

C++ parameterized ADT




Unit-IV

45

semaphores, Monitors




46

Exceptions




47

Exception handler in Ada




48

Exception handler in C++




49

exception Propagation




50

Exception handler in Java




51

Introduction to logic programming




52

overview of logic programming




53

Basic elements of prolog




54

Application of logic programming




Unit-V

55

Introduction to logic programming




56

overview of logic programming




57

Basic elements of prolog




58

Application of logic programming




59

Fundamentals of FPL




60

LISP




61

ML




62

Haskell




63

Haskell




64

Application of Functional Programming Languages




65

Comparison of functional and imperative Languages





  1   2   3   4   5


The database is protected by copyright ©ininet.org 2016
send message

    Main page