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
- Maths core courses: 3 Nos. (1st and 2nd year) 12 credits
- Physics core courses: 2 Th+Lab courses (1st year) 10 credits
- ECE foundation core courses: 2 Th+Lab courses (1st year) 10 credits
- HSS + English core courses: 3 Nos. (1st year) 8 credits
- CSE/IT foundation core courses: 2 Th+Lab courses (1st year) 11 credits
- Environment courses: 1 core course (2nd year) 3 credits
- HSS electives: 4 courses (2nd and 3rd year) 12 credits
- Science elective courses (by Math + Physics): 2 Nos (3rd year) 8 credits
- Open elective courses (to be offered by any deptt): 2 Nos (4th year) 6 credits
Discipline specific CSE/IT core and Electives
- Core Theory courses: 10. Nos (2nd – 6th semester) 40 credits
- Core Lab courses: 12 Nos. (2nd & 3rd year) 12 credits
- Elective theory courses: 8 Nos. (4th -8th semester) 32 credits
- Industrial Training: (summer between 3rd and 4th year) 2 credits
- Minor projects: 2 Nos (3rd year) 10 credits
- Term paper: (7th sem) 3 credits
- 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
|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 Processing – Decimation & 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.
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.
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.
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.
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
- Electives can be added flexibly
- 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.
- 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.
- 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
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
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