Curriculum-2015 for BTech (CSE) and BTech (IT) at JIIT

Posted on May 27, 2015

0


Authored by Sanjay Goel

______________________________________________________

As per JIIT’s  requirement, BTech curriculum comprises of 195 credits.

  • A student with CGPA of >= 8.5 will be awarded BTech with Honours.
  • 5 year Integrated MTech (CSE) students are required to study all courses required for 4 year BTech (CSE) as well as all courses required for 2 year MTech (CSE).
  • Students can also earn an additional minor specialisation in other disciplines, e.g., ECE, Maths, Physics, etc.  For this they will be required to take 8 extra credits and earn a total 40 credits in the area of minor specialisation.

Courses common to all other BTech

  1. Maths core courses:   3 Nos.     (1st and 2nd year)                                      12 credits
  2. Physics core courses:  2 Th+Lab courses  (1st year)                                   10 credits
  3. ECE foundation core courses:  2 Th+Lab courses  (1st year)                     10 credits
  4. HSS + English core courses:   3 Nos.     (1st  year)                                       8 credits
  5. CSE/IT foundation core courses:  2 Th+Lab courses  (1st year)                 11 credits
  6. Environment courses:  1 core course   (2nd year)                                         3 credits
  7. HSS electives:   4 courses (2nd and 3rd year)                                             12 credits
  8. Science elective courses (by Math + Physics):  2 Nos (3rd year)               8 credits
  9. Open elective courses (to be offered by any deptt):  2 Nos (4th  year)         6 credits

Discipline specific CSE/IT core and Electives

  1. Core Theory courses:  10. Nos (2nd – 6th semester)                                 40 credits
  2. Core Lab courses:  12 Nos. (2nd & 3rd year)                                            12 credits
  3. Elective theory courses:  8 Nos.  (4th -8th semester)                                32 credits
  4. Industrial Training: (summer between 3rd and 4th year)                            2 credits
  5. Minor projects:  2 Nos (3rd year)                                                              10 credits
  6. Term paper:  (7th sem)                                                                                3 credits
  7. Major Project:  (4th year)                                                                          16 credits

Given below is the list and brief outline of proposed CSE/IT foundation courses for all disciplines and proposed discipline specific core courses for CSE/IT students. Effort has been made to appropriately address the recommendations of IEEE/ACM CS curricula report 2013. Some main features of the scheme are as follows:

  • The number of elective courses has been significantly increased.
  • A concept of ‘flexible core’ has been introduced for core courses from fifth semester onwards. Upto second year, the scheme caters to the essential (primary) core of CSE/IT and then in third year a limited flexibility is being provided in the choice of subjects for ‘secondary’ core. Students desirous of studying a missed alternative from secondary core can do so through departmental elective route.
  • The two common first year courses have been completely redesigned keeping the generic computing needs of all departments.
  • The content of a few courses includes topics drawn from more than one area.

General Engg. Courses for all departments by CSE/IT deptt:

Sem-I –  GE-CSIT-1:  Software Development Fundamentals – I      :   Theory and   4 hrs weekly lab

Sem-II – GE-CSIT-2:  Software Development Fundamentals – II    :   Theory and   2 hrs weekly lab

Discipline Specific CSE/IT Courses for CSE/IT students

SEM SNo CSE IT
II 1 CSIT-1:  Theoretical foundations of Computer Science
III 2 CSIT-2:  Data Structures
III 3 CSIT-3:   Introduction to Digital Systems (by ECE deptt.)
III 4 CSIT-4:   Database Systems and Web
IV 5 CSIT-5:   Computer Organisation and Architecture
IV 6 CSIT-6:   Algorithms and Problem Solving
IV 7 CSIT-7:   Operating Systems and Systems Programming
IV 8 CS Elective –1 IT Elective-1
Flexi-core (Student will have a choice to pick any)
V 9 CS-1: Computer Networks/Embedded Systems IT-1: Computer Networks
V 10 CS-2: Software Engineering/ Artificial Intelligence IT-2: Cloud based Enterprise Systems
VI 11 CS-3: Theory of Computation and Compiler Design /Theory of Programming Languages IT-3: Data Mining and Web Algorithms /Mobile Applications and Internet of Things
VI 12 CS Elective –2 IT Elective –2
VI 13 CS Elective –3 IT Elective –3
VII 14 CS Elective –4 IT Elective –4
VII 15 CS Elective –5 IT Elective –5
VII 16 CS Elective –6 IT Elective –6
VIII 17 CS Elective –7 IT Elective –7
VIII 18 CS Elective –8 IT Elective –8

