Proposed Core Computing courses for the computing couses in new BTech (CSE/IT) curricula at JIIT to be effective from 2015: Draft for comments

Posted on January 18, 2015


JIIT’s  BTech (CSE/IT) curricula is under revision and is likely to have the following credit distribution for the new batches admitted in 2015 onwards :

A.  Courses common with 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 only):  2 Nos (3rd year)            8 credits

9.  Open elective courses (to be offered by any deptt):  2 Nos (4th  year)           6 credits

B.   Discipline specific CSE/IT co

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

Here is the list and  brief outlines of proposed CSE/IT foundation courses for all disciplines and proposed discipline specific core courses for CSE/IT students. These are under discussion and not yet agreed upon. It may be difficult for all faculty members to agree upon this as some of them believe that the curriculum have many more CS core courses.   The feedback by alumni and other IT professionals will help a lot in arriving at a good core for our BTech (CSE/IT) curriculum.    

Common Computing Courses for all engineering students in all disciplines:

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 BTech (CSE/IT) students

II 1 CSIT-1:   Introduction to Computer Science and Technology
III 2 CSIT-2:  Data Structures and Abstraction
III 3 CSIT-3:   Digital Logic and Computer Organisation
III 4 CSIT-4:    Database and Web Applications
IV 5 CSIT-5:   Algorithms and Problem Solving
IV 6 CSIT-6:   Digital Communications and Computer Networks
IV 7 CSIT-7:   Operating Systems and Computer Architecture
IV 8 CS Elective –1  (to be listed) IT Elective-1  (to be listed)
V 9 CSE Students will have a choice between CS-1a: Embedded Systems and Signal processing or CS-1b: Theory of Computation and Compiler Design IT-1: Cloud based Enterprise Systems
V 10 CS-2: Software Engineering IT-2: Data Mining and Web Algorithms
VI 11 CS-3: Artificial Intelligence and

Pattern Recognition

IT-3: Mobile Applications and Internet of Things
VI 12 CS Elective –2  (to be listed) IT Elective –2  (to be listed)
VI 13 CS Elective –3  (to be listed) IT Elective –3  (to be listed)
VII 14 CS Elective –4  (to be listed) IT Elective –4  (to be listed)
VII 15 CS Elective –5  (to be listed) IT Elective –5  (to be listed)
VII 16 CS Elective –6  (to be listed) IT Elective –6  (to be listed)
VIII 17 CS Elective –7  (to be listed) IT Elective –7  (to be listed)
VIII 18 CS Elective –8  (to be listed) IT Elective –8  (to be listed)

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) Algorithmic puzzle solving; Introductory algorithms and flowchart;    [8 L] Developing  simple software applications with scripting and visual languages:  Elementary Database – Data tables, Basic SQL; Elementary Web Programming – Tagging vs Programming, Introduction to HTML, visual programming, Introduction to a scripting language, e.g. Python, GUI Programming, database connectivity      [12L] 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, 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. Basic string processing – length, concatenation, substring, comparison. functions, basic recursion, e.g., factorial, Fibonacci.  Program correctness – Types of errors (syntax, logic, run-time) [22 L]

GE-CSIT-II: Software Development Fundamentals – II:   (2nd Sem, 3-1-0   +    0-0-2) Object Oriented Programming – Concepts of Object-Orientation in C++, constructs, objects,  classes, methods, constructors, overloading, inheritance, polymorphism, Introduction to SDLC, Program comprehension. Testing fundamentals and test-case generation.   [14 L] Advanced C programming: Pointers, Functions and parameter passing Library function – basic file handling, basic graphics and sound functions, Elementary non-numerical problems – linear and  binary search,  insertion,  selection, and bubble  sort.  Iterative and recursive operations on linked list. [14 L] Implementations and applications of elementary data structures – Using STL (Containers, Iterators and Algorithms), Stack, Queue, Deque, multi-list, sparse matrix [14 L]

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

