28
SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER & COMMUNICATION ENGG. B.TECH. PROGRAMME STRUCTURE 2015-19 5 th & 6 th SEMESTER

SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY

DEPARTMENT OF COMPUTER & COMMUNICATION ENGG.

B.TECH.

PROGRAMME STRUCTURE 2015-19

5th & 6th SEMESTER

Page 2: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

Programme Structure

SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY

B.TECH PROGRAMME STRUCTURE (CCE) 2015-2019

Fifth Semester

Course Code

Course Name L T P C End Term

Exam. Relative weightage (%)

Duration

Th P CWS PRS MTE ETE PRE

CS1501 Design & Analysis of Algorithms 3 1 0 4 3

30 - 30 40 -

CC1501 Cryptography and Security 3 1 0 4 3

30 - 30 40 -

CC1502 Formal Languages and Automata Theory 3 1 0 4 3

30 - 30 40 -

IT1504 Data Communications 3 1 0 4 3

30 - 30 40 -

CC15XX Department Elective-I 3 0 0 3 3

30 - 30 40 -

----- Open Elective-II 3 0 0 3 3

30 - 30 40

CS1530 Design & Analysis of Algorithms Lab 0 0 2 1

2 - 70 - - 30

CC1530 Data Communications Lab 0 0 2 1

2 - 70 - - 30

Total 18 4 4 24

Sixth Semester

Course Code

Course Name L T P C

End Term Exam. Relative weightage (%)

Duration

Th P CWS PRS MTE ETE PRE

MB15XX Management 3 0 0 3 3

30 - 30 40 -

CS1602 Computer Networks 3 1 0 4 3

30 - 30 40 -

CC1601 Wireless Communications 3 1 0 4 3

30 - 30 40 -

CC16XX Department Elective-II 3 0 0 3 3

30 - 30 40 -

----- Open Elective-III 3 0 0 3 3

30 - 30 40

CS1631 Computer Networks Lab 0 0 2 1 - 2 - 70 - - 30

CC1630 Unix Shell Programming Lab 0 0 2 1 - 2 - 70 - - 30

CC1634 Minor Project 0 0 6 3 - 1 - 70 - - 30

Total 15 2 10 22

ABBREVIATIONS L Lecture T Tutorial P Practical C Number of Credits CWS Class Work Sessional MTE Mid-Term Exam PRE End Term Practical Exam PRS Practical Sessional ETE End Term Exam

Page 3: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

Course Code Open Electives III

CS1694 Process Mining

CS1698 Android Programming & App Development

IT1693 Advanced Topics in Computing

IT1692 Introduction to Data Science

CC1690 Open Source Technology

CC1691 Soft Computing Techniques

Course Code Department Electives I

CS1551 Linux System and Shell Programming

CS1553 Digital Image Processing

IT1551 Graph Theory

IT1552 Python Programming

CC1551 Web Technologies

CC1552 Embedded Systems

Course Code Open Electives II

CS1593 Principles of Programming Languages

CS1594 Enterprise Resource Planning

IT1590 Cryptography

IT1591 Introduction to Python Programming

CC1590 Introduction to Web Technologies

CC1591 Software Testing

Course Code Department Electives II

CC1651 Distributed Systems

CC1652 Advance Internet Technologies

CC1653 Internet of Things

CS1650 Distributed Databases

CS1653 Cloud Computing & Infrastructure Services

CS1654 Parallel Programming

CS1655 Agile Methodology

IT1652 Software Quality and Testing

IT1653 Artificial Intelligence

IT1654 Data Science

CC1654 Principles of Software Engineering

Page 4: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

Programme Structure and Syllabus: 5th Semester

Page 5: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

Programme Structure

SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY

B.TECH PROGRAMME STRUCTURE (CCE) 2015-2019

Fifth Semester

Course Code

Course Name L T P C End Term

Exam. Relative weightage (%)

Duration

Th P CWS PRS MTE ETE PRE

CS1501 Design & Analysis of Algorithms 3 1 0 4 3

30 - 30 40 -

CC1501 Cryptography and Security 3 1 0 4 3

30 - 30 40 -

CC1502 Formal Languages and Automata Theory 3 1 0 4 3

30 - 30 40 -

IT1504 Data Communications 3 1 0 4 3

30 - 30 40 -

CC15XX Department Elective-I 3 0 0 3 3

30 - 30 40 -

----- Open Elective-II 3 0 0 3 3

30 - 30 40

CS1530 Design & Analysis of Algorithms Lab 0 0 2 1

2 - 70 - - 30

CC1530 Data Communications Lab 0 0 2 1

2 - 70 - - 30

Total 18 4 4 24

ABBREVIATIONS

L Lecture CWS Class Work Sessional

T Tutorial MTE Mid-Term Exam

P Practical PRE End Term Practical Exam

C Number of Credits PRS Practical Sessional

ETE End Term Exam

Course Code Department Electives 1

CS1551 Linux System and Shell Programming

CS1553 Digital Image Processing

IT1551 Graph Theory

IT1552 Python Programming

CC1551 Web Technologies

CC1552 Embedded Systems

Course Code Open Electives II

CS1593 Principles of Programming Languages

CS1594 Enterprise Resource Planning

IT1590 Cryptography

IT1591 Introduction to Python Programming

CC1590 Introduction to Web Technologies

CC1591 Software Testing

Page 6: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CS1501 Design and Analysis of Algorithms [3 1 0 4]