Except for CSIT-1 in the above list, all other proposed core courses will have associated lab as well.  In addition, in the 5th semester, following labs are also part of the core courses:

1.   Information Security Lab (for both CSE as well as IT)

2.   Open Source Software Lab (for CSE)

3.   Multimedia Lab (for IT)

Syllabus of Common core CSE-IT courses for all disciplines  (1st year)

 GE-CSIT-1: Software Development Fundamentals – I: (1st Sem, 3-1-0 +  0-0-4)

Developing  simple software applications with scripting and visual languages:  Elementary Database – Data tables, Basic SQL; Elementary Web Programming – Tagging vs Programming, Introduction to HTML, scripting languages, database connectivity

Algorithmic thinking, Introductory algorithms and flowcharts; Data Representation – signed/unsigned integers,  real numbers, characters)   

Introduction to C programming – syntax and semantics, data types and variables, expressions and assignments, array and struct, simple I/O, conditional and iterative control structures, functions and parameter passing, basic recursion, e.g., factorial, Fibonacci, Programs for pattern generation,  Programs for Elementary numerical problems – unit conversion, average, sum, min, max of a list of numbers,  common operations with vector, matrix, polynomial, and polygons, approximating the square root of a number, finding the greatest common divisor, Aspects of numerical computing – precision, accuracy, error. Introduction to Scientific Computation. 

 GE-CSIT-II: Software Development Fundamentals – II:  (2nd Sem, 3-1-0 + 0-0-2)

Advanced C programming: Pointers, handling arrays through pointers, pointer arithmetic, Library function – basic file handling, basic graphics and sound functions; linear and binary search, insertion, selection, and bubble sort.  

Object Oriented Programming – Concepts of Object-Orientation in C++, constructs, objects,  classes, methods, constructors, function and operator overloading, inheritance, polymorphism, Introduction to SDLC, Program comprehension. Testing fundamentals and test-case generation.   

Implementations and applications of elementary data structures – Stacks, Queues, Deque, linked list, binary trees, sparse matrix, Using STL  

Common core CSE-IT courses for CSE and IT  (1st and 2nd year)

CSIT-1: Theoretical foundations of Computer Science:   (2nd Sem, 3-1-0)

Discrete Structures: Propositional & Predicate Logic, Proof techniques: Sets, Functions,  Recursion, induction, Counting, combinatorics; Relations, closures of relations, equivalence relations, partial orderings, Hasse diagrams, lattices; Graphs, Euler and Hamiltonian paths, planar graphs, graph coloring problem, Boolean algebra, Binary arithmetic, algebraic structures, properties and applications; 

Introduction to Automata theory: Finite Automata and Regular languages, regular expressions, DFA, NFA, non-regular languages, context free languages, Turing machine and its examples.    

 CSIT-2 Data Structures:  (3rd  Sem, 3-1-0 + 0-0-2)

ADT, Time and space complexity, analysis of algorithms, Stack & Queue based applications, Recursion removal, Searching,  Sorting, Simple fractal graphics; Binary tree, k-ary tree, BST, Threaded Tree, AVL Tree, B Tree, B+ Tree, Heap and Priority Queue, Hashing, Set, Multiset, Dictionary,  Maps, Graphs and basic algorithms, e.g., traversal, spanning tree, isomorphism. Data structure evaluation. 