CSIT-1: Introduction to Computer Science and Technology:   (2nd Sem, 3-1-0) Mathematical foundations of computer science: Propositional & Predicate Logic, Proof techniques, Set, Relation, Function, Boolean algebra, Binary arithmetic, Combinatorics, Recurrence, Regular Expressions, DFA, NFA [21 L] Overview of Computer  and Information Technology:  History of Computer technology; Von Neumann machine, Elementary Computer Architecture, Data representation and  storage, Input Output devices,  Processors, Operating systems, Languages and translation, Networks, Internet, Wireless networks and sensors, Mobile computing,  Cloud computing, Multimedia computing, Ecommerce and Social media, Internet of Things, and Information Security [21 L]

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. [30 L] 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.   [12 L]

CSIT-3 Digital Logic and Computer Organisation:  (3rd  Sem, 3-1-0 + 0-0-2) History and overview, Review of Combinational Logic circuits,  , Sequential logic circuits (Data registers, shift registers, counters, sequence detectors, synchronizers, controllers, Adder),  Memory elements (Flip flops, PLA, PAL), FSM, ASM, State diagrams and state tables, Synchronous and asynchronous circuits with timing control, Switching Theory, Register Transfer operations (Bus and Memory Transfers, Tri-State Bus Buffers, Memory and   Register transfer).  Micro-operations.  Instruction codes, instruction cycle, Classification of instruction set. Instruction format, Addressing modes. Assembly language programming. Assembler.  Central Progressing Unit (CPU), Stack Organization, Register Stack, Memory Stack, Reverse Polish Notation.  Micro-programmed control. Program control, Computer Arithmetic. I/O organization and Memory organization. Introduction to Microprocessors.

CSIT-4  Database and Web Applications:  (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 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-6  Digital Communications and Computer Networks: (4th  Sem, 3-1-0 + 0-0-2) Analog and  Digital Signal,  its types, Composite signal,  Physical media characteristics,  Noisy and Noiseless Channel, Nyquist bit rate, Shannon theorem, Performance of networks. Line Coding and its schemes, Analog and Digital Modulation, Amplitude, Frequency, Phase, Pulse Code (PCM) and Delta Modulation (DM). Multiplexing, Error Detection and Correction,  Introduction to Network Models and their services. The Application Layer, Principles of Application-Layer Protocols, The World Wide Web, Transport-Layer Services and Principles,  Multiplexing and Demultiplexing Applications, UDP and TCP, Connection Establishment, Transport Layer Protocols. Flow Control and Error Control, Principles of Congestion Control. The Network Layer, IP: the Internet Protocol, IPv4, Ipv6, Routing in the Internet, The Link Layer and Local Area Networks, The Data Link Layer: Services, 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.

CSIT-7   Operating Systems and Computer Architecture: (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, Deadlock, Memory Management, File System management, Secondary Storage, Input output management, Security Issues, Computer Architecture– Instruction Set Architecture (Classification, Memory Addressing, Operands, Operations, Control Flow). Micro Architectures (Hardwired and Micro Programmed Realizations). Data Path Design: Instruction Pipelining and Instruction-Level Parallelism (ILP), Branch Handling, and Pre-Fetching. Memory architecture: memory hierarchy, cache memory design issues and policies. Parallel architecture. Distributed computing.

Core CSE courses for CSE (3rd year)

CS-1a   Embedded Systems and Signal Processing:  (5th Sem, 3-1-0 + 0-0-2) Introduction to embedded system, embedded hardware: overview of microprocessor and microcontroller, Introduction to 8051 (architecture, instructions set,  addressing, peripherals on chip), ARM processor (scope, architecture, 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 of embedded system, Introduction to signal processing, filter design,  digital signal processors, real time signal processing, audio processing, biomedical signal processing.  Embedded system design, platform based design.


CS-1b   Theory of Computing and Compiler Design:  (5th Sem, for CSE, 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 [14 L] Push down automata Context Free grammars, top down and bottom up parsing, YACC programming specification [12 L] 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. [16 L]

CS-2      Software Engineering: (5th Sem, for CSE, 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-3   Artificial Intelligence and Pattern Recognition:  (6th  Sem, for CSE, 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.

Core IT courses for IT (3rd year)

IT-1 Cloud based Enterprise Systems: (5th  Sem, for IT, 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-2   Data Mining and Web algorithms: (5th  Sem, for IT, 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 Pre-processing, 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, for IT, 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.  

Posted in: Uncategorized