JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD
B.TECH. COMPUTER SCIENCE AND ENGINEERINGIV YEAR COURSE STRUCTURE & SYLLABUS (R16)
Applicable From 2016-17 Admitted Batch
IV YEAR I SEMESTER
S. No Course Code Course Title L T P Credits
1 CS701PC Data Mining 4 0 0 4
2 CS702PC Principles of Programming Languages 4 0 0 4
3 Professional Elective – II 3 0 0 3
4 Professional Elective – III 3 0 0 3
5 Professional Elective – IV 3 0 0 3
6 CS703PC Data Mining Lab 0 0 3 2
7
CS751PC CS752PC CS753PC CS754PC
PE-II Lab #
Python Programming Lab
Mobile Application Development Lab Web Scripting Languages Lab
Internet of Things Lab
0 0 3 2
8 CS705PC Industry Oriented Mini Project 0 0 3 2
9 CS706PC Seminar 0 0 2 1
Total Credits 17 0 11 24
# Courses in PE - II and PE - II Lab must be in 1-1 correspondence.
IV YEAR II SEMESTER S. No Course
Code Course Title L T P Credits
1 Open Elective – III 3 0 0 3
2 Professional Elective – V 3 0 0 3
3 Professional Elective – VI 3 0 0 3
4 CS801PC Major Project 0 0 30 15
Total Credits 9 0 30 24
Professional Elective – I CS611PE Mobile Computing CS612PE Design Patterns CS613PE Artificial Intelligence
CS614PE Information Security Management (Security Analyst - I) CS615PE Introduction to Analytics (Associate Analytics - I)
Professional Elective – II
CS721PE Python Programming
CS722PE Mobile Application Development CS723PE Web Scripting Languages
CS724PE Internet of Things
Professional Elective - III CS731PE Graph Theory CS732PE Distributed Systems CS733PE Machine Learning
CS734PE Software Process and Project Management
Professional Elective - IV
CS741PE Computational Complexity CS742PE Cloud Computing
CS743PE Blockchain Technology CS744PE Social Network Analysis
Professional Elective - V
CS851PE Information Theory & Coding CS852PE Real-Time Systems
CS853PE Data Analytics
CS854PE Modern Software Engineering
Professional Elective - VI
CS861PE Advanced Algorithms
CS862PE Web Services and Service Oriented Architecture CS863PE Computer Forensics
CS864PE Neural Networks and Deep Learning
*Open Elective subjects’ syllabus is provided in a separate document.
*Open Elective – Students should take Open Electives from the List of Open Electives Offered by Other Departments/Branches Only.
Ex: - A Student of Mechanical Engineering can take Open Electives from all other departments/branches except Open Electives offered by Mechanical Engineering Dept.
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD
LIST OF OPEN ELECTIVES OFFERED BY VARIOUS DEPARTMENTS FORB.TECH. III AND IV YEARS S.
No.
Name of the Department Offering Open Electives
Open Elective – I (Semester – V)
Open Elective – II (Semester – VI) 1 Aeronautical Engg. AE511OE: Introduction
to Space Technology
AE621OE: Introduction to Aerospace Engineering
2 Automobile Engg. CE511OE: Disaster
Management
MT512OE: Intellectual Property Rights
MT621OE: Data Structures MT622OE: Artificial Neural Networks
3 Biomedical Engg. BM511OE: Reliability Engineering
BM621OE: Medical
Electronics
4 Civil Engg. CE511OE: Disaster
Management.
CE621OE: Remote
Sensing and GIS
CE622OE: Geo-
Informatics
CE623OE: Intellectual Property Rights
5 Civil and Environmental Engg.
CE511OE: Disaster Management
CN621OE: Environmental Impact Assessment
CE623OE: Intellectual Property Rights
6 Computer Science and Engg.
/ Information Technology
CS511OE: Operating Systems
CS512OE: Database Management Systems
CS621OE: Java
Programming
CS622OE: Software Testing Methodologies CS623OE: Cyber Security
7 Electronics and
Communication Engg. / Electronics and Telematics Engg.
EC511OE: Principles of Electronic
Communications
EC621OE: Principles of Computer Communications and Networks
8 Electronics and Computer Engg.
EM511OE: Scripting Languages
EM621OE: Soft
Computing Techniques 9 Electrical and Electronics
Engg.
EE511OE: Non-
Conventional Power Generation
EE512OE: Electrical Engineering Materials EE513OE:
Nanotechnology
EE621OE: Design
Estimation and Costing of Electrical Systems
EE622OE: Energy Storage Systems
EE623OE: Introduction to Mechatronics
10 Electronics and
Instrumentation Engg.
EI511OE: Electronic Measurements and Instrumentation
EI621OE: Industrial Electronics
11 Mechanical Engg. ME511OE: Optimization Techniques
ME512OE: Computer Graphics
ME513OE: Introduction
ME621OE: World Class Manufacturing
ME622OE: Fundamentals of Robotics
ME623OE: Fabrication
to Mechatronics ME514OE:
Fundamentals of Mechanical Engineering
Processes
12 Mechanical Engg. (Material
Science and
Nanotechnology)
NT511OE: Fabrication Processes
NT512OE:
Nondestructive Testing Methods
NT513OE:
Fundamentals of Engineering Materials
NT621OE: Introduction to Material Handling
NT622OE: Non-
Conventional Energy Sources
NT623OE: Robotics
13 Mechanical Engg.
(mechatronics)
MT511OE: Analog and Digital I.C. Applications MT512OE: Intellectual Property Rights
MT513OE: Computer Organization
MT621OE: Data Structures MT622OE: Artificial Neural Networks
MT623OE: Industrial Management
14 Metallurgical and Materials Engg.
MM511OE: Materials Characterization
Techniques
MM621OE: Science and Technology of Nano Materials
MM622OE: Metallurgy of Non Metallurgists
15 Mining Engg. MN511OE: Introduction
to Mining Technology
MN621OE: Coal
Gasification, Coal Bed Methane and Shale Gas
16 Petroleum Engg. PE511OE: Materials
Science and Engineering PE512OE: Renewable Energy Sources
PE513OE:
Environmental Engineering
PE621OE: Energy
Management and
Conservation
PE622OE: Optimization Techniques
PE623OE:
Entrepreneurship and Small Business Enterprises S.
No.
Name of the Department Offering Open Electives
Open Elective –III (Semester – VIII) 1 Aeronautical Engg. AE831OE: Air Transportation Systems
AE832OE: Rockets and Missiles
2 Automobile Engg. AM831OE: Introduction to Mechatronics
AM832OE: Microprocessors and Microcontrollers 3 Biomedical Engg. BM831OE: Telemetry and Telecontrol
BM832OE: Electromagnetic Interference and Compatibility
4 Civil Engg. CE831OE: Environmental Impact Assessment CE832OE: Optimization Techniques in Engineering CE833OE: Entrepreneurship and Small Business Enterprises
5 Civil and Environmental Engg.
CN831OE: Remote Sensing and GIS
CE833OE: Entrepreneurship and Small Business
Enterprises 6 Computer Science and
Engg. / Information Technology
CS831OE: Linux Programming CS832OE: R Programming CS833OE: PHP Programming
7 Electronics and
Communication Engg. / Electronics and Telematics Engg.
EC831OE: Electronic Measuring Instruments
8 Electronics and Computer Engg.
EM831OE: Data Analytics 9 Electrical and Electronics
Engg.
EE831OE: Entrepreneur Resource Planning EE832OE: Management Information Systems EE833OE: Organizational Behaviour
10 Electronics and
Instrumentation Engg.
EI831OE: Sensors and Transducers, EI832OE: PC Based Instrumentation 11 Mechanical Engg. ME831OE: Total Quality Management
ME832OE: Industrial Safety, Health, and Environmental Engineering
ME833OE: Basics of Thermodynamics ME834OE: Reliability Engineering 12 Mechanical Engg. (Material
Science and
Nanotechnology)
NT831OE: Concepts of Nano Science And Technology NT832OE: Synthesis of Nanomaterials
NT833OE: Characterization of Nanomaterials
13 Mechanical Engg.
(mechatronics)
MT831OE: Renewable Energy Sources MT832OE: Production Planning and Control
CE833OE: Entrepreneurship and Small Business Enterprises
14 Metallurgical and Materials Engg.
MM831OE: Design and Selection of Engineering Materials
15 Mining Engg. MN831OE: Solid Fuel Technology MN832OE: Health & Safety in Mines 16 Petroleum Engg. PE831OE: Disaster Management
PE832OE: Fundamentals of Liquefied Natural Gas PE833OE: Health, Safety and Environment in Petroleum Industry
*Open Elective – Students should take Open Electives from List of Open Electives Offered by Other Departments/Branches Only.
Ex: - A Student of Mechanical Engineering can take Open Electives from all other departments/branches except Open Electives offered by Mechanical Engineering Dept.
DATA MINING
B.Tech. IV Year I Sem. L T P C Course Code: CS701PC 4 0 0 4
Course Objectives:
Learn data mining concepts understand association rules mining.
Discuss classification algorithms learn how data is grouped using clustering techniques.
To develop the abilities of critical analysis to data mining systems and applications.
To implement practical and theoretical understanding of the technologies for data mining
To understand the strengths and limitations of various data mining models;
Course Outcomes:
Ability to perform the preprocessing of data and apply mining techniques on it.
Ability to identify the association rules, classification and clusters in large data sets.
Ability to solve real world problems in business and scientific information using data mining
Ability to classify web pages, extracting knowledge from the web
UNIT - I
Introduction to Data Mining: Introduction, What is Data Mining, Definition, KDD, Challenges, Data Mining Tasks, Data Preprocessing, Data Cleaning, Missing data, Dimensionality Reduction, Feature Subset Selection, Discretization and Binaryzation, Data Transformation; Measures of Similarity and Dissimilarity- Basics.
UNIT - II
Association Rules: Problem Definition, Frequent Item Set Generation, The APRIORI Principle, Support and Confidence Measures, Association Rule Generation; APRIOIRI Algorithm, The Partition Algorithms, FP-Growth Algorithms, Compact Representation of Frequent Item Set- Maximal Frequent Item Set, Closed Frequent Item Set.
UNIT - III
Classification: Problem Definition, General Approaches to solving a classification problem , Evaluation of Classifiers , Classification techniques, Decision Trees-Decision tree Construction , Methods for Expressing attribute test conditions, Measures for Selecting the Best Split, Algorithm for Decision tree Induction ; Naive-Bayes Classifier, Bayesian Belief Networks; K- Nearest neighbor classification-Algorithm and Characteristics.
UNIT - IV
Clustering: Problem Definition, Clustering Overview, Evaluation of Clustering Algorithms, Partitioning Clustering-K-Means Algorithm, K-Means Additional issues, PAM Algorithm;
Hierarchical Clustering-Agglomerative Methods and divisive methods, Basic Agglomerative Hierarchical Clustering Algorithm, Specific techniques, Key Issues in Hierarchical Clustering, Strengths and Weakness; Outlier Detection.
UNIT - V
Web and Text Mining: Introduction, web mining, web content mining, web structure mining, we usage mining, Text mining –unstructured text, episode rule discovery for texts, hierarchy of categories, text clustering.
TEXT BOOKS:
1. Data Mining- Concepts and Techniques- Jiawei Han, Micheline Kamber, Morgan Kaufmann Publishers, Elsevier, 2 Edition, 2006.
2. Introduction to Data Mining, Pang-Ning Tan, Vipin Kumar, Michael Steinbanch, Pearson Education.
3. Data mining Techniques and Applications, Hongbo Du Cengage India Publishing
REFERENCE BOOKS:
1. Data Mining Techniques, Arun K Pujari, 3rd Edition, Universities Press.
2. Data Mining Principles & Applications – T.V Sveresh Kumar, B.Esware Reddy, Jagadish S Kalimani, Elsevier.
3. Data Mining, Vikaram Pudi, P Radha Krishna, Oxford University Press
PRINCIPLES OF PROGRAMMING LANGUAGES
B.Tech. IV Year I Sem. L T P C Course Code: CS702PC 4 0 0 4 Course Objectives:
To introduce the various programming paradigms.
To understand the evolution of programming languages.
To understand the concepts of OO languages, functional languages, logical and scripting languages.
To introduce the principles and techniques involved in design and implementation of modern programming languages.
To introduce the notations to describe the syntax and semantics of programming languages.
To introduce the concepts of concurrency control and exception handling.
To introduce the concepts of ADT and OOP for software development.
Course Outcomes:
Ability to express syntax and semantics in formal notation.
Ability to apply suitable programming paradigm for the application.
Ability to compare the features of various programming languages.
Able to understand the programming paradigms of modern programming languages.
Able to understand the concepts of ADT and OOP.
Ability to program in different language paradigms and evaluate their relative benefits.
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, Evolution of Major Programming Languages.
Syntax and Semantics: General problem of describing syntax, 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, character, string types, user defined ordinal types, array, associative arrays, record, tuple types, list types, union 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: Fundamentals of subprograms, 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, co routines
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
UNIT-IV
Object Oriented Programming: Design issues for OOP, OOP in Smalltalk, C++, Java, Ada 95, Ruby, Implementation of Object-Oriented constructs.
Concurrency: introduction, introduction to subprogram level concurrency, semaphores, monitors, message passing, Ada support for concurrency, Java threads, concurrency in functional 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, deficiencies 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 10th edition, Pearson Education.
2. Programming Language Design Concepts, D. A. Watt, Wiley India Edition.
REFERENCE BOOK:
1. Programming Languages, A.B. Tucker, R.E. Noonan, TMH.
2. Programming Languages, K. C. Louden and K A Lambert., 3rd edition, Cengage Learning.
3. Programming Language Concepts, C Ghezzi and M Jazayeri, Wiley India.
4. Programming Languages 2nd Edition Ravi Sethi Pearson.
5. Introduction to Programming Languages Arvind Kumar Bansal CRC Press.
PYTHON PROGRAMMING (PROFESSIONAL ELECTIVE –II)
B.Tech. IV Year I Sem. L T P C Course Code: CS721PE 3 0 0 3
Course Objectives: This course will enable students to
Learn Syntax and Semantics and create Functions in Python.
Handle Strings and Files in Python.
Understand Lists, Dictionaries and Regular expressions in Python.
Implement Object Oriented Programming concepts in Python.
Build Web Services and introduction to Network and Database Programming in Python.
Course Outcomes: The students should be able to:
Examine Python syntax and semantics and be fluent in the use of Python flow control and functions.
Demonstrate proficiency in handling Strings and File Systems.
Create, run and manipulate Python Programs using core data structures like Lists, Dictionaries and use Regular Expressions.
Interpret the concepts of Object-Oriented Programming as used in Python.
Implement exemplary applications related to Network Programming, Web Services and Databases in Python.
UNIT - I
Python Basics, Objects- Python Objects, Standard Types, Other Built-in Types, Internal Types, Standard Type Operators, Standard Type Built-in Functions, Categorizing the Standard Types, Unsupported Types
Numbers - Introduction to Numbers, Integers, Floating Point Real Numbers, Complex Numbers, Operators, Built-in Functions, Related Modules
Sequences - Strings, Lists, and Tuples, Mapping and Set Types
UNIT - II
FILES: File Objects, File Built-in Function [ open() ], File Built-in Methods, File Built-in Attributes, Standard Files, Command-line Arguments, File System, File Execution, Persistent Storage Modules, Related Modules
Exceptions: Exceptions in Python, Detecting and Handling Exceptions, Context Management, *Exceptions as Strings, Raising Exceptions, Assertions, Standard Exceptions,
*Creating Exceptions, Why Exceptions (Now)?, Why Exceptions at All?, Exceptions and the sys Module, Related Modules
Modules: Modules and Files, Namespaces, Importing Modules, Importing Module Attributes, Module Built-in Functions, Packages, Other Features of Modules
UNIT - III
Regular Expressions: Introduction, Special Symbols and Characters, Res and Python
Multithreaded Programming: Introduction, Threads and Processes, Python, Threads, and the Global Interpreter Lock, Thread Module, Threading Module, Related Modules
UNIT - IV
GUI Programming: Introduction, Tkinter and Python Programming, Brief Tour of Other GUIs, Related Modules and Other GUIs
WEB Programming: Introduction, Wed Surfing with Python, Creating Simple Web Clients, Advanced Web Clients, CGI-Helping Servers Process Client Data, Building CGI Application Advanced CGI, Web (HTTP) Servers
UNIT – V
Database Programming: Introduction, Python Database Application Programmer’s Interface (DB-API), Object Relational Managers (ORMs), Related Modules
Textbook
1. Core Python Programming, Wesley J. Chun, Second Edition, Pearson.
MOBILE APPLICATION DEVELOPMENT (PROFESSIONAL ELECTIVE –II)
B.Tech. IV Year I Sem. L T P C Course Code: CS722PE 3 0 0 3
Course Objectives:
To demonstrate their understanding of the fundamentals of Android operating systems
To demonstrate their skills of using Android software development tools
To demonstrate their ability to develop software with reasonable complexity on mobile platform
To demonstrate their ability to deploy software to mobile devices
To demonstrate their ability to debug programs running on mobile devices
UNIT - I
Introduction to Android Operating System: Android OS design and Features – Android development framework, SDK features, Installing and running applications on Eclipse platform, Creating AVDs, Types of Android applications, Best practices in Android programming, Android tools
Android application components – Android Manifest file, Externalizing resources like values, themes, layouts, Menus etc, Resources for different devices and languages, Runtime Configuration Changes
Android Application Lifecycle – Activities, Activity lifecycle, activity states, monitoring state changes
UNIT - II
Android User Interface: Measurements – Device and pixel density independent measuring units. Layouts – Linear, Relative, Grid and Table Layouts.
User Interface (UI) Components – Editable and non-editable Text Views, Buttons, Radio and Toggle Buttons, Checkboxes, Spinners, Dialog and pickers.
Event Handling – Handling clicks or changes of various UI components.
Fragments – Creating fragments, Lifecycle of fragments, Fragment states, Adding fragments to Activity, adding, removing and replacing fragments with fragment transactions, interfacing between fragments and Activities, Multi-screen Activities
UNIT - III
Intents and Broadcasts: Intent – Using intents to launch Activities, Explicitly starting new Activity, Implicit Intents, Passing data to Intents, Getting results from Activities, Native Actions, using Intent to dial a number or to send SMS
Broadcast Receivers – Using Intent filters to service implicit Intents, Resolving Intent filters, finding and using Intents received within an Activity
Notifications – Creating and Displaying notifications, Displaying Toasts
UNIT - IV
Persistent Storage: Files – Using application specific folders and files, creating files, reading data from files, listing contents of a directory Shared Preferences – Creating shared preferences, saving and retrieving data using Shared Preference
Database – Introduction to SQLite database, creating and opening a database, creating tables, inserting retrieving and deleting data, Registering Content Providers, Using content Providers (insert, delete, retrieve and update)
UNIT - V
Advanced Topics: Alarms – Creating and using alarms.
Using Internet Resources – Connecting to internet resource, using download manager Location Based Services – Finding Current Location and showing location on the Map, updating location
TEXT BOOKS:
1. Professional Android 4 Application Development, Reto Meier, Wiley India, (Wrox) , 2012
2. Android Application Development for Java Programmers, James C Sheusi, Cengage Learning, 2013
REFERENCES:
1. Beginning Android 4 Application Development, Wei-Meng Lee, Wiley India (Wrox), 2013
WEB SCRIPTING LANGUAGES (PROFESSIONAL ELECTIVE –II)
B.Tech. IV Year I Sem. L T P C Course Code: CS723PE 3 0 0 3
Prerequisites:
A course on “Computer Programming and Data Structures.”
A course on “Object Oriented Programming Concepts.”
Course Objectives:
This course introduces the script programming paradigm.
Introduces scripting languages such as Perl, Ruby and TCL.
Learning TCL.
Course Outcomes:
Comprehend the differences between typical scripting languages and typical system and application programming languages.
Gain knowledge of the strengths and weakness of Perl, TCL and Ruby; and select an appropriate language for solving a given problem.
Acquire programming skills in scripting language.
UNIT - I
Introduction: Ruby, Rails, the structure and Execution of Ruby Programs, Package Management with RUBYGEMS, Ruby and web: Writing CGI scripts, cookies, Choice of Webservers, SOAP and webservices
RubyTk – Simple Tk Application, widgets, Binding events, Canvas, scrolling
UNIT - II
Extending Ruby: Ruby Objects in C, the Jukebox extension, Memory allocation, Ruby Type System, Embedding Ruby to Other Languages, Embedding a Ruby Interpreter
UNIT - III
Introduction to PERL and Scripting
Scripts and Programs, Origin of Scripting, Scripting Today, Characteristics of Scripting Languages, Uses for Scripting Languages, Web Scripting, and the universe of Scripting Languages. PERL- Names and Values, Variables, Scalar Expressions, Control Structures, arrays, list, hashes, strings, pattern and regular expressions, subroutines.
UNIT - IV Advanced Perl
Finer points of looping, pack and unpack, filesystem, eval, data structures, packages, modules, objects, interfacing to the operating system, Creating Internet ware applications, Dirty Hands Internet Programming, security Issues.
UNIT - V
TCL: TCL Structure, syntax, Variables and Data in TCL, Control Flow, Data Structures, input/output, procedures, strings, patterns, files, Advance TCL- eval, source, exec and uplevel commands, Name spaces, trapping errors, event driven programs, making applications internet aware, Nuts and Bolts Internet Programming, Security Issues, C Interface.
TK: TK-Visual Tool Kits, Fundamental Concepts of TK, TK by example, Events and Binding, Perl-TK.
TEXT BOOKS:
1. The World of Scripting Languages, David Barron, Wiley Publications.
2. Ruby Programming language by David Flanagan and Yukihiro Matsumoto O’Reilly 3. “Programming Ruby” The Pramatic Progammers guide by Dabve Thomas Second
edition
REFERENCE BOOKS:
1. Open Source Web Development with LAMP using Linux Apache, MySQL, Perl and PHP, J.Lee and B. Ware (Addison Wesley) Pearson Education.
2. Perl by Example, E. Quigley, Pearson Education.
3. Programming Perl, Larry Wall, T. Christiansen and J. Orwant, O’Reilly, SPD.
4. Tcl and the Tk Tool kit, Ousterhout, Pearson Education.
5. Perl Power, J.P. Flynt, Cengage Learning.
INTERNET OF THINGS (PROFESSIONAL ELECTIVE – II)
B.Tech. IV Year I Sem. L T P C Course Code: CS724PE/EC732PE 3 0 0 3
Course Objectives:
To introduce the terminology, technology and its applications
To introduce the concept of M2M (machine to machine) with necessary protocols
To introduce the Python Scripting Language which is used in many IoT devices
To introduce the Raspberry PI platform, that is widely used in IoT applications
To introduce the implementation of web based services on IoT devices.
Course Outcomes:
Interpret the impact and challenges posed by IoT networks leading to new architectural models.
Compare and contrast the deployment of smart objects and the technologies to connect them to network.
Appraise the role of IoT protocols for efficient network communication.
Elaborate the need for Data Analytics and Security in IoT.
Illustrate different sensor technologies for sensing real world entities and identify the applications of IoT in Industry.
UNIT - I
Introduction to Internet of Things –Definition and Characteristics of IoT, Physical Design of IoT – IoT Protocols, IoT communication models, Iot Communication APIs, IoT enabled Technologies – Wireless Sensor Networks, Cloud Computing, Big data analytics, Communication protocols, Embedded Systems, IoT Levels and Templates, Domain Specific IoTs – Home, City, Environment, Energy, Retail, Logistics, Agriculture, Industry, health and Lifestyle.
UNIT - II
IoT and M2M – Software defined networks, network function virtualization, difference between SDN and NFV for IoT. Basics of IoT System Management with NETCOZF, YANG- NETCONF, YANG, SNMP NETOPEER
UNIT - III
Introduction to Python - Language features of Python, Data types, data structures, Control of flow, functions, modules, packaging, file handling, data/time operations, classes, Exception handling. Python packages - JSON, XML, HTTP Lib, URL Lib, SMTP Lib.
UNIT - IV
IoT Physical Devices and Endpoints - Introduction to Raspberry PI - Interfaces (serial, SPI, I2C). Programming – Python program with Raspberry PI with focus of interfacing external gadgets, controlling output, reading input from pins.
UNIT - V
IoT Physical Servers and Cloud Offerings – Introduction to Cloud Storage models and communication APIs. Webserver – Web server for IoT, Cloud for IoT, Python web application framework. Designing a RESTful web API
TEXT BOOKS:
1. Internet of Things - A Hands-on Approach, Arshdeep Bahga and Vijay Madisetti, Universities Press, 2015, ISBN: 9788173719547
2. Getting Started with Raspberry Pi, Matt Richardson & Shawn Wallace, O'Reilly (SPD), 2014, ISBN: 9789350239759
GRAPH THEORY
(PROFESSIONAL ELECTIVE – III)
B.Tech. IV Year I Sem. L T P C Course Code: CS731PE 3 0 0 3
Prerequisite:
1. An understanding of Mathematics in general is sufficient.
Course Outcomes:
Know some important classes of graph theoretic problems;
Be able to formulate and prove central theorems about trees, matching, connectivity, colouring and planar graphs;
Be able to describe and apply some basic algorithms for graphs;
Be able to use graph theory as a modelling tool.
UNIT - I
Introduction-Discovery of graphs, Definitions, Subgraphs, Isomorphic graphs, Matrix representations of graphs, Degree of a vertex, Directed walks, paths and cycles, Connectivity in digraphs, Eulerian and Hamilton digraphs, Eulerian digraphs, Hamilton digraphs, Special graphs, Complements, Larger graphs from smaller graphs, Union, Sum, Cartesian Product, Composition, Graphic sequences, Graph theoretic model of the LAN problem, Havel-Hakimi criterion, Realization of a graphic sequence.
UNIT - II
Connected graphs and shortest paths - Walks, trails, paths, cycles, connected graphs, Distance, Cut-vertices and cut-edges, Blocks, Connectivity, Weighted graphs and shortest paths, Weighted graphs, Dijkstra‟s shortest path algorithm, Floyd-Warshall shortest path algorithm.
UNIT - III
Trees- Definitions and characterizations, Number of trees, Cayley’s formula, Kircho-matrix- tree theorem, Minimum spanning trees, Kruskal’s algorithm, Prim’s algorithm, Special classes of graphs, Bipartite Graphs, Line Graphs, Chordal Graphs, Eulerian Graphs, Fleury’s algorithm, Chinese Postman problem, Hamilton Graphs, Introduction, Necessary conditions and sufficient conditions.
UNIT - IV
Independent sets coverings and matchings– Introduction, Independent sets and coverings:
basic equations, Matchings in bipartite graphs, Hall‟s Theorem, K¨onig‟s Theorem, Perfect matchings in graphs, Greedy and approximation algorithms.
UNIT - V
Vertex Colorings- Basic definitions, Cliques and chromatic number, Mycielski’s theorem, Greedy coloring algorithm, Coloring of chordal graphs, Brooks theorem, Edge Colorings, Introduction and Basics, Gupta-Vizing theorem, Class-1 and Class-2 graphs, Edge-coloring of bipartite graphs, Class-2 graphs, Hajos union and Class-2 graphs, A scheduling problem and equitable edge-coloring.
TEXTBOOKS:
1. J. A. Bondy and U. S. R. Murty. Graph Theory, volume 244 of Graduate Texts in Mathematics. Springer, 1st edition, 2008.
2. J. A. Bondy and U. S. R. Murty. Graph Theory with Applications.
REFERENCES:
1. Lecture Videos: http://nptel.ac.in/courses/111106050/13 2. Introduction To Graph Theory, Douglas B. West, Pearson.
3. Schaum's Outlines Graph Theory, Balakrishnan, TMH 4. Introduction to Graph Theory, Wilson Robin j, PHI
5. Graph Theory with Applications to Engineering and Computer Science, Narsing Deo, PHI
6. Graphs - An Introductory Approach, Wilson and Watkins
DISTRIBUTED SYSTEMS (PROFESSIONAL ELECTIVE – III)
B.Tech. IV Year I Sem. L T P C Course Code: CS732PE 3 0 0 3
Course Objectives:
To understand what and why a distributed system is.
To understand theoretical concepts, namely, virtual time, agreement and consensus protocols.
To understand IPC, Group Communication & RPC Concepts.
To understand the DFS and DSM Concepts.
To understand the concepts of transaction in distributed environment and associated concepts, namely, concurrency control, deadlocks and error recovery.
Course Outcomes:
Able to comprehend and design a new distributed system with the desired features.
Able to start literature survey leading to further research in any subarea.
Able to develop new distributed applications.
UNIT- I
Characterization of Distributed Systems: Introduction, Examples of Distributed Systems, Resource Sharing and the Web, Challenges. System Models: Introduction, Architectural Models, Fundamental Models.
UNIT- II
Time and Global States: Introduction, Clocks Events and Process States, Synchronizing Physical Clocks, Logical Time and Logical Clocks, Global States, Distributed Debugging.
Coordination and Agreement: Introduction, Distributed Mutual Exclusion, Elections, Multicast Communication, Consensus and Related Problems.
UNIT- III
Inter Process Communication: Introduction, The API for the Internet Protocols, External Data Representation and Marshalling, Client-Server Communication, Group Communication, Case Study: IPC in UNIX. Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects, Remote Procedure Call, Events and Notifications, Case Study: JAVA RMI.
UNIT- IV
Distributed File Systems: Introduction, File Service Architecture, Case Study 1: Sun Network File System, Case Study 2: The Andrew File System.
Name Services: Introduction, Name Services and the Domain Name System, Directory Services, Case Study of the Global Name Services.
Distributed Shared Memory: Introduction, Design and Implementation Issues, Sequential Consistency and IVY case study, Release Consistency, Munin Case Study, Other Consistency Models.
UNIT- V
Transactions and Concurrency Control: Introduction, Transactions, Nested Transactions, Locks, Optimistic Concurrency Control, Timestamp Ordering, Comparison of Methods for Concurrency Control. Distributed Transactions: Introduction, Flat and Nested Distributed Transactions, Atomic Commit Protocols, Concurrency Control in Distributed Transactions, Distributed Deadlocks, Transaction Recovery.
TEXT BOOK:
1. Distributed Systems, Concepts and Design, George Coulouris, J Dollimore and Tim Kindberg, Pearson Education, 4th Edition, 2009.
REFERENCE BOOKS:
1. Distributed Systems, Principles and Paradigms, Andrew S. Tanenbaum, Maarten Van Steen, 2nd Edition, PHI.
2. Distributed Systems, An Algorithm Approach, Sukumar Ghosh, Chapman &
Hall/CRC, Taylor & Fransis Group, 2007.
MACHINE LEARNING (PROFESSIONAL ELECTIVE – III)
B.Tech. IV Year I Sem. L T P C Course Code: CS733PE 3 0 0 3
Prerequisites
Data Structures
Knowledge on statistical methods
Course Objectives:
This course explains machine learning techniques such as decision tree learning, Bayesian learning etc.
To understand computational learning theory.
To study the pattern comparison techniques.
Course Outcomes:
Understand the concepts of computational intelligence like machine learning
Ability to get the skill to apply machine learning techniques to address the real time problems in different areas
Understand the Neural Networks and its usage in machine learning application.
UNIT - I
Introduction - Well-posed learning problems, designing a learning system, Perspectives and issues in machine learning
Concept learning and the general to specific ordering – introduction, a concept learning task, concept learning as search, find-S: finding a maximally specific hypothesis, version spaces and the candidate elimination algorithm, remarks on version spaces and candidate elimination, inductive bias.
Decision Tree Learning – Introduction, decision tree representation, appropriate problems for decision tree learning, the basic decision tree learning algorithm, hypothesis space search in decision tree learning, inductive bias in decision tree learning, issues in decision tree learning.
UNIT - II
Artificial Neural Networks-1– Introduction, neural network representation, appropriate problems for neural network learning, perceptions, multilayer networks and the back- propagation algorithm.
Artificial Neural Networks-2- Remarks on the Back-Propagation algorithm, An illustrative example: face recognition, advanced topics in artificial neural networks.
Evaluation Hypotheses – Motivation, estimation hypothesis accuracy, basics of sampling theory, a general approach for deriving confidence intervals, difference in error of two hypotheses, comparing learning algorithms.
UNIT - III
Bayesian learning – Introduction, Bayes theorem, Bayes theorem and concept learning, Maximum Likelihood and least squared error hypotheses, maximum likelihood hypotheses for predicting probabilities, minimum description length principle, Bayes optimal classifier, Gibs algorithm, Naïve Bayes classifier, an example: learning to classify text, Bayesian belief networks, the EM algorithm.
Computational learning theory – Introduction, probably learning an approximately correct hypothesis, sample complexity for finite hypothesis space, sample complexity for infinite hypothesis spaces, the mistake bound model of learning.
Instance-Based Learning- Introduction, k-nearest neighbour algorithm, locally weighted regression, radial basis functions, case-based reasoning, remarks on lazy and eager learning.
UNIT- IV
Genetic Algorithms – Motivation, Genetic algorithms, an illustrative example, hypothesis space search, genetic programming, models of evolution and learning, parallelizing genetic algorithms.
Learning Sets of Rules – Introduction, sequential covering algorithms, learning rule sets:
summary, learning First-Order rules, learning sets of First-Order rules: FOIL, Induction as inverted deduction, inverting resolution.
Reinforcement Learning – Introduction, the learning task, Q–learning, non-deterministic, rewards and actions, temporal difference learning, generalizing from examples, relationship to dynamic programming.
UNIT - V
Analytical Learning-1- Introduction, learning with perfect domain theories: PROLOG-EBG, remarks on explanation-based learning, explanation-based learning of search control knowledge.
Analytical Learning-2-Using prior knowledge to alter the search objective, using prior knowledge to augment search operators.
Combining Inductive and Analytical Learning – Motivation, inductive-analytical approaches to learning, using prior knowledge to initialize the hypothesis.
TEXT BOOK:
1. Machine Learning – Tom M. Mitchell, - MGH
REFERENCE:
1. Machine Learning: An Algorithmic Perspective, Stephen Marshland, Taylor &
Francis
SOFTWARE PROCESS AND PROJECT MANAGEMENT (PROFESSIONAL ELECTIVE – III)
B.Tech. IV Year I Sem. L T P C Course Code: CS734PE 3 0 0 3
Course Objectives:
To acquire knowledge on software process management
To acquire managerial skills for software project development
To understand software economics
Course Outcomes:
Gain knowledge of software economics, phases in the life cycle of software development, project organization, project control and process instrumentation
Analyze the major and minor milestones, artifacts and metrics from management and technical perspective
Design and develop software product using conventional and modern principles of software project management
UNIT - I
Software Process Maturity
Software maturity Framework, Principles of Software Process Change, Software Process Assessment, The Initial Process, The Repeatable Process, The Defined Process, The Managed Process, The Optimizing Process.
Process Reference Models
Capability Maturity Model (CMM), CMMI, PCMM, PSP, TSP).
UNIT - II
Software Project Management Renaissance
Conventional Software Management, Evolution of Software Economics, Improving Software Economics, The old way and the new way.
Life-Cycle Phases and Process artifacts
Engineering and Production stages, inception phase, elaboration phase, construction phase, transition phase, artifact sets, management artifacts, engineering artifacts and pragmatic artifacts, model-based software architectures.
UNIT - III
Workflows and Checkpoints of process
Software process workflows, Iteration workflows, Major milestones, minor milestones, periodic status assessments.
Process Planning
Work breakdown structures, Planning guidelines, cost and schedule estimating process, iteration planning process, Pragmatic planning.
UNIT - IV
Project Organizations
Line-of- business organizations, project organizations, evolution of organizations, process automation.
Project Control and process instrumentation
The seven-core metrics, management indicators, quality indicators, life-cycle expectations, Pragmatic software metrics, metrics automation.
UNIT - V
CCPDS-R Case Study and Future Software Project Management Practices
Modern Project Profiles, Next-Generation software Economics, Modern Process Transitions.
TEXT BOOKS:
1. Managing the Software Process, Watts S. Humphrey, Pearson Education 2. Software Project Management, Walker Royce, Pearson Education
REFERENCES:
1. An Introduction to the Team Software Process, Watts S. Humphrey, Pearson Education, 2000 Process Improvement essentials, James R. Persse, O’Reilly, 2006 2. Software Project Management, Bob Hughes & Mike Cotterell, fourth edition, TMH,
2006
3. Applied Software Project Management, Andrew Stellman & Jennifer Greene, O’Reilly, 2006.
4. Head First PMP, Jennifer Greene & Andrew Stellman, O’Reilly, 2007
5. Software Engineering Project Management, Richard H. Thayer & Edward Yourdon, 2nd edition, Wiley India, 2004.
6. Agile Project Management, Jim Highsmith, Pearson education, 2004.
COMPUTATIONAL COMPLEXITY (PROFESSIONAL ELECTIVE – IV)
B.Tech. IV Year I Sem. L T P C Course Code: CS741PE 3 0 0 3
Prerequisites:
1. A course on “Computer Programming and Data Structures”.
2. A course on “Discrete Structures and Graph Theory”.
Course Objectives:
Introduces to theory of computational complexity classes
Discuss about algorithmic techniques and application of these techniques to problems.
Introduce to randomized algorithms and discuss how effective they are in reducing time and space complexity.
Discuss about Graph based algorithms and approximation algorithms
Discuss about search trees
Course Outcomes:
Ability to classify decision problems into appropriate complexity classes
Ability to specify what it means to reduce one problem to another, and construct reductions for simple examples.
Ability to classify optimization problems into appropriate approximation complexity classes
Ability to choose appropriate data structure for the given problem
Ability to choose and apply appropriate design method for the given problem
UNIT - I
Computational Complexity: Polynomial time and its justification, Nontrivial examples of polynomial-time algorithms, the concept of reduction (reducibility), Class P Class NP and NP- Completeness, The P versus NP problem and why it’s hard
UNIT - II
Algorithmic paradigms: Dynamic Programming – Longest common subsequence, matrix chain multiplication, knapsack problem, Greedy – 0-1 knapsack, fractional knapsack, scheduling problem, Huffman coding, MST, Branch-and-bound – travelling sales person problem, 0/1 knapsack problem, Divide and Conquer – Merge sort, binary search, quick sort.
UNIT - III
Randomized Algorithms: Finger Printing, Pattern Matching, Graph Problems, Algebraic Methods, Probabilistic Primality Testing, De-Randomization Advanced Algorithms:
UNIT - IV
Graph Algorithms: Shortest paths, Flow networks, Spanning Trees; Approximation algorithms, Randomized algorithms. Approximation algorithms: Polynomial Time Approximation Schemes.
UNIT - V
Advanced Data Structures and applications: Decision Trees and Circuits, B-Trees, AVL Trees, Red and Black trees, Dictionaries and tries, Maps, Binomial Heaps, Fibonacci Heaps, Disjoint sets, Union by Rank and Path Compression
TEXT BOOKS:
1. T. Cormen, C. Leiserson, R. Rivest and C. Stein, Introduction to Algorithms, Third Edition, McGraw-Hill, 2009.
2. R. Motwani and P. Raghavan, Randomized Algorithms, Cambridge University Press, 1995.
3. J. J. McConnell, Analysis of Algorithms: An Active Learning Approach, Jones &
Bartlett Publishers, 2001.
4. D. E. Knuth, Art of Computer Programming, Volume 3, Sorting and Searching, Second Edition, Addison-Wesley Professional, 1998.
5. S. Dasgupta, C. H. Papadimitriou and U. V. Vazirani, Algorithms, McGraw-Hill, 2008.
CLOUD COMPUTING
(PROFESSIONAL ELECTIVE – IV)
B.Tech. IV Year I Sem. L T P C Course Code: CS742PE 3 0 0 3
Prerequisites:
A course on “Computer Networks”.
A course on “Operating Systems”.
A course on “Distributed Systems”.
Course Objectives:
This course provides an insight into cloud computing
Topics covered include- distributed system models, different cloud service models, service-oriented architectures, cloud programming and software environments, resource management.
Course Outcomes:
Ability to understand various service delivery models of a cloud computing architecture.
Ability to understand the ways in which the cloud can be programmed and deployed.
Understanding cloud service providers.
UNIT - I
Computing Paradigms: High-Performance Computing, Parallel Computing, Distributed Computing, Cluster Computing, Grid Computing, Cloud Computing, Bio computing, Mobile Computing, Quantum Computing, Optical Computing, Nano computing.
UNIT - II
Cloud Computing Fundamentals: Motivation for Cloud Computing, The Need for Cloud Computing, Defining Cloud Computing, Definition of Cloud computing, Cloud Computing Is a Service, Cloud Computing Is a Platform, Principles of Cloud computing, Five Essential Characteristics, Four Cloud Deployment Models
UNIT - III
Cloud Computing Architecture and Management: Cloud architecture, Layer, Anatomy of the Cloud, Network Connectivity in Cloud Computing, Applications, on the Cloud, Managing the Cloud, Managing the Cloud Infrastructure Managing the Cloud application, Migrating Application to Cloud, Phases of Cloud Migration Approaches for Cloud Migration.
UNIT - IV
Cloud Service Models: Infrastructure as a Service, Characteristics of IaaS. Suitability of IaaS, Pros and Cons of IaaS, Summary of IaaS Providers, Platform as a Service,
Characteristics of PaaS, Suitability of PaaS, Pros and Cons of PaaS, Summary of PaaS Providers, Software as a Service, Characteristics of SaaS, Suitability of SaaS, Pros and Cons of SaaS, Summary of SaaS Providers, Other Cloud Service Models.
UNIT - V
Cloud Service Providers: EMC, EMC IT, Captiva Cloud Toolkit, Google, Cloud Platform, Cloud Storage, Google Cloud Connect, Google Cloud Print, Google App Engine, Amazon Web Services, Amazon Elastic Compute Cloud, Amazon Simple Storage Service, Amazon Simple Queue ,service, Microsoft, Windows Azure, Microsoft Assessment and Planning Toolkit, SharePoint, IBM, Cloud Models, IBM Smart Cloud, SAP Labs, SAP HANA Cloud Platform, Virtualization Services Provided by SAP, Sales force, Sales Cloud, Service Cloud:
Knowledge as a Service, Rack space, VMware, Manjra soft, Aneka Platform
TEXT BOOKS:
1. Essentials of cloud Computing: K. Chandrasekhran, CRC press, 2014
REFERENCE BOOKS:
1. Cloud Computing: Principles and Paradigms by Rajkumar Buyya, James Broberg and Andrzej M. Goscinski, Wiley, 2011.
2. Distributed and Cloud Computing, Kai Hwang, Geoffery C. Fox, Jack J. Dongarra, Elsevier, 2012.
3. Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance, Tim Mather, Subra Kumaraswamy, Shahed Latif, O’Reilly, SPD, rp2011.
BLOCKCHAIN TECHNOLOGY (PROFESSIONAL ELECTIVE – IV)
B.Tech. IV Year I Sem. L T P C Course Code: CS743PE 3 0 0 3
Prerequisites
1. Knowledge in security and applied cryptography;
2. Knowledge in distributed databases
Course Objectives:
To Introduce block chain technology and Cryptocurrency
Course Outcomes:
Learn about research advances related to one of the most popular technological areas today.
UNIT- I
Introduction: Block chain or distributed trust, Protocol, Currency, Cryptocurrency, How a Cryptocurrency works, Crowdfunding
UNIT- II
Extensibility of Blockchain concepts, Digital Identity verification, Block chain Neutrality, Digital art, Blockchain Environment
UNIT- III
Blockchain Science: Gridcoin, Folding coin, Blockchain Genomics, Bitcoin MOOCs
UNIT - IV
Currency, Token, Tokenizing, Campuscoin, Coindrop as a strategy for Public adoption, Currency Multiplicity, Demurrage currency
UNIT - V
Technical challenges, Business model challenges, Scandals and Public perception, Government Regulations
TEXTBOOK:
1. Blockchain Blue print for Economy by Melanie Swan
REFERENCE:
1. Blockchain Basics: A Non-Technical Introduction in 25 Steps 1st Edition, by Daniel Drescher
SOCIAL NETWORK ANALYSIS (PROFESSIONAL ELECTIVE – IV)
B.Tech. IV Year I Sem. L T P C Course Code: CS744PE 3 0 0 3
Course Objectives:
To understand the concept of semantic web and related applications.
To learn knowledge representation using ontology.
To understand human behaviour in social web and related communities.
To learn visualization of social networks.
Course Outcomes: Upon completion of the course, the students should be able to:
Develop semantic web related applications.
Represent knowledge using ontology.
Predict human behaviour in social web and related communities.
Visualize social networks.
UNIT - I
INTRODUCTION
Introduction to Semantic Web: Limitations of current Web – Development of Semantic Web – Emergence of the Social Web – Social Network analysis: Development of Social Network Analysis – Key concepts and measures in network analysis – Electronic sources for network analysis: Electronic discussion networks, Blogs and online communities – Web-based networks – Applications of Social Network Analysis.
UNIT - II
Modelling, Aggregating and Knowledge Representation
Ontology and their role in the Semantic Web: Ontology-based knowledge Representation – Ontology languages for the Semantic Web: Resource Description Framework – Web Ontology Language – Modelling and aggregating social network data: State-of-the-art in network data representation – Ontological representation of social individuals – Ontological representation of social relationships – Aggregating and reasoning with social network data – Advanced representations.
UNIT - III
Extraction and Mining Communities in Web Social Networks
Extracting evolution of Web Community from a Series of Web Archive – Detecting communities in social networks – Definition of community – Evaluating communities – Methods for community detection and mining – Applications of community mining algorithms – Tools for detecting communities social network infrastructures and communities – Decentralized online social networks – Multi-Relational characterization of dynamic social network communities.
UNIT - IV
Predicting Human Behaviour and Privacy Issues
Understanding and predicting human behaviour for social communities – User data management – Inference and Distribution – Enabling new human experiences – Reality mining – Context – Awareness – Privacy in online social networks – Trust in online environment – Trust models based on subjective logic – Trust network analysis – Trust transitivity analysis – Combining trust and reputation – Trust derivation based on trust comparisons – Attack spectrum and countermeasures.
UNIT - V
Visualization and Applications of Social Networks
Graph theory – Centrality – Clustering – Node-Edge Diagrams – Matrix representation – Visualizing online social networks, Visualizing social networks with matrix-based representations – Matrix and Node-Link Diagrams – Hybrid representations – Applications – Cover networks – Community welfare – Collaboration networks – Co-Citation networks.
TEXT BOOKS:
1. Peter Mika, ―Social Networks and the Semantic Web, First Edition, Springer 2007.
2. Borko Furht, ―Handbook of Social Network Technologies and Applications, 1st Edition, Springer, 2010.
REFERENCES:
1. Guandong Xu, Yanchun Zhang and Lin Li, Web Mining and Social Networking – Techniques and applications, First Edition, Springer, 2011.
2. Dion Goh and Schubert Foo - Social information Retrieval Systems: Emerging Technologies and Applications for Searching the Web Effectively, IGI Global Snippet, 2008.
3. Max Chevalier, Christine Julien and Chantal Soulé-Dupuy, Collaborative and Social Information Retrieval and Access: Techniques for Improved user Modelling, IGI Global Snippet, 2009.
4. John G. Breslin, Alexander Passant and Stefan Decker, -The Social Semantic Web, Springer, 2009.
DATA MINING LAB
B.Tech. IV Year I Sem. L T P C Course Code: CS703PC 0 0 3 2 Course Objectives:
To obtain practical experience using data mining techniques on real world data sets.
Emphasize hands-on experience working with all real data sets.
List of Sample Problems: Task 1: Credit Risk Assessment
Description:
The business of banks is making loans. Assessing the credit worthiness of an applicant is of crucial importance. You have to develop a system to help a loan officer decide whether the credit of a customer is good, or bad. A bank's business rules regarding loans must consider two opposing factors. On the one hand, a bank wants to make as many loans as possible.
Interest on these loans is the banks profit source. On the other hand, a bank cannot afford to make too many bad loans. Too many bad loans could lead to the collapse of the bank. The bank's loan policy must involve a compromise: not too strict, and not too lenient.
To do the assignment, you first and foremost need some knowledge about the world of credit.
You can acquire such knowledge in a number of ways.
1. Knowledge Engineering. Find a loan officer who is willing to talk. Interview her and try to represent her knowledge in the form of production rules.
2. Books. Find some training manuals for loan officers or perhaps a suitable textbook on finance. Translate this knowledge from text form to production rule form.
3. Common sense. Imagine yourself as a loan officer and make up reasonable rules which can be used to judge the credit worthiness of a loan applicant.
4. Case histories. Find records of actual cases where competent loan officers correctly judged when, and when not to, approve a loan application.
The German Credit Data:
Actual historical credit data is not always easy to come by because of confidentiality rules.
Here is one such dataset, consisting of 1000 actual cases collected in Germany. Credit dataset (original) Excel spreadsheet version of the German credit data.
In spite of the fact that the data is German, you should probably make use of it for this assignment. (Unless you really can consult a real loan officer!)
A few notes on the German dataset
1. DM stands for Deutsche Mark, the unit of currency, worth about 90 cents Canadian (but looks and acts like a quarter).
2. owns_telephone. German phone rates are much higher than in Canada so fewer people own telephones.
3. foreign_worker. There are millions of these in Germany (many from Turkey). It is very hard to get German citizenship if you were not born of German parents.
4. There are 20 attributes used in judging a loan applicant. The goal is to classify the applicant into one of two categories, good or bad.
PYTHON PROGRAMMING LAB
B.Tech. IV Year I Sem. L T P C Course Code: CS751PC 0 0 3 2 Prerequisites: Students should install Python on Linux platform.
Course Objectives:
To be able to introduce core programming basics and program design with functions using Python programming language.
To understand a range of Object-Oriented Programming, as well as in-depth data and information processing techniques.
To understand the high-performance programs designed to strengthen the practical expertise.
Course Outcomes:
Student should be able to understand the basic concepts scripting and the contributions of scripting language
Ability to explore python especially the object oriented concepts, and the built in objects of Python.
Ability to create practical and contemporary applications such as TCP/IP network programming, Web applications, discrete event simulations
List of Programs:
1. Write a program to demonstrate different number data types in Python.
2. Write a program to perform different Arithmetic Operations on numbers in Python.
3. Write a program to create, concatenate and print a string and accessing sub-string from a given string.
4. Write a python script to print the current date in the following format “Sun May 29 02:26:23 IST 2017”
5. Write a program to create, append, and remove lists in python.
6. Write a program to demonstrate working with tuples in python.
7. Write a program to demonstrate working with dictionaries in python.
8. Write a python program to find largest of three numbers.
9. Write a Python program to convert temperatures to and from Celsius, Fahrenheit.
[ Formula: c/5 = f-32/9]
10. Write a Python program to construct the following pattern, using a nested for loop *
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
11. Write a Python script that prints prime numbers less than 20.
12. Write a python program to find factorial of a number using Recursion.
13. Write a program that accepts the lengths of three sides of a triangle as inputs. The program output should indicate whether or not the triangle is a right triangle (Recall from the Pythagorean Theorem that in a right triangle, the square of one side equals the sum of the squares of the other two sides).
14. Write a python program to define a module to find Fibonacci Numbers and import the module to another program.
15. Write a python program to define a module and import a specific function in that module to another program.
16. Write a script named copyfile.py. This script should prompt the user for the names of two text files. The contents of the first file should be input and written to the second file.
17. Write a program that inputs a text file. The program should print all of the unique words in the file in alphabetical order.
18. Write a Python class to convert an integer to a roman numeral.
19. Write a Python class to implement pow(x, n)
20. Write a Python class to reverse a string word by word.
MOBILE APPLICATION DEVELOPMENT LAB
B.Tech. IV Year I Sem. L T P C Course Code: CS752PC 0 0 3 2
Course Objectives:
To learn how to develop Applications in android environment.
To learn how to develop user interface applications.
To learn how to develop URL related applications.
The student is expected to be able to do the following problems, though not limited.
1. (a) Create an Android application that shows Hello + name of the user and run it on an emulator.
(b) Create an application that takes the name from a text box and shows hello message along with the name entered in text box, when the user clicks the OK button.
2. Create a screen that has input boxes for User Name, Password, Address, Gender (radio buttons for male and female), Age (numeric), Date of Birth (Date Picket), State (Spinner) and a Submit button. On clicking the submit button, print all the data below the Submit Button. Use
(a) Linear Layout, (b) Relative Layout and (c) Grid Layout or Table Layout.
3. Develop an application that shows names as a list and on selecting a name it should show the details of the candidate on the next screen with a “Back” button. If the screen is rotated to landscape mode (width greater than height), then the screen should show list on left fragment and details on right fragment instead of second screen with back button. Use Fragment transactions and Rotation event listener.
4. Develop an application that uses a menu with 3 options for dialing a number, opening a website and to send an SMS. On selecting an option, the appropriate action should be invoked using intents.
5. Develop an application that inserts some notifications into Notification area and whenever a notification is inserted, it should show a toast with details of the notification.
6. Create an application that uses a text file to store user names and passwords (tab separated fields and one record per line). When the user submits a login name and password through a screen, the details should be verified with the text file data and if they match, show a dialog saying that login is successful. Otherwise, show the dialog with Login Failed message.
7. Create a user registration application that stores the user details in a database table.
8. Create a database and a user table where the details of login names and passwords are stored. Insert some names and passwords initially. Now the login details entered by the user should be verified with the database and an appropriate dialog should be shown to the user.
Note:
Android Application Development with MIT App Inventor: For the first one week, the student is advised to go through the App Inventor from MIT which gives insight into the various properties of each component.
The student should pay attention to the properties of each component, which are used later in Android programming. Following are useful links:
1. http://ai2.appinventor.mit.edu
2. https://drive.google.com/file/d/0B8rTtW_91YclTWF4czdBMEpZcWs/view