Advanced Programming issues – Class diagram, Templates, STL, Memory management (garbage collection), Assertion, Defensive programming (e.g. secure coding, exception handling), Code reviews, Program correctness (The role and the use of contracts, including pre- and post-conditions), Unit testing, Event-Driven and Reactive Programming, Debugging techniques.   

 CSIT-3 Introduction to Digital Systems (3rd Sem, 3-1-0 + 0-0-2)

Introductory topics in Digital Electronics, Digital Communication, and Digital Signal Processing.

DIGITAL ELECTRONICS: Karnaugh Map, Prime Implicants, Essential Prime Implicants, Arithmetic Logic Modules- Half Adder, Full Adder, Half Subtractor, Full Subtractor, Full Adder Using Half Adder, Latches and Flip-Flops: SR, JK, Master Slave JK, T And D; Excitation Tables, Conversion of Flip-Flops; Synchronous and Asynchronous Counters, Design of Counters Using Flip- Flops, Registers, Shift Registers, Counters Using Shift Registers; State Diagram Design, Analysis of Sequential Circuits Using Flip-Flops.

DIGITAL COMMUNICATIONS: Nyquist criteria, Reconstruction using Interpolation Filters, Ideal, Natural and Flat top sampling, PCM Generation and Detection, Quantization, Quantization error, Non-Uniform Quantization, Companding, Differential PCM, Delta Modulation, Adaptive Delta Modulation, Data Encoding Formats, Binary & M-ary modulation techniques: FSK, PSK, DPSK, M-ary PSK, Minimum Phase Shift Keying (MSK) and Quadrature Amplitude Modulation, Probability of error analysis – Optimum filter, Matched filter, Probability of Error for FSK, PSK, DPSK, M-ary PSK.

DIGITAL SIGNAL PROCESSING: Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT) Algorithms Using Decimation in Time and Decimation in Frequency Techniques, Basic Structures of Digital Filters; FIR Filters Design – Frequency Sampling and Windowing Techniques, Significance of Linear Phase Response of a System (Analog, Video circuits), Multi-Rate Signal ProcessingDecimation & Interpolation.

 CSIT-4 Database Systems and Web:  (3rd  Sem, 3-1-0 + 0-0-2)

Historical context of Databases and Web, Relational schema, ER, EER, multimedia data types,  entity and referential integrity, Relational Algebra, SQL,  PL/SQL, Data dependencies and normalisation, Transaction, concurrency control and  recovery,  NoSQL database, Web Architecture, SGML, HTML 5, DHTML, CSS, Java script, PHP, database connectivity;  Database Security issues.

CSIT-5 Computer Organisation and Architecture:  (3rd  Sem, 3-1-0 + 0-0-2)

Introduction: levels in architecture, virtual machines, evolution of multi-level machines, performance measures for computer systems; CPU organisation, data path and control, instruction execution, Microinstructions, hardwired and micro-programmed control; ISA, stack/accumulator/register-register/register-memory type of architectures, memory addressing, types of instructions – data movement, arithmetic/logic, control flow, Addressing modes, instruction formats,  MIPS and 8085 architecture; Assembly language programming. Assembler, case study of a popular architecture and assembly level programming; Memory Organisation, hierarchical memory structure, cache memory and performance, I/O organization, programmed/interrupt-driven I/O, DMA; Introduction to pipelining.

 CSIT-6 Algorithms and Problem Solving:  (4th  Sem, 3-1-0 + 0-0-4)

Review of Nonlinear Data Structures (Tree, Heap, Graph).  BFS & DFS.