Prerequisites: Programming in C, Data Structures Syllabus: Algorithm Analysis: A priori and a posteriori Analysis, Time Space Tradeoff, Asymptotic Notations, Properties of asymptotic notations, Recurrence equations, Solving recurrence equations using Substitution method and Master’s method; Trees: B-Tree, Red Black Tree; Divide and Conquer: Binary Search, Finding Maximum and Minimum, Merge Sort, Quick Sort, Matrix Multiplication; Greedy Algorithms: Knapsack Problem, Job Sequencing with deadline, Optimal Merge Pattern, Single Source Shortest Path, Minimum Cost Spanning tree; Dynamic Programming: Multistage Graphs, Matrix Chain Multiplication, All-Pair shortest paths, Optimal binary search trees, 0/1 Knapsack, Travelling salesperson problem, Graph Traversals, Connected Components, Spanning Trees, Bi-connected components; Complexity Classes: Introduction to NP-Hard and NP-Completeness; Approximation Algorithm, Randomized Algorithm. Text Book(s):

1. E. Horowitz, S. Sahni, S. Rajasekaran, “Computer Algorithms”, 2nd Edition, University Press, 2007.

2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, "Introduction to Algorithms", 3rd Edition, MIT Press, 2009.

Reference(s): 1. A. V. Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st

Edition, Pearson Education, 1999.

Page 7: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1501 Cryptography and Security [3 1 0 4] Prerequisites: None Syllabus: Introduction: Number theory and finite fields, Shannon ciphers and perfect security, computational ciphers and semantic security: Computer Security Concepts: the OSI security architecture, security attacks, security services and mechanisms; Block Cipher: DES, triple-DES; Block Cipher AES: AES structure, AES transformation functions, AES key expansions, AES implementation; electronic codebook mode, cipher block chaining mode, cipher feedback mode, output feedback mode, counter mode; Pseudorandom Number Generation: Principles of pseudorandom number generation, pseudorandom number generators, pseudorandom number generation using block ciphers and stream ciphers, stream ciphers, cryptographic hash functions, message authentication codes, digital signatures; Public-Key Cryptography: Components of public-key cryptography, RSA algorithm, Diffee-Hellman key exchange, ElGamal cryptographic system, Elliptic curve arithmetic, Elliptic curve cryptography, pseudorandom number generation based on a public-key cryptosystem; Operating Systems. Security capabilities of different platforms, Identification and authentication. Passwords, choosing, managing, spoofing attacks. User accounts, file permissions, backups, Access Control and Firewalls, ownership ,Assessing and Securing a system , Information Warfare, Security Administration, Insider Threat; Corporate Espionage. Text Book(s):

1. W. Stallings, "Cryptography and Network Security, Principles and Practices", 6th Edition, Pearson Education, 2013.

Reference(s):

1. B. A. Forouzan, “Cryptography and Network Security”, 3rd Edition, McGraw Hill, 2015. 2. Pieprzyk, T. Hardjono, J. Seberry, “Fundamentals of Computer Security”, Springer-Verlag

Berlin Heidelberg, 2013. 3. C. P. Pfleeger, ”Security in Computing”, 4th Edition, Prentice Hall, 2014.

Page 8: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC 1502 Formal Languages and Automata Theory [3 1 0 4]

Prerequisites: None Syllabus: Mathematical Preliminaries and Notation: Three basic concepts, Some Applications, Deterministic Finite Accepters, Nondeterministic Finite Accepters, Equivalence of Deterministic and Nondeterministic Finite Accepters, Reduction of the Number of States in Finite Automata, Regular Expressions, Identifying Non-regular Languages; Context-Free grammars: Parsing and Ambiguity, Context-Free Grammars and Programming Languages, Methods for Transforming Grammars, Two important Normal Forms, Nondeterministic Pushdown Automata, Pushdown Automata and Context–Free Languages, Deterministic Pushdown Automata and Deterministic Context-Free Languages; The Standard Turing Machine: Linear Bounded Automata, Recursive and RecursivelyEnumerable Languages, Unrestricted Grammars, Context Sensitive grammars and Languages, The Chomsky Hierarchy. Text Book(s):

1. J. Hopcroft, R. Motwani, “Introduction to Automata Theory, Languages and Computation”, 3rd Edition, Pearson Education, 2006.

Reference(s):

1. P. Linz, “An Introduction to Formal Languages and Automata”, 5th Edition, Narosa Publishing House, 2010.

2. J. Martin, “Introduction to Languages and the Theory of Computation”, 4th Edition, McGraw Hill, 2010.

Page 9: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

IT1504 Data Communications [3 1 0 4]

Prerequisites: None Syllabus: Data Transmission: Concepts and Terminology, Analog and Digital Data Transmission, Transmission Impairments, Channel Capacity; Transmission Media: Guided Transmission Media, Wireless Transmission, Wireless Propagation, Line-of-Sight Transmission; Signal Encoding Techniques: Analog and Digital Signals, Digital-To-Digital Conversion: Line Coding Schemes, Block Coding, Scrambling, Analog-To-Digital Conversion: Pulse Code Modulation, Delta Modulation; Digital Data Communication Techniques: Asynchronous and Synchronous Transmission, Types of Errors, Error Detection, Error Correction, Line Configurations; Data Link Control Protocols: Flow Control, Error Control, High-Level Data Link Control (HDLC); Multiplexing: Frequency-Division Multiplexing (FDM), Time-Division Multiplexing (TDM), Code-Division Multiple Access (CDMA); Space Division Multiplexing; Spread Spectrum: The Concept of Spread Spectrum, Frequency Hopping Spread Spectrum (FHSS), Direct Sequence Spread Spectrum (DSSS); Cellular Wireless Communication Techniques: Introduction, Generations: 1G, 2G, 3G, 4G, and 5G. Text Book(s):

