Principle of Programming Language
Basic concepts of programming languages: Programming do mains, language evaluation criterion and language categories, evolution of the major programming languages (FORTRAN, ALGOL 60 COBOL, BASIC, PL/I, ALGOL 68, ADA, C, C++, JAVA) Describing Syntax and Semantics, formal methods of describing syntax, recursive descent parsing, attribute grammars, dynamic semantics. Names, Variables, Binding, Type cheecking, Scope and lifetime data types, array types, record types, union types, set types and pointer types, arithmetic expressions, type conversions, relational and Boolean expressions, assignment statements, mixed mode assignment. Statement level control structures, compound statements, selection statement, iterative statements, unconditional branching, guarded commands. Subprogram, fundamentals of subprogram, design issues, parameter passing methods, overloaded subprograms, generic subprograms, separate and independent compilation, design issues for functions, accessing nonlocal environment, user defined overloaded operators,m coroutines, implementing subprograms, blocks, implementing dynamic scooping. Programming in C and C++: Character set, variables and constants, keywords, Instructions, assignment statements, arithmetic expression, comment statements, simple input and output, Boolean expressions, Relational operators, logical operators, control structures, decision control structure, loop control structure, case control structure, functions, subroutines, scope and liftime of identifiers, parameter passing mechanism, arrays and strings, structures, array of structures, Console Input and Output functions, Disk I/O functions, Interaction with hardware, Interrupts and Interrupt Vectir table, Unions of structures, operations on bits, usage of enumerated data types. Bitfields, Pointers to Function, Function returning Pointers, Graphics in C. Object oriented programming in C++:Basic Concepts of Object Oriented Programming. Characteristics of Object-Oriented Languages, Object, Classes in C++. Constructors, Destructors, Complex Class, Matrix class; Classes, Object and Memory; Structures and Classes; C++ Free Store, Static Class Data, Overload Assignment Operator, Copy Constructor, Data Conversion between Objects of different classes. Data structure through C++, Handling Data files (sequential and random), opening and closing files, stacks and queues, linked lists, trees, Inheritance Multiple, Private and Protected Inheritance, Virtual Functions, Objects Slicing, Input/Output in C++, user defined manipulators, Predefined Stream Objects, File I/O with Streams, Strsteams, Classes within classes, Smart Pointers, Tem plates, Exception Handling.