Analysis of Algorithms Asymptotic Analysis:  Growth of Functions and Recurrences; Notations- Big O, big omega, big theta, little o; Formal and  empirical analysis of sorting algorithms-Radix, merge, quick, heap sort. Time-space trade off of algorithms, P, NP, NP-completeness. Greedy Algorithms: Minimum Spanning Trees, Shortest Path Problem, Dijkstra’s algorithm, Fractional Knapsack. Divide and Conquer Algorithms: Polynomial, Merge and Quick Sort.  Backtracking Algorithms: M-coloring problem, Finding Hamiltonian Cycle.  Dynamic Programming: Binomial Coefficient, Chain Matrix Multiplication, Knapsack, LCS.  Branch and bound, Reduction (transform and conquer). String Matching:  Naïve String Matching, Finite Automata Matcher, Rabin Karp matching algorithm. KMP. Graph Algorithms, Network flows,  Compression, Cryptography.

Problem spaces (states, goals and operators), Factored representation (factoring state into variables), problem solving by search – uninformed search (BFS, DFS, DFS with iterative deepening), Heuristics and informed search (hill-climbing, generic best-first, A*), Two-player games (mini-max search), Decision trees

CSIT-7   Operating Systems and Systems Programming: (4th  Sem, 3-1-0+0-0-2)

Operating Systems- Introduction, Historical context of Operating Systems, OS Structure, Architecture, Process Concepts, Threads & Concurrency, Scheduling Concurrency & Synchronization issues, Deadlock, Memory Management, Virtual Memory, File System management, Secondary Storage,  Input output management, Introduction to Distributed OS, Fault and Security Issues, Case studies of OS  [32L]

System Programming:-   Memory Addressing, Interrupts and Exceptions, Kernel Synchronization, System Calls, Signals. Block Device Drivers, Character Device Drivers, Network Drivers.  [10L]

Core CSE courses for CSE (3rd year)

CS-1  Computer Networks: (5th  Sem, 3-1-0 + 0-0-2)

Introduction: Uses of  Computer Networks, Layering, Reference Models and their services; Overview of Physical layer; The Application Layer, Principles of Application-Layer Protocols, The World Wide Web, DNS, E-mail services; Transport-Layer Services and Principles,  Multiplexing and Demultiplexing Applications, UDP and TCP, Connection Establishment, Transport Layer Protocols. Flow Control and buffering, Principles of Congestion Control; The Network Layer, IP: the Internet Protocol, IPv4, Ipv6, Routing in the Internet, Congestion control, QOS issues; The Data Link Layer: Services, Error and Flow control mechanism, Error detection and correcting codes, sliding window protocols, Multiple Access Protocols and LANs, LAN Addresses and ARP, Ethernet; Security and Multimedia aspects of application layer, transport layer, network layer and link layer. Introduction to wireless and mobile networks.   Network Threats and Security.

OR

CS-1   Embedded Systems :  (5th Sem, 3-1-0 + 0-0-2)

Introduction to real time and embedded system, Introduction to Intel/ARM micro-controllers (architecture, addressing, peripherals on chip, instructions, interrupt processing, assembly language programming), memory (memory organization, virtual memory and memory management), bus interfaces, serial interface, power aware architecture, system on chip, compilers for  embedded system development. Introduction to real time digital signal processors and wireless sensors; Introduction to  model based design. Networked embedded systems.

CS-2      Software Engineering: (5th Sem, 3-1-0 + 0-0-2)

Program comprehension; Program correctness – The concept of a specification, Defensive programming (e.g. secure coding, exception handling), Code reviews, Testing fundamentals and test-case generation, The role and the use of contracts, including pre- and post-conditions, Unit testing, Simple refactoring; Modern programming environments (Code search, Programming using library components and their APIs), Debugging strategies, Documentation and program style

Software process models, Software project management, Tools and environments, Requirement Engineering, Software Design (principles, design paradigms, structural and behavioural models, design patterns, software architecture, refactoring, use of components), Software construction (coding standards, integration strategies)  Software verification and validation (testing, defect tracking), Software evolution, software reliability. Introduction to formal methods.

OR

CS-2   Artificial Intelligence:  (5th  Sem, 3-1-0 + 0-0-2)