1. W. Stallings, “Data and Computer Communications”, 8th Edition, Pearson Education, 2007. 2. B. Forouzan, “Data Communications & Networking”, 5th Edition, McGraw Hill, 2012.

Reference(s):

1. T. Bertsekas, K. Dimitri, G. Gallager, T. Robert, “Data Networks”, 2nd Edition, Prentice Hall of India, 2011.

2. L. Peterson, T. Davie “Computer Networks: A Systems Approach”, 5th Edition, Morgan Kaufmann Publishers, 2012.

Page 10: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CS1530 Design and Analysis of Algorithms Lab [0 0 2 1]

Prerequisites: Programming in C, Data Structures, Discrete Mathematics Syllabus: Sorting & Searching Algorithm –insertion sort, selection sort, binary search. Basic data structures stacks and queues, graphs and trees, binary trees. Algorithmic paradigms - Recursion, divide-and-conquer – Merge sort, Quick sort, Greedy – Knapsack, Huffman encoding, Dynamic programming, lower bounds and optimal algorithms. Heaps - Heaps, priority queues, min-max heaps, heap sort. Dynamic search structures - Binary search trees, height balancing, B-trees, skip lists, hashing. Algorithms on arrays - Linear-time median finding, sorting in linear time (counting sort, radix sort, bucket sort), String matching (Rabin-Karp and Knuth-Morris-Pratt algorithms). Graph algorithms Traversal (BFS, DFS, topological sort), Minimum spanning trees (Prim and Kruskal algorithms), shortest paths (Dijkstra’s and Floyd-Warshal algorithms); Mini-Projects & Case Studies. Text Book(s):

1. E. Horowitz, S. Sahni, S. Rajasekaran, “Computer Algorithms”, 2nd Edition, University Press, 2007.

2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, "Introduction to Algorithms", 3rd Edition, MIT Press, 2009.

Reference(s): 1. A. V. Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st

Edition, Pearson Education, 1999.

Page 11: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1530 Data Communications Lab [0 0 2 1]

Prerequisites: None Syllabus: PC to PC and PC to Peripherals Communication: Serial communication using RS-232C, RS-485, Parallel Communication using 8 bit parallel cable; LAN topologies: Star, Token bus and Token ring; Signal Encoding Techniques: Analog and Digital Signals, Analog -To-Digital Conversion: Line Coding Schemes; Signal Modulation Techniques: ASK, PSK, FSK, Pulse Code Modulation and Delta Modulation; Medium Access Control protocols: Aloha, Slotted Aloha, CSMA, CSMA/CD, CSMA/CA, Wireless LAN-IEEE 802.11, BLUETOOTH; Network Devices configuration: Hub, Repeaters, Bridges, Switches, Gateways and Routers. Text Book(s):

1. W. Stallings, “Data and Computer Communications”, 10th Edition, Pearson Education, 2011. 2. Bertsekas, Dimitri, Gallager, Robert, “Data Networks”, 2nd Edition, Prentice Hall of India,

2004. Reference(s):

1. L. Peterson, B. Davie, “Computer Networks: A Systems Approach”, 5th Edition, Morgan Kaufmann, 2011.

2. F. A. Behrouz, “Data communications & networking”, 5th Edition, McGraw-Hill, 2012. 3. L. Kleinrock ,“Queueing Systems - Vol. 1: Theory”, Wiley, 2013. 4. A. S. Tanenbaum, “Computer Networks”, 5th Edition, Pearson Education, 2014.

Page 12: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

DEPARTMENT ELECTIVES

CC1551 Web Technologies [3 0 0 3]

Prerequisites: None Syllabus: Introduction: Overview of Internet and the sub network “the Web”, History, and Other sub networks, Web System Architecture, Web Clients and Web Servers, Application Servers. HTTP – Basics of HTTP Request and Response, HTTP Methods, headers, content transport (PUSH and PULL), Drawbacks HTTP1.0, Introduction to HTTP1.1, HTTPS, SSL, and Generation of Dynamic Web pages, Extension Mechanisms; Client side programming: Web application Design Life-cycle, Web Markup Languages – What is markup, why markup, Intro to HTML and Deficiencies of HTML, Using XHTML – Basic syntax and semantics, fundamental elements, URLs – Inter-page and Intra-page Linking, Lists, Tables, Frames and Forms., HTML Document Object Model (DOM), Styling with CSS, Introduction to HTML5 and CSS3; Scripting: Client side dynamic programming with JavaScript – Basics, Primitives, Loops, Decision Statements, Screen Output and Keyboard Input, Arrays and Functions, Event Handling, Pattern Matching and Form Validation with Regular Expressions; Server side Programming : Three Tier Model, PHP –Basics, Form Validation, -Sessions and Session Tracking techniques, ASP, JSP; Advanced technologies: XML – Syntax and Semantics, Document Structure, DTDs, Need for Namespaces-eCommerce Basics, Models and Architecture; ecommerce - WAP and Mobile Agents. Text Book(s):

