UGIT5T01 COMPILER DESIGN - Welcome to SVECW · UGIT5T01 COMPILER DESIGN ... contiguous memory...

31

Transcript of UGIT5T01 COMPILER DESIGN - Welcome to SVECW · UGIT5T01 COMPILER DESIGN ... contiguous memory...

UGIT5T01 COMPILER DESIGN

Regulations: R14 Theory: 3 + 2 hrs

Year / Semester: III /I Credits: 4

Course Objective:

• Recognize the underlying formal models such as finite state automata, push-down automata and

their connection to language definition through regular expressions and grammars.

• Discuss the effectiveness of optimization.

• Describe the steps and algorithms used by language translators.

• Explain the impact of a separate compilation facility and the existence of program libraries on the

compilation process.

Course Outcomes:

Upon successful completion of this course, learner will be able to:

CO 1 Understand the application of finite automata and regular expressions in Lexical analysis

CO 2 Understand the concept of context free grammar and their application in parsing

CO 3 Design top down and bottom up parsers

CO 4 Develop syntax directed translation schemes and semantic analysis

CO 5 Study various storage allocation schemes

CO 6 Study various code optimization techniques

CO 7 Develop algorithms to generate code for a target machine

UNIT I:

Overview of language processing – pre-processors – compiler – assembler – interpreters, pre-

processors, – linkers & loaders - structure of a compiler – phases of a compiler (TEXT BOOK 2). Lexical

Analysis – Role of Lexical Analysis – Lexical Analysis Vs. Parsing – Token, patterns and Lexemes – Lexical

Errors – Regular Expressions – Regular definitions for the language constructs – Strings, Sequences,

Comments – Transition diagram for recognition of tokens, Reserved words and identifiers, Examples.

UNIT II:

Syntax Analysis – discussion on CFG, LMD,RMD, parse trees, Role of a parser – classification of parsing

techniques – Brute force approach, left recursion, left factoring, Top down parsing – First and Follow-

LL(1) Grammars, Non-Recursive predictive parsing – Error recovery in predictive parsing.

UNIT III:

What is bottom up parsing approach, Types of Bottom up approaches; Introduction to simple LR – Why

LR Parsers – Model of an LR Parsers – Operator Precedence- Shift Reduce Parsing – Difference between

LR and LL Parsers, Construction of SLR Tables.

More powerful LR parses, construction of CLR (1), LALR Parsing tables, Dangling ELSE Ambiguity, Error

recovery in LR Parsing. Comparison of all bottoms up approaches with all top down approaches

UNIT IV:

Semantic analysis, SDT Schemes, evaluation of semantic rules. Intermediate code, three address code,

quadruples, triples, abstract syntax trees. Types and declarations, type Checking.

UNIT V:

Symbol tables: use and need of symbol tables. Runtime Environment: storage organization, stack

allocation, access to non-local data, heap management, parameter passing mechanisms, introduction to

garbage collection. Reference counting garbage collectors.

Code generation: Issues, target language, Basic blocks & flow graphs, Simple code generator, Peephole

optimization, Register allocation and assignment.

UNIT VI:

Machine independent code optimization – semantic preserving transformations, global common sub

expression elimination, copy propagation, dead code elimination, constant folding, strength reduction,

loop optimization. Instruction scheduling, inter procedural optimization.

TEXT BOOKS:

1. Compilers, Principles Techniques and Tools- Alfred V Aho, Monica S Lam, Ravi Sethi, Jeffrey D.

Ullman,2nd ed, Pearson,2007.

2. Compiler construction, Principles and Practice, Kenneth C Louden, CENGAGE

REFERENCE BOOKS:

1. Compiler Design, K. Muneeswaran, Oxford.

2. Engineering a compiler, 2nd edition, Keith D.Cooper & Linda Torczon, Morgan Kaufman.

3. http://www.nptel.iitm.ac.in/downloads/106108052/

4. Principles of compiler design, V. Raghavan, 2nd ed, TMH, 2011.

5. Implementations of Compiler, A new approach to Compilers including the algebraic methods,

Yunlinsu, SPRINGER

UGIT5T02 COMPUTER NETWORKS

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objective:

The main objective of the course is to introduce students, the principles of computer networks and their

operation.

Course Outcomes:

After completing this course the student must demonstrate the knowledge and ability to:

CO 1 Understand basic computer network technology and physical layer functionality

CO 2 Study the Data link layer and MAC sub-layer protocols and devices

CO 3 Understand the routing and congestion control algorithms

CO 4 Study the Transport layer protocols

CO 5 Study the Application layer protocols

UNIT I:

Introduction: OSI, TCP/IP and other networks models, Examples of Networks: Novell Networks, Arpanet,

Internet, Network Topologies WAN, LAN, MAN.

Physical Layer: Transmission media copper, twisted pair, wireless, switching and encoding asynchronous

communications; Narrow band, broad band ISDN

UNIT II:

Data link layer: Design issues, framing, error detection and correction, CRC, Elementary Protocol-stop

and wait, Sliding Window, Slip, Data link layer in HDLC, Internet.

Medium Access sub layer: ALOHA, MAC addresses, Carrier sense multiple access. IEEE 802.X Standard

Ethernet, wireless LANS, Bridges

UNIT III:

Network Layer: Virtual circuit and Datagram subnets-Routing algorithm shortest path routing, Flooding,

Hierarchical routing, Broad cast, Multi cast, distance vector routing.

UNIT IV:

Dynamic routing – Broadcast routing, Rotary for mobility, Congestion, Control Algorithms – General

Principles – of Congestion prevention policies. Internetworking: The Network layer in the internet.

UNIT V:

Transport Layer: Transport Services, Connection management, The Internet transport protocols: UDP

and TCP and SCTP protocols.

UNIT VI:

Application Layer – Network Security, File Transfer Protocol, Hyper Text Transfer Protocol, Domain name

system, Electronic Mail (SMTP, POP3, IMAP), the World Wide Web.

TEXT BOOKS:

1. Computer Networks — Andrew S Tanenbaum, 4th Edition. Pearson Education/PHI

2. Data Communications and Networking – Behrouz A. Forouzan.Third Edition TMH.

3. “Computer Networking: A Topdown Approach Featuring”- James .F. Kurouse & W. Rouse, 3/e,

Pearson Education.

REFERENCES:

1. "Computer Networks, A Systems Approach"- Peterson & Davie,, 3rd ed, Harcourt, 2005

2. An Engineering Approach to Computer Networks-S.Keshav, 2nd Edition, Pearson Education

3. “Data and Computer Communication”- William Stallings,, Eighth Edition, Pearson

Education, 2000.

UGIT5T03 OPERATING SYSTEMS

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objective:

Provide a comprehensive introduction to understand the underlying principles, techniques and

approaches which constitute a coherent body of knowledge in operating systems.

Course Outcomes:

CO 1 Understand functional architecture of an operating system

CO 2 Master various process management concepts including scheduling, synchronization and

deadlocks

CO 3 Understand the concepts of physical and virtual memory

CO 4 Master the issues related to file system interface and disk management

UNIT I:

Computer System and Operating System Overview: Overview of computer operating systems,

operating systems functions, protection and security, distributed systems, special purpose systems,

operating systems structures and systems calls, operating systems generation.

UNIT II:

Process Management – Process concept- process scheduling, operations, Inter process communication.

Multi Thread programming models. Process scheduling criteria and algorithms, and their evaluation.

UNIT III:

Process synchronization, the critical- section problem, Peterson’s Solution, synchronization Hardware,

semaphores, classic problems of synchronization, monitors, Synchronization examples

UNIT IV:

Principles of deadlock – system model, deadlock characterization, deadlock prevention, detection and

avoidance, recovery form deadlock,

UNIT V:

Memory Management : Swapping, contiguous memory allocation, paging, structure of the page table,

segmentation, Virtual memory, demand paging, page-Replacement, algorithms, Allocation of Frames,

Thrashing

UNIT VI:

File system and Mass-storage - The concept of a file, Access Methods, Directory structure, File system

mounting, file sharing, protection. File System implementation- File system structure, file system

implementation, directory implementation, allocation methods, free-space management. Overview of

Mass-storage structure, disk scheduling, swap-space management

TEXT BOOKS:

1. Operating System Concepts- Abraham Silberchatz, Peter B. Galvin, Greg Gagne 7th Edition, John

Wiley.

2. Operating Systems’ – Internal and Design Principles Stallings, Sixth Edition–2005, Pearson

education

REFERENCES:

1. http://nptel.iitm.ac.in/courses/Webcourse-contents/IISc-

BANG/Operating%20Systems/New_index1.html

2. Operating systems- A Concept based Approach-D.M.Dhamdhere, 2nd Edition, TMH

3. Operating System A Design Approach-Crowley, TMH.

4. Modern Operating Systems, Andrew S Tanenbaum 3rd edition PHI.

UGIT5T04 WEB TECHNOLOGIES

Regulations: R14 Theory: 3 + 2 hrs

Year / Semester: III /I Credits: 4

Course Objective:

The main intent of this course is to enable students to program for the World Wide Web using emerging

technologies. By studying this course, the students can design and develop simple database driven web

applications using a server-side scripting language.

Course Outcomes:

Upon successful completion of the course, the students would be able to

CO 1 Understand current and evolving Web languages for integrating media and user interaction

in both front end and back end elements of a Web site

CO 2 Create static web pages using HTML and CSS

CO 3 Validate HTML FORM data using JavaScript at the client side.

CO 4 Create dynamic web pages using PHP and MySQL and NodeJS

CO 5 To build XML applications with schema and style sheets that span multiple domains for use

with legacy browsers

CO 6 Install and use a AJAX toolkit similar to JQuery when creating AJAX applications

UNIT I:

History of the Internet and World Wide Web – HTML 4 protocols – HTTP, SMTP, POP3, MIME,IMAP.

HTML Common tags- List, Tables, images, forms, Frames, Links and Navigation, Image Maps

UNIT II:

CSS: Introduction, CSS Properties, Controlling Fonts, Text Formatting, Pseudo classes, Selectors, CSS for

Links, Lists, Tables.

UNIT III:

Learning Java script: Variables, operators, Functions, Control structures, Events , Objects.

UNIT IV:

XML: XML DTD, XML Schema, Parsing XML, XSLT.

Introduction to NodeJS: Architecture and Application Development.

UNIT V:

PHP Programming: Introducing PHP, Creating PHP script, Running PHP script.

Working with Variables and constants: Using variables, Using constants, Data types, Operators.

Controlling program flow: Conditional statements, Control statements, Arrays, functions. Working with

forms and Database using MySql.

UNIT VI:

AJAX: Overview of AJAX , Implementing AJAX Framework, Integrating PHP and AJAX, Working with

jQuery

TEXT BOOKS:

1. HTML5 Black Book: Covers Css3, Javascript, Xml, Xhtml, Ajax, Php And Jquery by Kogent Learning

Solutions Inc., Dreamtech Press

2. Web Technologies, Uttam Roy, OXFORD University press

3. Web programming with HTML, XHTML and CSS, 2e, Jon Duckett, Wiley India

REFERENCE BOOKS:

1. Web programming Bai, Michael Ekedahl, CENAGE Learning , India edition.

2. An Introduction to Web Design + Programming, Paul S.Wang, India Edition

3. PHP5 and MySQL Bible Tim Converse and Joyce Park with Clark Morgan, Wiley Publishing

4. http://www.tutorialspoint.com/nodejs/

5. https://nodejs.org/

UGIT5T05 ADVANCED COMPUTER ARCHITECTURE

(Elective - 1)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objectives

The student will learn the design aspects of Computer and Processor design, pipelining, superscalar, out-

of-order execution, memory hierarchies, virtual memory, storage systems, and simulation technique

Course Outcomes

CO 1 Understand computer architecture and Parallel Computer Models

CO 2 Understand the performance issues in parallel processing

CO 3 Understand the Memory hierarchy

CO 4 Understand the data flow architecture

CO 5 Understand parallel systems

UNIT I:

Parallel Computer Models: The state of computing-Multiprocessors and Multi computers- Multivector

and SIMD Computers, Evolution of Computer Architecture, System Attributes to performance,

Architectural Development tracks. Program and Networks Properties: Conditions of Parallelism, Program

Partitioning and Scheduling, Program Flow Mechanisms, System Interconnect Architectures.

UNIT II:

Principles of Scalable Performance: Performance Metrics and Measures, Parallel Processing

Applications, Speedup Performance Laws, Scalability Analysis and Approaches. Processors and Memory

Hierarchy: Advanced Processor Technology, Superscalar and Vector Processors.

UNIT III:

Memory Hierarchy Technology: Bus Systems, Cache Memory Organizations, Shared-Memory

Organizations. Pipelining and Super Scalar Techniques: Linear Pipeline Processors, Nonlinear Pipeline

Processors, Instruction Pipeline Design, Arithmetic Pipeline Design.

UNIT IV:

Multiprocessors and Multicomputer: Multiprocessor System Interconnects Cache Coherence and

Synchronization Mechanisms, Three Generations of Multicomputer, Message-Passing Mechanisms.

Multivector and SIMD Computers: Vector Processing Principles, Multivector MultiProcessors, Compound

Vector Processing, SIMD Computer Organizations, the Connection Machine CM-5

UNIT V:

Scalable, Multithreaded, and Dataflow Architectures: Latency, Hiding Techniques, Principles of

Multithreading, Fine-Grain Multicomputer, Scalable and Multithreaded Architectures, Dataflow and

Hybrid Architectures.

UNIT VI:

Instruction Level Parallelism: Introduction, Basic Design Issues, Problem Definition, Model of a Typical

Processor, Operand Forwarding, Reorder Buffer, Register Renaming-Tomasulo‘s Algorithm, Branch

Prediction, Limitations in Exploiting Instruction Level Parallelism, Thread Level Parallelism and Trends in

Parallel Systems.

TEXT BOOKS:

1. Advanced Computer Architecture- by Kai Hwang and Jotwani,Second Edition, McGraw-Hill

Publications.

2. Computer Architecture, Concepts and Evolutions, Garrit A Blaauw, PEA.

REFERENCES:

1. Advanced Computer Architecture, D.Sima, T.Fountain, P.Kacsuk,Pearson Education.

2. Computer Architecture A quantitative approach Third Edition John L.Hennessy and David A.

Patterson, Morgan Kufmann (An Imprintof Elsevier).

3. Computer Architecture and Parallel Processing by Hwang and Briggs.

4. http://www.google.co.in/search?q=nptel+computer+architecture&hl=en&sa=X&gbv=2&prmd=ivns

