Syllabus
Syllabus
in
Course Outcomes
Able to understand the concept of abstract machines and their power to recognize the
languages.
Able to employ finite state machines for modeling and solving computing problems.
Able to design context free grammars for formal languages.
Able to distinguish between decidability and undecidability.
Able to gain proficiency with mathematical tools and formal methods.
UNIT - I
Introduction to Finite Automata: Structural Representations, Automata and Complexity, the Central
Concepts of Automata Theory – Alphabets, Strings, Languages, Problems.
Nondeterministic Finite Automata: Formal Definition, an application, Text Search, Finite Automata
with Epsilon-Transitions.
Deterministic Finite Automata: Definition of DFA, How A DFA Process Strings, The language of DFA,
Conversion of NFA with €-transitions to NFA without €-transitions. Conversion of NFA to DFA, Moore
and Melay machines
UNIT - II
Regular Expressions: Finite Automata and Regular Expressions, Applications of Regular Expressions,
Algebraic Laws for Regular Expressions, Conversion of Finite Automata to Regular Expressions.
Pumping Lemma for Regular Languages, Statement of the pumping lemma, Applications of the
Pumping Lemma.
Closure Properties of Regular Languages: Closure properties of Regular languages, Decision
Properties of Regular Languages, Equivalence and Minimization of Automata.
UNIT - III
Context-Free Grammars: Definition of Context-Free Grammars, Derivations Using a Grammar,
Leftmost and Rightmost Derivations, the Language of a Grammar, Sentential Forms, Parse Tress,
Applications of Context-Free Grammars, Ambiguity in Grammars and Languages.
Push Down Automata: Definition of the Pushdown Automaton, the Languages of a PDA, Equivalence
of PDA's and CFG's, Acceptance by final state, Acceptance by empty stack, Deterministic Pushdown
Automata. From CFG to PDA, From PDA to CFG.
UNIT - IV
Normal Forms for Context- Free Grammars: Eliminating useless symbols, Eliminating €-Productions.
Chomsky Normal form Griebech Normal form.
Pumping Lemma for Context-Free Languages: Statement of pumping lemma, Applications
64
UNIT - V
Types of Turing machine: Turing machines and halting
Undecidability: Undecidability, A Language that is Not Recursively Enumerable, An Undecidable
Problem That is RE, Undecidable Problems about Turing Machines, Recursive languages, Properties
of recursive languages, Post's Correspondence Problem, Modified Post Correspondence problem,
Other Undecidable Problems, Counter machines.
TEXT BOOKS:
1. Introduction to Automata Theory, Languages, and Computation, 3nd Edition, John E. Hopcroft,
Rajeev Motwani, Jeffrey D. Ullman, Pearson Education.
2. Theory of Computer Science – Automata languages and computation, Mishra and
Chandrashekaran, 2nd edition, PHI.
REFERENCE BOOKS:
1. Introduction to Languages and The Theory of Computation, John C Martin, TMH.
2. Introduction to Computer Theory, Daniel I.A. Cohen, John Wiley.
3. A Text book on Automata Theory, P. K. Srimani, Nasir S. F. B, Cambridge University Press.
4. Introduction to the Theory of Computation, Michael Sipser, 3rd edition, Cengage Learning.
5. Introduction to Formal languages Automata Theory and Computation Kamala Krithivasan,
Rama R, Pearson.
65
Course Outcomes
Ability to translate end-user requirements into system and software requirements, using e.g.
UML, and structure the requirements in a Software Requirements Document (SRD).
Identify and apply appropriate software architectures and patterns to carry out high level design
of a system and be able to critically compare alternative choices.
Will have experience and/or awareness of testing problems and will be able to develop a simple
testing report
UNIT - I
Introduction to Software Engineering: The evolving role of software, changing nature of software,
software myths.
A Generic view of process: Software engineering- a layered technology, a process framework, the
capability maturity model integration (CMMI), process patterns, process assessment, personal and
team process models.
Process models: The waterfall model, incremental process models, evolutionary process models, the
unified process.
UNIT - II
Software Requirements: Functional and non-functional requirements, user requirements, system
requirements, interface specification, the software requirements document.
Requirements engineering process: Feasibility studies, requirements elicitation and analysis,
requirements validation, requirements management.
System models: Context models, behavioral models, data models, object models, structured methods.
UNIT - III
Design Engineering: Design process and design quality, design concepts, the design model.
Creating an architectural design: software architecture, data design, architectural styles and patterns,
architectural design, conceptual model of UML, basic structural modeling, class diagrams, sequence
diagrams, collaboration diagrams, use case diagrams, component diagrams.
UNIT - IV
Testing Strategies: A strategic approach to software testing, test strategies for conventional software,
black-box and white-box testing, validation testing, system testing, the art of debugging.
Product metrics: Software quality, metrics for analysis model, metrics for design model, metrics for
source code, metrics for testing, metrics for maintenance.
UNIT - V
Metrics for Process and Products: Software measurement, metrics for software quality.
Risk management: Reactive Vs proactive risk strategies, software risks, risk identification, risk
projection, risk refinement, RMMM, RMMM plan.
66
Quality Management: Quality concepts, software quality assurance, software reviews, formal technical
reviews, statistical software quality assurance, software reliability, the ISO 9000 quality standards.
TEXT BOOKS:
1. Software Engineering, A practitioner’s Approach- Roger S. Pressman, 6th edition, Mc Graw Hill
International Edition.
2. Software Engineering- Sommerville, 7th edition, Pearson Education.
3. The unified modeling language user guide Grady Booch, James Rambaugh, Ivar Jacobson,
Pearson Education.
REFERENCE BOOKS:
1. Software Engineering, an Engineering approach- James F. Peters, Witold Pedrycz, John Wiley.
2. Software Engineering principles and practice- Waman S Jawadekar, The Mc Graw-Hill
Companies.
3. Fundamentals of object-oriented design using UML Meiler page-Jones: Pearson Education.
67
Course Objectives
1. The objective of the course is to equip the students with a general overview of the concepts
and fundamentals of computer networks.
2. Familiarize the students with the standard models for the layered approach to communication
between machines in a network and the protocols of the various layers.
Course Outcomes
1. Gain the knowledge of the basic computer network technology.
2. Gain the knowledge of the functions of each layer in the OSI and TCP/IP reference model.
3. Obtain the skills of subnetting and routing mechanisms.
4. Familiarity with the essential protocols of computer networks, and how they can be applied in
network design and implementation.
UNIT - I
Network hardware, Network software, OSI, TCP/IP Reference models, Example Networks: ARPANET,
Internet.
Physical Layer: Guided Transmission media: twisted pairs, coaxial cable, fiber optics, Wireless
transmission.
UNIT - II
Data link layer: Design issues, framing, Error detection and correction.
Elementary data link protocols: simplex protocol, A simplex stop and wait protocol for an error-free
channel, A simplex stop and wait protocol for noisy channel.
Sliding Window protocols: A one-bit sliding window protocol, A protocol using Go-Back-N, A protocol
using Selective Repeat, Example data link protocols.
Medium Access sub layer: The channel allocation problem, Multiple access protocols: ALOHA, Carrier
sense multiple access protocols, collision free protocols. Wireless LANs, Data link layer switching.
UNIT - III
Network Layer: Design issues, Routing algorithms: shortest path routing, Flooding, Hierarchical routing,
Broadcast, Multicast, distance vector routing, Congestion Control Algorithms, Quality of Service,
Internetworking, The Network layer in the internet.
UNIT - IV
Transport Layer: Transport Services, Elements of Transport protocols, Connection management, TCP
and UDP protocols.
UNIT - V
Application Layer –Domain name system, SNMP, Electronic Mail; the World WEB, HTTP, Streaming
audio and video.
TEXT BOOK:
1. Computer Networks -- Andrew S Tanenbaum, David. j. Wetherall, 5th Edition. Pearson
Education/PHI
68
REFERENCE BOOKS:
1. An Engineering Approach to Computer Networks-S. Keshav, 2nd Edition, Pearson Education
2. Data Communications and Networking – Behrouz A. Forouzan. Third Edition TMH.
69
Course Outcomes
1. gain knowledge of client-side scripting, validation of forms and AJAX programming
2. understand server-side scripting with PHP language
3. understand what is XML and how to parse and use XML Data with Java
4. To introduce Server-side programming with Java Servlets and JSP
UNIT- I
Introduction to PHP: Declaring variables, data types, arrays, strings, operators, expressions, control
structures, functions, Reading data from web form controls like text boxes, radio buttons, lists etc.,
Handling File Uploads. Connecting to database (MySQL as reference), executing simple queries,
handling results, Handling sessions and cookies
File Handling in PHP: File operations like opening, closing, reading, writing, appending, deleting etc.
on text and binary files, listing directories.
UNIT- II
HTML Common tags- List, Tables, images, forms, Frames; Cascading Style sheets;
XML: Introduction to XML, Defining XML tags, their attributes and values, Document Type Definition,
XML Schemes, Document Object Model, XHTML Parsing XML Data – DOM and SAX Parsers in java.
UNIT - III
Introduction to Servlets: Common Gateway Interface (CGt), Life cycle of a Servlet, deploying a
servlet, The Servlet API, Reading Servlet parameters, Reading Initialization parameters, Handling Http
Request & Responses, Using Cookies and Sessions, connecting to a database using JDBC.
UNIT - IV
Introduction to JSP: The Anatomy of a JSP Page, JSP Processing, Declarations, Directives,
Expressions, Code Snippets, implicit objects, Using Beans in JSP Pages, Using Cookies and session
for session tracking, connecting to database in JSP.
UNIT - V
Client-side Scripting: Introduction to Javascript, Javascript language – declaring variables, scope of
variables, functions. event handlers (onclick, onsubmit etc.), Document Object Model, Form validation.
TEXT BOOKS:
1. Web Technologies, Uttam K Roy, Oxford University Press
2. The Complete Reference PHP — Steven Holzner, Tata McGraw-Hill
REFERENCE BOOKS
1. Web Programming, building internet applications, Chris Bates 2″ edition, Wiley Dreamtech
2. Java Server Pages —Hans Bergsten, SPD O’Reilly,
3. Java Script, D.Flanagan
4. Beginning Web Programming-Jon Duckett WROX.
70
71
Course Objectives
Introduce important paradigms of programming languages
To provide conceptual understanding of high-level language design and implementation
Topics include programming paradigms; syntax and semantics; data types, expressions and
statements; subprograms and blocks; abstract data types; concurrency; functional and logic
programming languages; and scripting languages
Course Outcomes
Acquire the skills for expressing syntax and semantics in formal notation
Identify and apply a suitable programming paradigm for a given computing application
Gain knowledge of and able to compare the features of various programming languages
UNIT - I
Preliminary Concepts: Reasons for Studying Concepts of Programming Languages, Programming
Domains, Language Evaluation Criteria, Influences on Language Design, Language Categories,
Language Design Trade-Offs, Implementation Methods, Programming Environments
Syntax and Semantics: General Problem of Describing Syntax and Semantics, Formal Methods of
Describing Syntax, Attribute Grammars, Describing the Meanings of Programs
UNIT - II
Names, Bindings, and Scopes: Introduction, Names, Variables, Concept of Binding, Scope, Scope
and Lifetime, Referencing Environments, Named Constants
Data Types: Introduction, Primitive Data Types, Character String Types, User Defined Ordinal Types,
Array, Associative Arrays, Record, Union, Tuple Types, List Types, Pointer and Reference Types, Type
Checking, Strong Typing, Type Equivalence
Expressions and Statements: Arithmetic Expressions, Overloaded Operators, Type Conversions,
Relational and Boolean Expressions, Short Circuit Evaluation, Assignment Statements, Mixed-Mode
Assignment
Control Structures – Introduction, Selection Statements, Iterative Statements, Unconditional
Branching, Guarded Commands.
UNIT - III
Subprograms and Blocks: Fundamentals of Sub-Programs, Design Issues for Subprograms, Local
Referencing Environments, Parameter Passing Methods, Parameters that Are Subprograms, Calling
Subprograms Indirectly, Overloaded Subprograms, Generic Subprograms, Design Issues for
Functions, User Defined Overloaded Operators, Closures, Coroutines
Implementing Subprograms: General Semantics of Calls and Returns, Implementing Simple
Subprograms, Implementing Subprograms with Stack-Dynamic Local Variables, Nested Subprograms,
Blocks, Implementing Dynamic Scoping
Abstract Data Types: The Concept of Abstraction, Introductions to Data Abstraction, Design Issues,
Language Examples, Parameterized ADT, Encapsulation Constructs, Naming Encapsulations
80
UNIT - IV
Concurrency: Introduction, Introduction to Subprogram Level Concurrency, Semaphores, Monitors,
Message Passing, Java Threads, Concurrency in Function Languages, Statement Level Concurrency.
Exception Handling and Event Handling: Introduction, Exception Handling in Ada, C++, Java,
Introduction to Event Handling, Event Handling with Java and C#.
UNIT - V
Functional Programming Languages: Introduction, Mathematical Functions, Fundamentals of
Functional Programming Language, LISP, Support for Functional Programming in Primarily Imperative
Languages, Comparison of Functional and Imperative Languages
Logic Programming Language: Introduction, an Overview of Logic Programming, Basic Elements of
Prolog, Applications of Logic Programming.
Scripting Language: Pragmatics, Key Concepts, Case Study: Python – Values and Types, Variables,
Storage and Control, Bindings and Scope, Procedural Abstraction, Data Abstraction, Separate
Compilation, Module Library. (Text Book 2)
TEXT BOOKS:
1. Concepts of Programming Languages Robert. W. Sebesta 10/E, Pearson Education.
2. Programming Language Design Concepts, D. A. Watt, Wiley Dreamtech, 2007.
REFERENCE BOOKS:
1. Programming Languages, 2nd Edition, A.B. Tucker, R. E. Noonan, TMH.
2. Programming Languages, K. C. Louden, 2nd Edition, Thomson, 2003
81
Course Objectives:
The purpose of the course is to enrich the previous knowledge of database systems and
exposing the need for distributed database technology to confront with the deficiencies of the
centralized database systems.
Introduce basic principles and implementation techniques of distributed database systems.
Equip students with principles and knowledge of parallel and object-oriented databases.
Topics include distributed DBMS architecture and design; query processing and optimization;
distributed transaction management and reliability; parallel and object database management
systems.
Course Outcomes:
Understand theoretical and practical aspects of distributed database systems.
Study and identify various issues related to the development of distributed database system.
Understand the design aspects of object-oriented database system and related development.
UNIT - I
Introduction; Distributed Data Processing, Distributed Database System, Promises of DDBSs,
Problem areas.
Distributed DBMS Architecture: Architectural Models for Distributed DBMS, DDMBS Architecture.
Distributed Database Design: Alternative Design Strategies, Distribution Design issues,
Fragmentation, Allocation.
UNIT - II
Query processing and decomposition: Query processing objectives, characterization of query
processors, layers of query processing, query decomposition, localization of distributed data.
Distributed query Optimization: Query optimization, centralized query optimization, distributed query
optimization algorithms.
UNIT - III
Transaction Management: Definition, properties of transaction, types of transactions, distributed
concurrency control: serializability, concurrency control mechanisms & algorithms, time - stamped &
optimistic concurrency control Algorithms, deadlock Management.
UNIT - IV
Distributed DBMS Reliability: Reliability concepts and measures, fault-tolerance in distributed
systems, failures in Distributed DBMS, local & distributed reliability protocols, site failures and network
partitioning.
Parallel Database Systems: Parallel database system architectures, parallel data placement, parallel
query processing, load balancing, database clusters.
UNIT - V
Distributed object Database Management Systems: Fundamental object concepts and models,
object distributed design, architectural issues, object management, distributed object storage, object
query Processing.
88
Object Oriented Data Model: Inheritance, object identity, persistent programming languages,
persistence of objects, comparison OODBMS and ORDBMS
TEXT BOOKS:
1. M. Tamer OZSU and Patuck Valduriez: Principles of Distributed Database Systems, Pearson
Edn. Asia, 2001.
2. Stefano Ceri and Giuseppe Pelagatti: Distributed Databases, McGraw Hill.
REFERENCE BOOK:
1. Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: “Database Systems: The Complete
Book”, Second Edition, Pearson International Edition
89