1. J. C. Jackson, “Web Technologies: A Computer Science Perspective”, Pearson Education, 2007. 2. H. Chan, R. Lee, T. Dillon, E. Chang, “E-commerce, Fundamentals and Applications”, John

Wiley & Sons, 2007.

Reference(s): 1. DT Editorial Services, “HTML 5 Black Book”, 2nd Edition, Wiley India, 2016. 2. Treese, G. Winfield, L. C. Stewart, “Designing Systems for Internet Commerce”, 2nd Edition,

Addison-Wesley Professional, 2003. 3. X. Bai, M. Ekedahl, “The Web Warrior Guide to Web Programming”, 1st Edition, Course

Technology Inc, 2003.

Page 13: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1552 Embedded Systems [3 0 0 3] Prerequisites: Switching Theory and Logic Design, Data Structures, Computer Architecture

Syllabus: Introduction: what is embedded system, its characteristics, variety-with kernel (Embedded windows, embed Linux), with RTK, with/without communication, battery – chargeable/storage, examples; Design Requirements and implementation: typical requirements and their representation, generation of specifications, executable specs, behavioral models, hardware software partitioning, embedded software synthesis, mapping of hardware to standard micros; Building blocks of embedded systems: variants of micros, architectures-RISC/CISC, multicore, typical building blocks of micros, memory – RAM, ROM, Cache, timers, I/O, PIC, ADC, DAC, MUX, i/o-Serial, USB, I2C, CAN, SPI etc., RF controllers-Bluetooth, ZigBee, Wifi, Adhoc wireless, Ethernet, custom building blocks like TDC, FFT, DCT, etc., FPGAs/PLDs, sensors and actuator, displays, low power modes, battery mgmt. etc. Sample Design examples; Programming of micros: IDEs, Emulators, debuggers, programmers, Instructions, instruction set emulators, MISRA, WELMEC, etc., developing using Matlab, LabView etc., Low-end applications-custom manager, kernels- winCE, embedded Linux, android etc. embedding Real time capabilities – RTK, RTOS. Multi-tasking, Scheduler etc., Networked Embedded Systems, Wireless Sensor Networks and IOT, Case Studies and Projects.

Text Book(s): 1. K. V. Shibu, “Introduction to Embedded Systems”, McGraw Hill, 2013.

2. D. E. Simon, “An Embedded Software Primer”, Pearson Education Asia, 2001

Reference(s): 1. F. Vahid, T. Givargis, “Embedded System Design”, Wiley, 2002. 2. S. Heath, “Embedded System Design”, 2nd Edition, Elsevier, 2004.

Page 14: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1654 Principles of Software Engineering [3 0 0 3]

Prerequisites: Relational Database management System

Syllabus:

Introduction: Defining Software Engineering, Software Components, Software Characteristics, Software Crisis, Software Engineering Processes, Similarity and Differences from Conventional Engineering Processes, Software Quality Attributes. Software Development Life Cycle (SDLC) Models: Water Fall Model, Prototype Model, Spiral Model, Evolutionary Development Models, Iterative Enhancement Models. Basic Concept of Software Requirement Specifications (SRS): Requirement Engineering Process: Elicitation, Analysis, Documentation, Review and Management of User Needs, Feasibility Study, information Modeling, Data Flow Diagrams, Entity Relationship Diagrams, Decision Tables, SRS Document, Software Quality Assurance (SQA): Verification and Validation, SQA Plans, Basic Concept of Software Design, Architectural Design, Low Level Design Modularization, Design Structure Charts, Pseudo Codes, Flow Chart. Design Strategies: Function Oriented Design, Object Oriented Design, Top-Down and Bottom-Up Design. Software Testing: Testing Objectives, Unit Testing, integration Testing, Acceptance Testing, Regression Testing, Testing for Functionality and Testing for Performance, Top-Down and Bottom-Up Testing Strategies: Test Drivers and Test Stubs, Structural Testing (White Box Testing), Functional Testing (Black Box Testing), Test Data Suit Preparation, Alpha and Beta Testing of Products. Static Testing Strategies: Formal Technical Reviews (Peer Reviews), Walk Through, Code inspection, Compliance with Design and Coding Standards.

Software Maintenance: Software as an Evolutionary Entity, Need for Maintenance, Categories of Maintenance: Preventive, Corrective and Perfective Maintenance, Cost of Maintenance.

Text Book(s): 1. R. S. Pressman, “Software Engineering: A Practitioners Approach”, McGraw Hill, 2009.

2. R. Mall, “Fundamentals of Software Engineering”, PHI Publication, 2014.

Reference(s): 1. K. K. Aggarwal and Y. Singh, “Software Engineering”, New Age International Publishers,

2008.

2. P. Jalote, “Software Engineering”, Wiley, 2010.

3. I. Sommerville, “Software Engineering”, Addison Wesley, 2013.

Page 15: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

OPEN ELECTIVES

CC1590 Introduction to Web Technologies [3 0 0 3]

Prerequisites: None Syllabus: Web Designing: Introduction to WYSIWYG Design tools, Introduction to HTML, Introduction to Word press, Website Creation and maintenance, Web Hosting and Publishing Concepts; Client-Side Programming: The JavaScript Language, History and Versions; Introduction to JavaScript: Syntax, Variables and Data Types, Statements, Operators, Literals, Functions, Objects, Arrays, Built-in Objects, JavaScript Debuggers; Representing Web Data: XML-Documents and Vocabularies Versions and Declaration- Namespaces, Displaying XML Documents in Browsers; Server-Side Programming: Overview- Servlets & Life Cycle, Java Server Pages, Generating Dynamic Content, Parameter Data, Sessions, Cookies; Electronic commerce: E - Business model, E - Marketing, Online payments and security. Text Book(s):