&source=univ&tbm=vid&tbo=u&ei=n-leT-

quOcvjrAej1e2MBg&oi=video_result_group&ct=title&resnum=6&ved=0CCcQqwQwBQ&gs_sm=12

&gs_upl=31219l31219l0l32141l1l1l0l0l0l0l203l203l2-1l1l0&oq=NPTEL+Comp&aq=6&aqi=g10&aql=

UGIT5T06 ADVANCED DATA STRUCTURES

(Elective - 1)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objective:

To give the students a thorough understanding of advanced data structures concepts like balanced

search trees, hash tables, priority queues, text processing and file structures, such that later the

students will be able to use them when approaching complex problem solving and programming.

Course Outcomes:

CO 1 Understand the implementation of Dictionaries using hashing and Skip Lists

CO 2 Develop and analyze algorithms for AVL and 2-3 trees

CO 3 Understand the implementation of priority queues and binomial queues

CO 4 Apply graph algorithms for shortest path calculation.

CO 5 Analyze sorting algorithms.

CO 6 Understand the File Structures concept and develop algorithms for text processing

applications

UNIT I:

Priority Queues – Definition, Realizing a Priority Queue using Heaps, Definition, insertion, Deletion,

Binomial Queues.

UNIT II:

Dictionaries, linear list representation, skip list representation, operations insertion, deletion and

searching, hash table representation, hash functions, collision resolution-separate chaining, open

addressing-linear probing, quadratic probing, double hashing, rehashing, extendible hashing,

comparison of hashing and skip lists.

UNIT III:

Search Trees (Part1):

AVL Trees, Definition, Height of an AVL Tree, Operations – Insertion, Deletion and Searching, Splay Trees

UNIT IV:

Search trees (Part II): Introduction to Red –Black, B-Trees, B-Tree of order m, height of a B-Tree,

insertion, deletion and searching, Comparison of Search Trees

UNIT V:

Pattern matching and Tries: Pattern matching algorithms-Brute force, the Boyer –Moore algorithm, the

Knuth-Morris-Pratt algorithm, Standard Tries, Compressed Tries, Suffix tries.

UNIT VI:

File Structures: Fundamental File Processing Operations-opening files, closing files, Reading and Writing

file contents, Special characters in files. Fundamental File Structure Concepts- Field and record

organization, Managing fixed-length, fixed-field buffers. (Reference3)

TEXT BOOKS:

1. Data structures, Algorithms and Applications in C++, S.Sahni, University Press (India) Pvt Ltd, 2nd

edition, Universities Press Orient Longman Pvt. Ltd.

2. Data structures and Algorithms in C++, Michael T.Goodrich, R.Tamassia and .Mount, Wiley

student edition, John Wiley and Sons.

3. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson Education. Ltd., Second

Edition.

REFERENCES BOOKS:

1. Data structures and algorithms in C++, 3rd Edition, Adam Drozdek, Thomson

2. Data structures using C and C++, Langsam, Augenstein and Tanenbaum, PHI.

3. File Structures :An Object oriented approach with C++, 3rd ed, Michel J Folk, Greg Riccardi, Bill

Zoellick

UGIT5T07 MICROPROCESSORS AND MICROCONTROLLERS

(Elective - 1)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objectives:

To provide an insight on microcontrollers and microprocessors, assembly language programming

techniques and design considerations of microcontroller and microprocessor system

Course Outcomes:

CO 1 Understanding the microprocessor and microcontroller architecture.

CO 2 Develop assembly language programs

CO 3 Understand peripheral device interfacing and their applications

CO 4 Study of interrupt mechanism and AVR architecture

UNIT I:

8086 Architecture:

Introduction to 8085 Microprocessor, 8086 Architecture-Functional diagram. Register Organization,

Memory Segmentation. Programming Mode!. Memory addresses. Physical memory organization.

Architecture of 8086, signal descriptions of 8086- common function signals. Minimum and Maximum

mode signals. Timing diagrams. Interrupts of 8086.

UNIT II:

Instruction Set and Assembly Language Programming of 8086:

Instruction formats, addressing modes, instruction set, assembler directives, macros, simple programs

involving logical, branch and call instructions, sorting, evaluating arithmetic expressions, string

manipulations.

UNIT III:

I/O Interface:

8255 PPI various modes of operation and interfacing to 8086. Interfacing keyboard, display, stepper

motor interfacing, D/A and A/D converter.

Interfacing with advanced devices: Memory interfacing to 8086, Interrupt structure of 8086, Vector

interrupt table, Interrupt service routine.

UNIT IV:

Communication Interface:

Serial communication standards, Serial data transfer schemes. 8251 USART architecture and interfacing.

RS- 232.

UNIT V:

Introduction to Microcontrollers:

Overview of 8051 microcontroller, Architecture, I/O Ports, Memory organization, addressing modes and

instruction set of 8051, simple program

UNIT VI:

8051 Real Time Control:

Interrupts, timer/ Counter and serial communication, programming Timer Interrupts, programming

external hardware interrupts, programming the serial communication interrupts. The AVR RISC

microcontroller architecture: Introduction, AVR Family architecture, Register File, The ALU, Memory

access and Instruction execution.

TEXT BOOKS:

1. D. V. Hall. Micro processors and Interfacing, TMGH. 2'1 edition 2006.

2. Kenneth. J. Ayala. The 8051 microcontroller, 3rd edition, Cengage learning, 2010

REFERENCE BOOKS:

1. Advanced Microprocessors and Peripherals - A. K. Ray and K.M. Bhurchandani, TMH, 2nd edition

2006.

2. The 8051 Microcontrollers, Architecture and programming and Applications -K.Uma Rao, Andhe

Pallavi, Pearson, 2009.

3. Micro Computer System 8086/8088 Family Architecture. Programming and Design - By Liu and

GA Gibson, PHI, 2nd Ed.,

4. Microcontrollers and application, Ajay. V. Deshmukh, TMGH. 2005

UGIT5T08 ADVANCED DATABASES

(Elective - 2)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objectives:

After completion of the course the student is familiar with the following aspects.

1. Understand the difference between centralized and distributed databases.

2. Know the concepts of distributed transaction management.

3. Know the Object oriented databases.

4. Know the Object-Relational databases.

Course Outcomes:

CO 1 Develop various fragments for the given data

CO 2 Understand the Design of Distributed Databases

CO 3 Understand the Distributed transaction processing system

CO 4 Understand the Object oriented databases and Object oriented relational databases

UNIT I:

Introduction Features of Distributed databases, Features of Centralized databases, Level of Distributed

Transparency, Reference Architecture, Types of Data Fragmentation, Distribution Transparency, access

primitives, integrity constraints

UNIT II:

Distributed Database Design A framework for Distributed Database Design, Design of Database

Fragmentation, Allocation of fragments

UNIT III:

Global Queries, fragment Queries, Equivalence Transformations for Queries, transforming Global

Queries into Fragment Queries, Distributed Grouping and Aggregate Function Evaluation, Parameter

Queries

UNIT IV:

Management of Distributed Transactions Framework for Transaction Management, Atomicity of

Distributed Transactions.

UNIT V:

The Object Oriented Databases Object Oriented Databases – What and Why? ; the Object Oriented

Database Management Systems; Evolution of Object Oriented Concepts; Characteristics of an Object

Oriented Data Model; Object Schema; Inter-object Relationships; Late and Early Binding; Similarities and

differences between object Oriented Database Models and other Data models.

UNIT VI:

Object and object-Relational databases: Object relational extensions-the ODMG Object model and

object definition language(ODL)-Object database conceptual design – The Object Query language –

overview of C++ binding in the ODMG Standard.

TEXT BOOKS:

1. Ceri. S. Pelagatti G, “Distributed Databases: Principles and Systems”, 1985, MCG

2. Ozsu, “Principles of Distributed Database Systems”, 1e, 2002, PEA.

Reference Books:

1. Distributed Database Systems, Chhanda Ray, Pearson.

2. Distributed Database Management Systems, S.K. Rahimi and F.S. Haug, Wiley

UGIT5T09 OBJECT ORIENTED SOFTWARE ENGINEERING

(Elective - 2)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objective:

To give knowledge on software development using object oriented methodologies

Course Outcomes:

CO 1 Understand the concept of OO paradigm, models and maintenance aspects

CO 2 Develop an awareness on cost, quality, and management issues involved in software

Construction

CO 3 Understand the OO requirements specifications and analysis

CO 4 Learn the High level and low level Design aspects of Object oriented system including data

design object design and related design concepts

CO 5 Acquire knowledge on computer aided software engineering tools to produce high quality

software

CO 6 Develop an awareness on implementation ,integration and maintenance

UNIT I:

Introduction to Classical Software Engineering:

Historical, Economic and Maintenance aspects, Introduction to OO Paradigm, Different phases in

Structured Paradigm and OO Paradigm, Software Process and different life cycle models and

corresponding strengths and weaknesses.

UNIT II:

Planning and estimation:

Estimation of Duration and cost, COCOMO components of software, Project Management plan, one case

study.

UNIT III:

Analysis and Requirement Specification

Use case Modeling; class Modeling, Dynamic Modeling, Testing during OO Analysis, Rapid Prototyping

method, specification phase, specification Document, Formal Methods of developing specification

document.

UNIT IV:

Design

Data Oriented Design, Object Oriented design, Formal techniques for detailed design. One case study

cohesion and coupling of objects, Reusability, Portability and Interoperability aspects.

UNIT V:

Tools for step wised refinement:

Cost-Benefit analysis, Introduction to software metrics and CASE tools, Taxonomy and scope of CASE

tools, Introduction to testing, with focus on Utility, Reliability, Robustness, Performance, Correctness.

UNIT VI:

IIM Phases:

Implementation, Integration and maintenance phases, OOSE aspects in these phases

TEXT BOOKS:

1. Object oriented and Classical Software Engineering, 7/e, Stephen R.Schach,TMH

2. Object oriented and Classical Software Engineering, Timothy Lethbridge, Robert Laganiere, TMH

REFERENCE BOOKS:

1. Component-Based Software Engineering: 7th international symposium, CBSE 2004, Ivica

Crnkovic, Springer.

UGIT5T10 SOFTWARE TESTING METHODOLOGIES

(Elective - 2)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: 3

Course Objectives

This course demonstrates the tools and technologies for software testing. This course will help the

students to do better programming and test the programs efficiently.

Course Outcomes

CO 1 Ability to apply software testing knowledge and engineering methods.

CO 2 Mater the verification & validation and various testing techniques.

CO 3 Study of efficient test suite Management and software quality

CO 4 Understand basic test management tools and debugging

CO 5 Ability to identify the needs of software test automation, and define and develop a test tool

to support test automation.

CO 6 Have an ability to use software testing methods for object oriented and web based projects

UNIT I:

Software Testing: Introduction, Evolution, Myths & Facts, Goals, Psychology, Definition, Model for

testing, Effective Vs Exhaustive Software Testing.

Software Testing Terminology and Methodology: Software Testing Terminology, Software Testing Life

Cycle, relating test life cycle to development life cycle, Software Testing Methodology.

UNIT II:

Verification and Validation: Verification & Validation Activities, Verification, Verification of

Requirements, High level and low level designs, How to verify code, Validation

Dynamic Testing I: Black Box testing techniques: Boundary Value Analysis, Equivalence class Testing,

State Table based testing, Decision table based testing, Cause-Effect Graphing based testing, Error

guessing

UNIT III:

Dynamic Testing II: White-Box Testing: need, Logic coverage criteria, Basis path testing, Graph matrices,

Loop testing, data flow testing, mutation testing

Static Testing: inspections, Structured Walkthroughs, Technical reviews

UNIT IV:

Validation activities: Unit testing, Integration Testing,. Function testing, system testing, acceptance

testing

Regression testing: Progressives Vs regressive testing, Regression testability, Objectives of regression

testing, When regression testing done?, Regression testing types, Regression testing techniques

UNIT V:

Efficient Test Suite Management: Test case deisgn, why does a test suite grow, minimizing the test

suite and its benefits, test suite prioritization, Types of test case prioritization, prioritization techniques,

measuring the effectiveness of a prioritized test suite

Software Quality Management: Software Quality metrics, SQA models

Debugging: process, techniques, correcting bugs, Basics of testing management tools, test link and Jira

UNIT VI:

Automation and Testing Tools: need for automation, categorization of testing tools, selection of testing

tools, Cost incurred, Guidelines for automated testing, overview of some commercial testing tools.

Testing Object Oriented Software: basics, Object oriented testing

Testing Web based Systems: Challenges in testing for web based software, quality aspects, web

engineering, testing of web based systems, Testing mobile systems

TEXT BOOKS:

1. Software Testing, Principles and Practices, Naresh Chauhan, Oxford

2. Foundations of Software testing, Aditya P Mathur, 2ed, Pearson

3. Software Testing- Yogesh Singh, CAMBRIDGE

REFERENCE BOOKS:

1. Software testing techniques - Baris Beizer, International Thomson computer press, second

edition.

2. Software Testing, Principles, techniques and Tools, M G Limaye, TMH

3. Effective Methods for Software testing, Willian E Perry, 3ed, Wiley

UGIT5P11 COMPUTER NETWORKS LAB

Regulations: R14 Lab: 3 hrs

Year / Semester: III /I Credits: 1

1. Simulate the Cyclic Redundancy Check(CRC) algorithm

2. Study of different types of Network cables and practically implement the Straight

through cable using crimping tool

3. Study of basic network commands: ipconfig, hostname, ping, tracert, netstat etc..

4. Study of Network IP and its configuration

5. Connect two PCs using peer to peer communication through cross-wired cable

6. Study of Network Devices in Detail

7. Configure a Network topology using packet tracer software.

8. Configure Network using Link State Vector Routing protocol

9. Configure wireless network

10. Study the TCP and IP headers using wireshark

UGIT5P12 WEB TECHNOLOGIES LAB

Regulations: R14 Lab: 3 hrs

Year / Semester: III /I Credits: 1

Week-1:

Design the following static web pages required for an online book store web site.

1) HOME PAGE: The static home page must contain three frames.

Top frame: Logo and the college name and links to Home page, Login page, Registration page, catalogue

page and Cart page (the description of these pages will be given below).

Left frame: At least four links for navigation, which will display the catalogue of respective links. For e.g.:

When you click the link “IT” the catalogue for IT Books should be displayed in the Right frame.

Right frame: The pages to the links in the left frame must be loaded here. Initially this page contains

description of the web site.

Logo