History and foundations of AI.  Problem solving and Intelligent Agents. Problem solving and Search (Blind, Informed, Constraint Satisfaction, Adversarial Search). Knowledge Representation & Reasoning in deterministic environment  (logic, semantic network, frames). Knowledge Representation & Reasoning in Probabilistic environment (Baysian Network). Decision Making, Ontology. Propositional logic, First order predicate logic. Basic Pattern Recognition and Machine Learning:  Linear Classifier, Evaluation Metrics, Cross Validation, Clustering and Classification algorithms, egression and reinforcement learning, introduction  to ANN. Genetic  Algorithms.

CS-3  Theory of Computing and Compiler Design:  (6th Sem, 3-1-0 + 0-0-2)

Review of Automata, its types and regular expressions, Equivalence of NFA, DFA and €-NFA, Conversion of automata and regular expression, Applications of Finite Automata to lexical analysis 

Push down automata Context Free grammars, top down and bottom up parsing, YACC programming specification 

Syntax directed translation,  S-attributed and L-attributed grammars,  Intermediate code generation, Chomsky hierarchy of languages and recognizers, Context Sensitive features like type checking, type conversions, equivalence of type expression, Turing Machine as language acceptors and its design, Code generation and optimization. 

OR

CS-3    Theory of Programming Languages: (6th  Sem, 3-1-0 + 0-0-2)

Notions of syntax and semantics of programming languages; introduction to operational/natural semantics of functional and imperative languages. Data abstractions and control constructs;

block-structure and scope, principles of abstraction, qualification and correspondence; parameter passing mechanisms; runtime structure and operating environment; practical and implementation issues in run-time systems and environment; abstracts machines; features of functional and imperative languages; the untyped and simply-typed Lambda calculus’ type systems for programming languages, Logic Programming,  Concurrent Programming

Core IT courses for IT (3rd year)

IT-1 Computer Networks: (5th  Sem, 3-1-0 + 0-0-2) Same as that in CS-1

IT-2 Cloud based Enterprise Systems: (5th  Sem, 3-1-0 + 0-0-2)