1. S. Powers, “Dynamic Web Publishing Unleashed”, 2nd Edition, Sams Publishing, 1997. 2. J. C. Jackson, ”Web Technologies”, Pearson Education, 2007.

Reference(s):

1. S. Potts, “JAVA 2 Unleashed”, 6th Edition, Sams Publishing, 2002.

Page 16: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1591 Software Testing [3 0 0 3]

Prerequisites: None Syllabus: Basics of software testing: Testing objectives, Principles of testing, Requirements, behavior and correctness, Testing and debugging, Test metrics and measurements, Verification, Validation and Testing, Types of testing, Software defect tracking; White box testing, static testing, static analysis tools; Structural testing: Unit/Code functional testing, Code coverage testing, Code complexity testing, Black Box testing, Requirements based testing, Boundary value analysis, Equivalence partitioning, state/graph based testing, Model based testing and model checking, Differences between white box and Black box testing; Top down and Bottom up integration: Bi-directional integration, System integration, Scenario Testing, Defect Bash, Functional versus Non-functional testing, Design/Architecture verification, Deployment testing, Beta testing, Scalability testing, Reliability testing, Stress testing; Acceptance testing: Acceptance criteria, test cases selection and execution; Regression testing, Regression test process, Initial Smoke or Sanity test, Selection of regression tests, Execution Trace, Dynamic Slicing, Test Minimization, Tools for regression testing; Ad hoc Testing: Pair testing, Exploratory testing, Iterative testing, Defect seeding. Test Planning, Management, Execution and Reporting; Software Test Automation: Scope of automation, Design & Architecture for automation, Generic requirements for test tool framework, Test tool selection, Testing in Object Oriented Systems, Case Study on software testing. Text Book(s):

1. S. Desikan , G. Ramesh, “Software Testing: Principles and Practices”, Pearson Education, 2014. 2. A. P. Mathur, “Fundamentals of Software Testing”, Pearson Education, 2008.

Reference(s):

1. K. K. Aggarwal, Y. Singh, “Software Engineering”, 3rd Edition, New Age International Publication, 2008.

2. K. Perry, “Effective Methods for Software Testing”, John Wiley & Sons, 1995. 3. B. Beizer, “Software Testing Techniques”, 2nd Edition, Wiley-Dreamtech India, 2003.

Page 17: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

Programme Structure and Syllabus: 6th Semester

Page 18: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

Programme Structure

Sixth Semester

Course Code

Course Name L T P C

End Term Exam. Relative weightage (%)

Duration

Th P CWS PRS MTE ETE PRE

MBXXXX Management 3 0 0 3 3

30 - 30 40 -

CS1602 Computer Networks 3 1 0 4 3

30 - 30 40 -

CC1601 Wireless Communications 3 1 0 4 3

30 - 30 40 -

CC16XX Department Elective-II 3 0 0 3 3

30 - 30 40 -

----- Open Elective-III 3 0 0 3 3

30 - 30 40

CS1631 Computer Networks Lab 0 0 2 1 - 2 - 70 - - 30

CC1630 Unix Shell Programming Lab 0 0 2 1 - 2 - 70 - - 30

CC1634 Minor Project 0 0 6 3 - 3 - 70 - - 30

Total 15 2 10 22

Course Code Open Elective III

CS1694 Process Mining

CS1698 Android Programming & App Development

IT1693 Advanced Topics in Computing

IT1692 Introduction to Data Science

CC1690 Open Source Technology

CC1691 Soft Computing Techniques

ABBREVIATIONS

L Lecture CWS Class Work Sessional

T Tutorial MTE Mid-Term Exam

P Practical PRE End Term Practical Exam

C Number of Credits PRS Practical Sessional

ETE End Term Exam

Course Code Department Electives II

CC1651 Distributed Systems

CC1652 Advance Internet Technologies

CC1653 Internet of Things

CS1650 Distributed Databases

CS1653 Cloud Computing & Infrastructure Services

CS1654 Parallel Programming

CS1655 Agile Methodology

IT1652 Software Quality and Testing

IT1653 Artificial Intelligence

CC1654 Principles of Software Engineering

Page 19: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CS1602 Computer Networks [3 0 1 4]

Prerequisites: Data Communications Syllabus: Network Layer: Network layer design issues, routing algorithms, congestion control algorithms, Quality of service, MPLS. Classfull addressing, Sub-netting, Classless addressing, variable length blocks, address allocation; Protocols: ARP & DHCP: Introduction, Packet Format, message types, IPV4 header format, fragmentation, options, checksum. ICMP: Message format, message types. Dynamic routing protocols: RIP, OSPF & BGP, Multicasting Protocol: IGMP, Introduction to IPV6. Transport Layer: Transport services, state diagram, Elements of Transport Protocols: addressing, Connection establishment, connection release, Error control and Flow Control, Multiplexing, Congestion Control: Bandwidth allocation, regulating the sending rate, UDP: UDP header, TCP: TCP service model, TCP segment header, TCP connection establishment, TCP connection release, TCP window management, Timer management; Application Layer: DNS: Name space, domain resource records, Electronic Mail: SMTP, POP, IMAP, MIME, HTTP, HTTPS, SNMP; Network Security: Security Goals, Attacks, Attack prevention techniques, Firewall, IDS, DMZ, IPsec. Text Book(s):