Web Site Name

Home Login Registration Catalogue Cart

CSE

ECE

EEE

CIVIL

IT

Description of the Web Site

Fig 1.1

2) LOGIN PAGE: This page looks like below:

Logo

Web Site Name

Home Login Registration Catalogue Cart

CSE

ECE

EEE

CIVIL

IT

Login :

Password:

3) CATOLOGUE PAGE:

The catalogue page should contain the details of all the books available in the web site in a table. The

details should contain the following:

1. Snap shot of Cover Page.

2. Author Name.

3. Publisher.

4. Price.

5. Add to cart button.

Logo

Web Site Name

Home Login Registration Catalogue Cart

CSE

ECE

EEE

CIVIL

IT

Book : XML Bible

Author : Winston

Publication : Wiely

$ 40.5

Book : AI

Author : S.Russel

Publication :

Princeton hall

$ 63

Book : Java 2

Author : Watson

Publication : BPB

publications

$ 35.5

Book : HTML in 24

hours

Author : Sam Peter

Publication : Sam

publication

$ 50

Reset Submit

Note: Week 2 contains the remaining pages and their description.

Week-2:

4) CART PAGE:

The cart page contains the details about the books which are added to the cart. The cart page should

look like this:

Logo

Web Site Name

Home Login Registration Catalogue Cart

CSE

ECE

EEE

CIVIL

IT

Book name Price Quantity Amount

Java 2 $35.5 2 $70

XML bible $40.5 1 $40.5

Total amount - $130.5

5) REGISTRATION PAGE:

Create a “registration form “with the following fields

1) Name (Text field)

2) Password (password field)

3) E-mail id (text field)

4) Phone number (text field)

5) Sex (radio button)

6) Date of birth (3 select boxes)

7) Languages known (check boxes – English, Telugu, Hindi, Tamil)

8) Address (text area)

WEEK 3:

VALIDATION:Write JavaScript to validate the following fields of the above registration page.

1. Name (Name should contains alphabets and the length should not be less than 6

characters).

2. Password (Password should not be less than 6 characters length).

3. E-mail id (should not contain any invalid and must follow the standard pattern

[email protected])

4. Phone number (Phone number should contain 10 digits only).

Week-4:

Design a web page using CSS (Cascading Style Sheets) which includes the following:

1) Use different font, styles: In the style definition you define how each selector should work (font, color

etc.).Then in the body of your pages, you refer to these selectors to activate the styles.

2) Set a background image for both the page and single elements on the page.

3) Control the repetition of the image with the background-repeat property. As background-repeat:

repeat

Tiles the image until the entire page is filled, just like an ordinary background image in plain HTML.

4) Define styles for links as

A:link

A:visited

A:active

A:hover

5) Work with layers:

For example:

LAYER 1 ON TOP:

<div style="position:relative; font-size:50px; z-index:2;">LAYER 1</div>

<div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-

index:1">LAYER 2</div>

LAYER 2 ON TOP:

<div style="position:relative; font-size:50px; z-index:3;">LAYER 1</div>

<div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-

index:4">LAYER 2</div>

6) Add a customized cursor: Selector {cursor:value}

Week-5:

Write an XML file which will display the Book information which includes the following:

1) Title of the book

2) Author Name

3) ISBN number

4) Publisher name

5) Edition

6) Price

Write a XML Schema to validate the above XML file.

Week-6:

1) Install XAMPP Tool for Apache and MySQL Service.

2) Deploy the above developed static web pages in Apache web server

Week-7:

1. Create a table which should contain at least the following fields: name, password, email-id,

phone number(these should hold the data from the registration form).

2. Write a PHP program to connect to that database and extract data from the tables and

display them.

Week-8:

Write a PHP application with AJAX which does the following jobs:

1. Insert the details of the 3 or 4 users who register with the web site by using registration

form.

2. Authenticate the user when he submits the login form using the user name and password

from the database.

Week-9:

Create tables in the database which contain the details of items (books in our case like Book name ,

Price, Quantity, Amount )) of each category. Modify your catalogue page (week 2) in such a way that

you should connect to the database and extract data from the tables and display them in the catalogue

page.

Week-10:

HTTP is a stateless protocol. Session is required to maintain the state. The user may add some items to

cart from the catalog page. He can check the cart page for the selected items. He may visit the catalogue

again and select some more items. Here our interest is the selected items should be added to the old

cart rather than a new cart.

Multiple users can do the same thing at a time(i.e., from different systems in the LAN using the ip-

address instead of localhost).

This can be achieved through the use of sessions. Every user will have his own session which will be

created after his successful login to the website.

When the user logs out his session should get invalidated.

Modify your catalogue and cart PHP pages to achieve the above mentioned functionality using sessions.

Week-11:

Write a nodejs application for Login and Registration web pages

UGXX5T01 IPR AND PATENTS

Regulations: R14 Theory: 2 hrs

Year / Semester: III /I Credits: 2

Unit I:

Introduction to Intellectual Property Law – The Evolutionary Past - The IPR Tool Kit- Para Legal Tasks in

Intellectual Property Law – Ethical obligations in Para Legal Tasks - Introduction to Cyber Law –

Innovations and Inventions Trade related Intellectual Property Right.

UNIT II:

Introduction to Copyrights –Principles of Copyright Principles -The subjects Matter of Copy right – The

Rights Afforded by Copyright Law – Copy right Ownership, Transfer and duration – Right to prepare

Derivative works – Rights of Distribution – Rights of Perform the work Publicity Copyright Formalities

and Registrations - Limitations - Copyright disputes and International Copyright Law – Semiconductor

Chip Protection Act

UNIT III:

Introduction to Trade mark – Trade mark Registration Process – Post registration procedures – Trade

mark maintenance - Transfer of Rights - Inter parts Proceeding – Infringement - Dilution- Ownership of

Trade mark – Likelihood of confusion - Trademarks claims – Trade marks Litigations – International

Trade mark Law

Introduction to Trade Secret – Maintaining Trade Secret – Physical Security –Employee Limitation -

Employee confidentiality agreement - Trade Secret Law - Unfair Competition – Trade Secret Litigation –

Breach of Contract – Applying State Law

UNIT IV:

Intellectual Property Law Basics – Types of Intellectual Property – Agencies responsible for Intellectual

Property Registration – Cyber crime and E-Commerce – International Aspects of Computer and Online

Crime.

UNIT V:

Introduction to Patent Law – Rights and Limitations – Rights under Patent Law –Patent requirements -

Ownership - Transfer - Patents Application Process – Patent Infringement - Patent Litigation -

International Patent Law – Double Patenting – Patent Searching – Patent Law Treaty - New

developments in Patent Law - Invention Developers and Promoters

UNIT VI:

Introduction to Transactional Law: Creating Wealth and Managing Risk – The Employment Relationship

in the Internet and Tech Sector – Contact for the Internet and Tech Sector - Business Assets in

Information Age – Symbol and Trademark – Trolls and Landmines and other Metaphors

Regulatory, Compliance and Liability Issues – State Privacy Law - Date Security – Privacy issues -

Controlling over use or misuse of Intellectual Property Rights

TEXT BOOKS:

1. Deborah E.Bouchoux: “Intellectual Property”. Cengage learning , New Delhi

2. Kompal Bansal & Parishit Bansal “Fundamentals of IPR for Engineers”, BS Publications (Press)

3. Cyber Law. Texts & Cases, South-Western’s Special Topics Collections

4. Prabhuddha Ganguli: “Intellectual Property Rights” Tata Mc-Graw –Hill, New Delhi

5. Richard Stim: “Intellectual Property”, Cengage Learning, New Delhi.

6. R.Radha Krishnan, S.Balasubramanian: “Intellectual Property Rights”, Excel Books. New Delhi

7. M.Ashok Kumar and Mohd.Iqbal Ali: “Intellectual Property Right” Serials Pub

UGBS5A01 TECHNICAL WRITING

(Audit Course)

Regulations: R14 Theory: 3 hrs

Year / Semester: III /I Credits: --

Course Objectives:

• To be able to write or speak cohesively and coherently and flawlessly avoiding grammatical

errors, using a wide range expressions, organizing the ideas logically on a topic.

• To make the students understand various formal ways of writing and

• To acquaint students with professional communication in writing.

Course Outcomes:

CO 1 Enables students to use English effectively in formal and informal contexts.

CO 2 Introduces learners to different forms of written and oral communication in their career.

CO 3 Exposes students to latest developments in various communication modes.

UNIT I:

Routine written communication

Notes/messages, Memorandum, Circular / Notice, Resume, Minutes of meeting, Email, Letters, Journal

articles

UNIT II:

Report Writing

Proposal, Progress, Documentation, Project Report

UNIT III:

Writing for social /Digital Media

Blogging, Twitter post, Facebook post, Customer review

UNIT IV:

Redesigning a user manual /instruction manual/installation manual

UNIT V:

Presentation

Oral, Written, Poster, Product launch, Research paper/Conference paper

UNIT VI:

Mechanics of writing

Grammar, Punctuation, Vocabulary, Use of computer technology

Text Books:

1. Rosenberg,J,Barry.Spring into Technical Writing for Engineers and scientists Addition

Wesley 2005.

2. Barass,Robert.Scientist Must write: A Guide to Better writing for Scientists, Engineers and Students ,

second edition Rutledge London 2002ools Hand book IEEE press 2010

3. Mamishev, Alexander and Sean Williams. Technical Writing for Teams: The STREAM Tools Hand

book IEEE Press 2010

4. Budnski, Kenneth G. Engineers’s Guide to Technical Writing ASM International 2001

5. Woolever, Kristin R.Writing for the Technical Profession 4 edition Pearson Education 2008

6. Shelton, James H.Handbook for Technical Writing 1996 NTC Business Books 1996