XML Programming (XML, DTD, XMLschema, XSLT, XQuery), Server Side programming (Java servlet, Java server pages, Database connectivity with Servlet and JSP, MVC Architecture, Struct Architecture and Hibernate Architecture), Component based programming (Java Beans, Enterprise Java beans: (Entity Beans, Session Beans, Message Driven Beans),  Web services (REST,SOAP, UDDI, WSDL, JSON)

Introduction to Cloud Computing: Public, private, and Hybrid clouds – SPI Model – SPI-X Model-  Architectural Design of Compute and Storage Clouds – Public Cloud Platforms – GAE,  AWS and Azure.  Implementation of Virtualisation: Virtualization structures/tools and mechanism – virtualization of CPU, Memory and I/O devices – Virtual clusters and Resource management – Virtualization for data-center.    Cloud Programming and software environments: Features of cloud platforms- Service Oriented Architecture for distributed computing – Cloud programming paradigms – Map reduce – Hadoop library from apache – programming support of Google App Engines – Programming Amazon AWS and Microsoft Azure – Emerging cloud software environments.

IT-3   Data Mining and Web algorithms: (6th  Sem, 3-1-0 + 0-0-2)

Introduction data mining, Different Types, Measurement Scales and Similarity Measures of Datasets,  of Data Mining systems, Data Warehouse and OLAP Technology, Multidimensional Data Model, Data Preprocessing, knowledge representation, Attribute-oriented analysis, Classification and Prediction, Accuracy and Error measures, evaluating the accuracy of a Classifier or a Predictor, Ensemble Methods, Clustering, Association Rules, Outlier Analysis, Mining Time-Series Data, Graph Mining, Multi-relational Data Mining, Multidimensional Analysis. Text Mining,  Web Mining, Crawling, web Search and retrieval, Evaluating search effectiveness, Web Caching algorithms, Website Optimization Algorithms, Semantic Web, Indexing, Ranking algorithms, Semantic Search, Ontology Mapping, Match Making, Recommendation Algorithms, Clustering/community algorithms, Topical locality.

OR

IT-3 Mobile Applications and Internet of Things:  (6th Sem, 3-1-0 + 0-0-2)

Mobile computing Architecture, Mobile Devices, Mobile System Networks, Data Dissemination, Mobile Management, Security, Handling Mobile Databases, Mobile Application Development Framework and Tools, J2ME, Android Programming – Installation Procedure of various tools that are required for Android Programming, Programming activity, intent, and multiple activity. Interface Development for Mobile Apps, Intents and Services, Storing and Retrieving Data, Mobility and Location Based Services, Communications, Web Telephony, Notifications and Alarms, Graphics, Multimedia.   

Introduction to IOT (Architecture, designs, Practices, IOT Hardware (ResberyPi,  Custom Hardware), Architecture of Resbery Pi, Input output ports, programming Tools, Open Hab Framework (Details of Protocols, Details of Libraries of Open hab. Web, Device interfaces and its portability on Android, Windows, web) etc. Exploring Open Hab using java and C/C++ making apps using java and C/C++, testing the apps using emulator and running with resberypi, Introduction to Wearable on Android and Apple, Samsung wears and their programming tools and sample Apps.  

List of  B. Tech. Electives

  1. Electives can be added flexibly
  2. 3rd year BTech (IT) core courses will also be offered as electives to BTech (CSE) and vice versa either in the same or later semesters.
  3. Flexi-core course will also be offered as electives so that a student who chooses flexi-core –A in a flexi-core slot can choose flexi-core-B as elective (if he/she feels the need), either in the same or later semesters.
  4. Some courses of M. Tech. programs will also be offered as electives for B. Tech. students.
1.    Advanced Data Structures

2.    Advanced Java

3.    Advances in  Databases

4.    Algorithmic Robotics and Augmented Reality

5.    Artificial Intelligence

6.    Business Analytics and Data Visualisation

7.    Cloud Computing

8.    Computer Games

9.    Computer Graphics

10.               Cryptography and Network Security

11.               Cultural and Heritage Informatics

12.               Data Surveillance Technologies

13.               Design of Algorithm

14.               Design of Database Systems

15.               Digital Audio and Speech Processing

16.               Distributed Artificial Intelligence

17.               Distributed Computing

18.               E-Commerce

19.               Embedded Systems Design

20.               Fault Tolerant Systems

21.               Formal methods in Software engineering

22.               Graph Algorithms and Applications

23.               Hardware Technologies

24.               Health Informatics

25.               Human Aspects for Information Technology

26.               Human Computer Interaction

27.               ICT for Disaster Management

28.               Image processing

29.               Industrial Automation

30.               Information Retrieval & Data Mining

31.               Information Security

32.               IT Ventures and Entrepreneurship

33.               Learning Technology

34.               Machine Learning & Big Data Analytics

35.               Microprocessor Architecture

36.               Mobile Application Development

37.               Mobile Application Engineering

38.               Mobile Computing

39.               Multi-core Computing

40.               Multi-dimensional Data Structures

41.               Multimedia Computing

42.               Multimedia Content and Animation Design

43.               Multimedia Interaction Design

44.               Natural Language Processing

45.               Network Programming

46.               Parallel Computing

47.               Parallel Processing

48.               Performance Analysis of Computing System

49.               Real Time Systems

50.               Robotics

51.               Semantic Web

52.               Social Network Analysis

53.               Soft Computing

54.               Software Construction

55.               Software Design

56.               Software Documentation

57.               Software Engineering Management

58.               Software Quality

59.               Software Risk Engineering

60.               System Simulation

61.               Systems Programming

62.               Theory of Automata and Compiler Design

63.               Theory of Knowledge, Learning, and Research

64.               Unix and Linux programming

65.               Wireless and Mobile Ad-hoc Networks

Advertisements
Posted in: Uncategorized