1. A. S. Tanenbaum, “Computer Networks”, 5th Edition, Pearson, 2010. 2. B. A. Forouzan, “TCP/IP Protocol Suite”, 4th Edition, McGraw Hill, 2010.

Reference(s): 1. D E. Comer, “Internetworking with TCP/IP Principles, Protocols and Architecture,” 6th Edition,

Pearson Education, 2013.

Page 20: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1601 Wireless Communications [3 0 1 4] Prerequisites: Data Communications Syllabus: Introduction: Types of Services, Requirements for the services, Multipath propagation, Parameters of mobile multipath channels, Spectrum Limitations, Noise and Interference limited systems, Principles of Cellular networks, Multiple Access Schemes. Large scale path loss, Path Loss Models, Signal Fading: Fast Fading, Slow Fading, Fading due to Doppler Spread. Wireless Propagation Channels: Propagation Mechanisms (Qualitative treatment), Propagation effects with mobile radio, Channel Classification, Link calculations, Narrowband and Wideband models; Wireless Transceivers: Structure of a wireless communication link, Modulation and demodulation – Quadrature Phase Shift Keying (QPSK), p/4-Differential Quadrature Phase Shift Keying (DQPSK), Offset-Quadrature Phase Shift Keying, Binary Frequency Shift Keying, Minimum Shift Keying, Gaussian Minimum Shift Keying, Power spectrum and Error performance in fading channels; Signal Processing In Wireless Systems: Principle of Diversity, Macro diversity, Micro-diversity, transmitter diversity, receiver diversity, spatial multiplexing, Signal Combining Techniques, Transmit diversity, Equalizers- Linear and Decision Feedback equalizers, Review of Channel coding and Speech coding techniques; Advanced Transceiver Schemes: Spread Spectrum Systems- Cellular Code Division Multiple Access Systems- Principle, Power control, Effects of multipath propagation on Code Division Multiple Access, Orthogonal Frequency Division Multiplexing – Principle, Cyclic Prefix, Transceiver implementation, Second Generation (GSM, IS–95) and Third Generation Wireless Networks and Standards. Text Book(s):

1. T. S. Rappaport, “Wireless Communications - Principle and Practice”, 2nd Edition, Prentice Hall of India, 2015.

2. W. Stallings, “Wireless Communication and Network”, 2nd Edition, Prentice Hall of India, 2010.

Reference(s): 1. R. Pandya, “Mobile and Personal Communication systems and services”, Prentice Hall of India,

2004. 2. M. Ciampa, “Guide to Designing and Implementing wireless LANs”, 2nd Edition, Thomson

learning, 2005. 3. K. Garg, “Mobile Computing”, Pearson Education, 2010.

Page 21: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CS1631 Computer Networks Lab [0 0 2 1]

Prerequisites: None Syllabus: Flow control protocols, error detection and correction techniques, Bit stuffing and character stuffing. Implementation of link state routing protocol, distance vector routing protocol and other routing protocols. TCP and UDP socket programming. Remote method invocation (RMI). Packet analyzer- Wireshark. Network Simulator - 3 Tool. Text Book(s):

1. A. S. Tanenbaum, “Computer Networks”, 5th Edition, Pearson, 2010. 2. B. A. Forouzan, “TCP/IP Protocol Suite”, 4th Edition, McGraw Hill, 2010.

Reference(s):

1. L. Chappell, J. Aragon, G. Combs, “Troubleshooting with Wireshark: Locate the Source of

performance Problems”, Laura Chappell University, 2014.

2. Network Simulator – 3 User Manual.

Page 22: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1630 Unix Shell Programming Lab [0 0 2 1]

Prerequisites: C programming Syllabus: General Unix Commands: as cal, date, echo, printf, bc, script, mailx, passwd,who; File System: file handling commands such as cat, cp, rm, mv, more, wc, cmp, diff, gzip ,gunzip, tar, zip, unzip, mkdir, rmdir, pwd, cd, File attributes, ownerships, permissions; The Process Basics, ps, Internal and external commands, Process states and zombies, nice, at, mesg, cron, time, top; Network Commands: Telnet, ipconfig, ping, netstat, firewalls, System configurations. The vi editor Basics, Input mode and The ex mode, Navigation, Editing text; The Shell and Shell programming: The Shell’s interpretive cycle, Shell offering, Pattern Matching, Three Standard Files, Two special files, pipes, tee, Shell scripts. Debuggers and compilers

Text Book(s): 1. S. Das, “Unix Concepts and Applications”, 4th Edition, McGraw Hill, 2006. 2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, "Introduction to Algorithms", 3rd Edition,

MIT Press, 2009.

Reference(s): 1. W. R. Stevens, B. Fenner, “UNIX Network Programming, Volume 1: The Sockets Networking

API”, 3rd Edition, Pearson Education, 2003 2. W. R. Stevens, S. A. Rago, “Advanced Programming in the UNIX Environment”, 3rd Edition,

Addison-Wesley, 2013.

Page 23: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1634 Minor Project [0 0 6 3]

Prerequisites: RDBMS/ Programming Languages/Web Technologies Description: In this practical course, each group consisting of two/three members is expected to design and develop practical solutions to real life problems related to industry, institutions and computer science research. Software life cycle should be followed during the development. The theoretical knowledge, principles and practices gained from various subjects would be applied to develop effective solutions to various computing problems. The knowledge gained to work with various software tools, Designing tools, programming languages, operating systems, etc. would be utilized in various stages of project. Structured/ Object Oriented design techniques may be used for the project. Software Requirements Specification (SRS), Modeling Techniques, Design and Testing strategies would be part of document of the work. A committee consisting of minimum three faculty members shall perform internal assessment of the minor projects. A report on minor project would be submitted for evaluation, Project work would be presented and demonstrated before the panel of examiners. Execution Plan:

S. No Month Phase Outcome/Deliverable Assessment

1. First Problem Identification and Requirement Analysis

SRS cum Detail Design Document

Continuous Assessment-1

2. Second Design and Implementation Project Version 1.0 Continuous Assessment-II

3. Third Testing and Debugging Project final Version Continuous Assessment-III

4. Fourth Presentation and Report Writing Report Final Assessment

Page 24: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

DEPARTMENT ELECTIVES

CC1651 Distributed Systems [3 0 0 3]

Prerequisites: Operating Systems Syllabus: Introduction: Examples of Distributed Systems, Trends in Distributed Systems, Focus on resource sharing, Challenges; Communication in Distributed System: System Model, Inter process Communication, API for Internet protocols, External data representation and Multicast communication. Network virtualization, Overlay networks; Remote Method Invocation and Objects: Remote Invocation, Introduction, Request-reply protocols, Remote procedure call, Remote method invocation. Group communication, Publish-subscribe systems, Message queues, Shared memory approaches, Distributed objects; Case study: Enterprise Java Beans -from objects to components; Peer-to-peer Systems: Napster and its legacy, Routing overlays; Distributed File Systems: File service architecture, Andrew File system; Naming: Identifiers, Addresses, Name Resolution, Name Space Implementation, Name Caches, LDAP; Synchronization and Replication: Clocks, events and process states, Synchronizing physical clocks, Logical time and logical clocks, Global states, Coordination and Agreement, Distributed mutual exclusion, Elections, Transactions and Concurrency Control, Nested transactions, Locks, Optimistic concurrency control, Timestamp ordering, Atomic Commit protocols, Distributed deadlocks, Replication, Case study – Coda; Process Management: Process Migration Features and Mechanism, Threads: Models, Issues, Implementation; Resource Management: Introduction, Features of Scheduling Algorithms, Task Assignment Approach, Load Balancing Approach, Load Sharing Approach. Text Book(s):

1. G. Coulouris, J. Dollimore, T. Kindberg, “Distributed Systems Concepts and Design”, 5th Edition, Pearson Education, 2012.

Reference(s):

1. P. K. Sinha, "Distributed Operating Systems: Concepts and Design", 6th Edition, Prentice Hall of India, 2007.

2. A. S. Tanenbaum, Van Steen M., “Distributed Systems: Principles and Paradigms”, 2nd Edition, Pearson Education, 2007.

3. M. L. Liu, “Distributed Computing, Principles and Applications”, 1st Edition, Pearson Education, 2004.

4. N. A. Lynch, “Distributed Algorithms”, 1st Edition, Morgan Kaufman, 2003.

Page 25: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1652 Advanced Internet Technologies [3 0 0 3]

Prerequisites: Web Technologies Syllabus: Introduction: Need for web, Basic concepts, web design fundamentals, website Strategy and planning, web testing tools, web server structure, maintenance, Criteria for navigation of web pages, development and development of the web pages, AJAX, Web sockets, WebRTC; XML: Xml basics, document object model, DTD and schemas, xml namespaces, xml for representation and for display – path and XSLT, xml DOM, XML manipulation, XML Ajax, xml DTD XSD schema XSD, complex XSD data; Web/Application/Database Servers: Structure, Architecture of web servers with working (IIS , Apache) , Installation and configuration of Web Servers, Security Aspects, Deployment of Web Pages, Maintenance and monitoring of Web pages; Case study: IIS / Apache / Tomcat / MSSQL/Apache/ LAMP/ WAMP/ MySQL Servers. App development issues, challenges, solutions, simulators, Tools for designing web applications; Client side technologies: Client Side Architecture, Browsers (IE, Mozilla, Firefox), Browser Extensions – Mime Types, Plugins, Controls, add-ons, XHTML, CSS, JavaScript, Generation and Handling of Dynamic Web pages, Action script, Silver light, HTML5 and CSS3, Ajax, Session Tracking Techniques on Client-side, Security issues, Rich Internet Applications; Advanced topics: E-Commerce Basics, Models and Architecture; m-Commerce: WAP and Mobile Agents, Search Engines and Search Engine Optimization, Introduction to Web Services. Text Book(s):

1. J C Jackson, “Web Technologies – A Computer Science Perspective”, 1st Edition, Pearson Education, 2011.

2. R. Kamal, “Web Technology”, 2nd Edition, McGraw-Hill, 2001.

Reference(s): 1. D. Goldberg, “Internet and World Wide Web - How to Program”, 4th Edition, Pearson

Education, 2001. 2. A. Moller, I. Michael , “An Introduction to XML and Web Technologies”, Addison-Wesley, 2006. 3. X. Bai, M. Ekedahl, “The Web Warrior Guide to Web Programming”, 1st Edition, Course

Technology Inc, 2003. 4. G. Alonso, “Web Services - Concepts, Architectures and Applications Series: Data-Centric

Systems and Applications”, Springer, 2004.

Page 26: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1653 Internet of Things [3 0 0 3]

Prerequisites: C programming Syllabus: Introduction: read data sheet, analog and digital signals, serial communication, RF and sensors; Introduction to JSON/XML; Database Basics: create database, tables, SQL queries; Programming on Development Boards: Understanding of the board, tool chain and development environment setup; Sensors and Actuators: Understanding and using analog, digital, SPI, UART, I2C; Nodes and communication protocols: Understanding usage of nodes and gateways for sensor communication and external communication, RF, Zigbee, BT, WI-FI, GSM; IoT Cloud Platform, Cloud using Web Services, Cloud Computing Services for Sensor Management, Python Script; Big Data Analytics: Mongo DB, Map Reduce, Using cloud APIs for analytics, Visualization, NVD3, Mobile interfacing. Text Book(s):

1. V. Madisetti, A. Bahga, “Internet of Things: A Hands-On- Approach”, 1st Edition, VPT, 2014.

Reference(s): 1. A. McEwen, “Designing the Internet of Things”, 2nd Edition, Wiley, 2013. 2. D. Kellmereit, “The Silent Intelligence: The Internet of Things”, 1st Edition, DND Ventures LLC,

2013. 3. T. H. Davenport, “Big Data at Work: Dispelling the Myths, Uncovering the Opportunities”, 1st

Edition, Harvard Business Review Press, 2014. 4. EMC Education Services, “Data Science and Big Data Analytics: Discovering, Analyzing,

Visualizing and Presenting Data Hardcover”, 1st Edition, John Wiley & Sons, 2015.

Page 27: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

OPEN ELECTIVES

CC1690 Open Source Technologies [3 0 0 3]

Prerequisites: None Syllabus: Introduction: Open Source, Free Software, Free Software vs. Open Source software, Public Domain Software, FOSS does not mean any cost; History: BSD, the Free Software Foundation and the GNU Project, Open Source History, initiatives, Principle and Methodologies; Philosophy: Software Freedom, Open Source Development Model Licenses and Patents: License, Important FOSS Licenses (Apache, BSD, GPL, And LGPL), copyrights and copy thefts, Patents; Economics of FOSS: Zero Marginal Cost, Income-Generation Opportunities, Problems with traditional commercial software, Internationalization; Case Studies: Apache, BSD, Linux, Mozilla (Firefox), Wikipedia, Joomla, GCC, Open office. Starting and Maintaining an Open Source Project, Open Source Hardware, Open Source Design, Open source Teaching. Open source media. Open source vs. closed source Open source government, Open source ethics. Social and Financial impacts of open source technology, Shared software, Shared source. Text Book(s):

1. D. Shah, D. Ambawade,”Linux Labs and Open Source Technologies“, Dream Tech Press, 2014. 2. R. Petersen, “Linux: The Complete Reference”, 6th Edition, McGraw Hill, 2007.

Reference(s):

1. K. Vadera, B. Gandhi, “Open Source Technology”, 1st Edition, Laxmi Publications, 2009. 2. C. Negus, “Linux Bible 2007 Edition; Boot up to Ubuntu®, FedoraTM, KNOPPIX, Debian®, SUSETM” ,

John Wiley & Sons, 2007. 3. A. Brown , G. Wilson, “The Architecture of Open Source Applications”, Lulu.com, 2012.

Page 28: SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY...Aho, J. E. Hopcroft, J. D. Ullman, "The Design and Analysis of Computer Algorithms", 1st Edition, Pearson Education, 1999. CC1530 Data

CC1691 Soft Computing Techniques [3 0 0 3]

Prerequisites: None Syllabus: Introduction: soft computing and its applications; Neural Networks (NN) Paradigms: Introduction, Neuron model, NN Architectures, Learning Rules: Hebbian, competitive, Boltzmann, and Supervised, unsupervised; Types of neural network: Perceptron, MLP, Radial basis function network, Recurrent Network, Self-organizing feature maps, Boltzmann machine, Application of neural network; Fuzzy Logic: Introduction, Classical and fuzzy sets: Overview, Basic operations, relations, Rule based models; Fuzzy Arithmetic: Fuzzy numbers, Linguistics variables, arithmetic operations on intervals and numbers, Lattice of fuzzy numbers, fuzzy equations, Applications of fuzzy logic: Medicine, Economics; Evolutionary Computations: Introduction, Genetic Algorithm: Overview, Operators, Classifier systems, Genetic programming Parse tree, Variants of GA (hybrid GA, Fuzzy GA. Text Book(s):

1. S. Rajasekaran & GA Vijayalakshmi Pai “Neural Networks, Fuzzy Logic, and Genetic Algorithms synthesis and application”, PHI, 2012

2. J.S.R. Jang, C. – T, Son, E.Mizutani “Neuro-fuzzy and Soft Computing” PEARSON ,2015 3. S.N. Sivanandam & S. N. Deepa “Principles of Soft Computing” , 2nd Edition, Wiley India, 2011

Reference(s):

1. B. Kosko, ”Neural Networks and Fuzzy Systems, A Dynamically Systems Approaches to machine intelligence”, ACM, 1992.

2. S. Haykin, “Neural Networks-A Comprehensive Foundations”, Prentice-Hall International, New Jersey, 1999.

3. S. Roy, ”Introduction to Soft Computing: Neuro-Fuzzy and Genetic Algorithms”, Pearson Education India; First edition 2013.

4. K. Knight, E. Rich, B. Nair, “Artificial Intelligence”, 3rd Edition, McGraw Hill, 2008.