Computer Science Syllabus Under NEP 2023-09-18
Computer Science Syllabus Under NEP 2023-09-18
Total 23 435
Minimal set of requirements of the department to be fulfilled subject to offering and smooth conduct of Minor and
Multidisciplinary courses:
1. Availability of a dedicated earmarked space strictly in addition to the existing classroom provision in the
department.
2. Additional teacher provision to fill up the substantive post lying vacant for more than five and a half years.
3. Ensuring computing facility in the laboratory to overcome obsolescence of existing computers (the last lot was
procured more than nine years ago).
4. There is no laboratory assistant to manage the computing laboratory since inception of the department even
though two substantive posts were earmarked.
Page 1 of 29
SEMESTER - II
Total 23 435
Page 2 of 29
SEMESTER - III
Total 20 405
Page 3 of 29
SEMESTER - IV
Total 22 405
Page 4 of 29
SEMESTER - V
Total 16 285
Page 5 of 29
SEMESTER - VI
Total 16 300
Page 6 of 29
SEMESTER - VII
Total 20 375
Page 7 of 29
SEMESTER - VIII
Total 20 375
Page 8 of 29
Elective Courses in lieu of Research - 4 Credits (3T+1P)
1. Cyber Security
2. Human-Computer Interaction
3. Imprecise Mathematics
4. Information Theory
5. Internet of Things
6. Modelling and Simulation
7. Numerical Methods
8. Operations Research
9. Quantum Computation and Quantum Information
10. VLSI Design
1. Advanced Algorithms
2. Algorithmic Graph Theory
3. Android Programming
4. Bioinformatics
5. Cloud Computing
6. Introduction to Data Sciences
7. Parallel Algorithms
8. Pattern Recognition
9. Randomized Algorithms
10. Wireless Networks
Page 9 of 29
III. List for Elective III (Choose any one)
1. Advanced Graphics
2. Approximation Algorithms
3. Big Data Analytics
4. Complex Networks
5. Computer Vision
6. Data Mining
7. Deep Learning
8. Ethics of AI
9. Natural Language Processing
10. Quantum Algorithms
Page 10 of 29
SEMESTER - I
References:
1. The C Programming Language - Brian W. Kernighan and Dennis M. Ritchie; Prentice Hall.
Page 11 of 29
MJCS12T: Digital Electronics (Theory)
References:
1. Digital Electronics - M. Morris Mano; PHI.
Page 12 of 29
Arrays: Declaration, definition, initialization of one-dimensional and two-dimensional arrays, ac-
cessing elements, string as character array.
Functions: Utility of functions, call by value and call by reference, return types, void functions;
prototype declaration and definition of functions.
Derived data types: Utility of derived data types, Structures and Unions, declaration and defini-
tions; access and manipulation of member variables; array of structures.
Pointers: Understanding concept of pointers as references, different types of declaration and defini-
tions of pointer variables and uses.
Memory allocation in C: Static and dynamic allocations. malloc, calloc and free functions.
File I/O: opening and closing a file, read/write/fseek functions.
References:
1. The C Programming Language - Brian W. Kernighan and Dennis M. Ritchie; Prentice Hall.
Page 13 of 29
LAN, MAN, WAN, Internet connectivity options.
References:
1. Computer Fundamentals - P. K. Sinha; BPB Publications.
Programming related tools: familiarity with gcc, gdb; C-preprocessing, usage of compile time flags
and include paths; making static and dynamic libraries; make utility and makefiles.
System commands: Process and job control commands; file and folder permissions - user, group
and other permissions, chmod, chown; text processing and pattern matching – concept of regular
expressions; input-output redirections; usage of pipe.
Basic shell programming: shell variables; quoting; string substitution operators; pattern matching
and extended pattern matching; Flow control and loops; typed variables; functions.
References:
1. Learning the Bash Shell - Cameron Newham; O’Reilly.
4. Unix: Concepts and Applications - Sumitabha Das; McGraw Hill Education, India.
Page 14 of 29
SEMESTER - II
References:
1. Fundamentals of Data Structure in C - E. Horowitz, S. Sahni, S. Anderson-Freed; Computer
Science Press.
2. Data Structures & Algorithms - Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman; Pearson
Education India.
4. Data Structures and Program Design in C - Robert L. Kruse, Bruce P. Leung, C.L.Tondo,
Shashi Mogalla; Pearson Education.
Page 15 of 29
MJCS22T: Discrete Structures (Theory)
Introduction: Sets - Finite and Infinite sets, Uncountably Infinite Sets; Relations and Functions,
Properties of Binary Relations, Closure, Partial Order Relations; counting - Pigeonhole Principle,
Permutation and Combination; Mathematical Induction, Principles of Inclusion and Exclusion.
Discrete Numeric Functions: Discrete Numeric Functions (DNF) and their properties, Represen-
tation of a DNF using a Generating Function, Applications of Generating Functions, Asymptotic
Growth of a DNF and Related Notations.
Recurrences: Representation of a DNF by a Recurrence Relation, Linear Recurrence Relations with
Constant Coefficients: Finding Homogeneous Solutions, Particular Solutions, and General Solu-
tions, Solution of Linear Recurrence Relation and Simultaneous Linear Recurrence Relation with
Constant Coefficients using Generating Functions.
Boolean Algebra: Lattice and it’s Properties, Algebraic Structure induced by a Lattice, Distribu-
tive, Complemented, Boolean Lattice, Boolean Algebra, Properties of Boolean Algebra, Boolean
Variables and Functions.
Graph Theory: Basic Terminology, Models and Types, Graph Representation, Basic Definitions;
Graph Isomorphism, Connectivity, Euler and Hamiltonian Cycle, Circuits, Cliques, Independent
Sets, Vertex Covers, Matching, Cut Set, Cut Vertex, Connectivity; Planar Graphs and their prop-
erties, Graph Coloring, Trees and their properties.
Prepositional Logic: Logical Connectives, Well-Formed Formulas, Tautologies, Equivalences, Infer-
ence Theory.
References:
1. Elements of Discrete Mathematics - C. L. Liu, D.P. Mohapatra; McGraw Hill.
2. Discrete Mathematics and Its Applications, Kenneth H. Rosen; McGraw Hill.
3. Graph Theory with Applications to Engineering and Computer Science - N. Deo; Dover
Publication.
4. Discrete Mathematical Structures with Applications to Computer Science - J. P. Tremblay
and R. P. Manohar; McGraw Hill.
Page 16 of 29
Statements: Conditional statements (if-else, switch-case constructs), loops (while, for and do-while
loops), Nested statements, scopes of variables in nested statements.
Arrays: Declaration, definition, initialization of one-dimensional and two-dimensional arrays, ac-
cessing elements, string as character array.
Functions: Utility of functions, call by value and call by reference, return types, void functions;
prototype declaration and definition of functions.
Derived data types: Utility of derived data types, Structures and Unions, declaration and defini-
tions; access and manipulation of member variables; array of structures.
Pointers: Understanding concept of pointers as references, different types of declaration and defini-
tions of pointer variables and uses.
Memory allocation in C: Static and dynamic allocations. malloc, calloc and free functions.
File I/O: opening and closing a file, read/write/fseek functions.
References:
1. The C Programming Language - Brian W. Kernighan and Dennis M. Ritchie; Prentice Hall.
2. Programming in ANSI C - E. Balagurusamy; McGraw Hill.
3. Let Us C - Y. Kanetkar; BPB Publications.
Page 17 of 29
Networking: Basic Elements of a Communication System, Data Transmission Media, Topologies,
LAN, MAN, WAN, Internet connectivity options.
References:
1. Computer Fundamentals - P. K. Sinha; BPB Publications.
Setting up Python and IDEs, Running basic Python programs, Working with variables and data
types, Implementing Conditional statements (if, elif, else); Looping (for, while) and iteration tech-
niques.
Functions: parameters, return values, and scope; Lambda functions and built-in functions, Recur-
sion and recursive functions.
Working with Data Structures and Comprehensions: Lists, tuples, sets, and dictionaries; List com-
prehensions and generator expressions; Advanced dictionary techniques; Manipulating strings and
regular expressions.
Reading from and writing to files, Handling exceptions and errors, Using context managers for file
operations, Working with text and binary files.
Implementing classes and objects, Creating inheritance and polymorphism examples, Practicing
encapsulation and abstraction principles.
Object-Oriented Programming (OOP): Introduction to OOP principles and concepts; Defining
classes and creating objects; Inheritance, composition, and polymorphism; Advanced OOP top-
ics: abstract classes, interfaces.
Working with external APIs and web services, Serializing and deserializing data with JSON, XML,
and Pickle, Visualizing data using Matplotlib and Seaborn.
Introduction to data visualization with libraries like Matplotlib and Seaborn; Introduction to
databases, SQLite, and basic SQL operations.
References:
1. Python: The Complete Reference - Martin C. Brown, McGraw Hill Education.
2. Think Python: How to Think Like a Computer Scientist - Allen B. Downey; O’Reilly.
Page 18 of 29
3. Introduction to Computation and Programming Using Python: With Application to Under-
standing Data - John V Guttag; MIT Press.
4. Fluent Python: Clear, Concise, and Effective Programming - Luciano Ramalho; O’Reilly.
Page 19 of 29
SEMESTER - III
References:
1. Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,
and Clifford Stein; The MIT Press.
Introduction to computer system, Functional Units of Computers and their organization; CPU,
Memory, Input-Output System and interconnection buses/system buses.
Computer Memory System Overview, Memory hierarchy, Cache Memory, Cache Memory Principles,
Page 20 of 29
Property of locality of reference, performance of cache, hit ratio, miss penalty, Operation Multiple
Caches.
Internal Memory: Semiconductor Main memory, RAM, DRAM, SRAM, ROM, PROM, EPROM,
EEPROM.
External Memory: Magnetic Memory, Optical Memory, Flash memory.
Input/Output System: External devices, I/O modules; Programmed I/O, Interrupt-driven I/O,
Direct Memory Access (DMA), DMA controller, Cycle stealing DMA, burst mode DMA.
Central Processing Unit (CPU): Arithmetic Logic Unit (ALU), Control Unit and CPU memory.
Intel 8085 Microprocessor (as a case study): Set of general and special registers, flags; Various
Addressing modes of Intel 8085, Pin configuration, Interrupts, Instruction cycles, control and tim-
ing Diagram; Single-byte, two-byte and three-byte instructions; 0-address, 1-address, 2-address and
3-address instructions.
References:
1. Computer Architecture & Organization - M. Morris Mano; PHI.
Page 21 of 29
References:
1. Fundamentals of Data Structure in C - E. Horowitz, S. Sahni, S. Anderson-Freed; Computer
Science Press.
2. Data Structures & Algorithms - Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman; Pearson
Education India.
4. Data Structures and Program Design in C - Robert L. Kruse, Bruce P. Leung, C.L.Tondo,
Shashi Mogalla; Pearson Education.
References:
1. Computer Fundamentals - P. K. Sinha; BPB Publications.
Page 22 of 29
2. Introduction to Information Technology - V. Rajaraman; PHI.
Introduction to Web Development: Overview of web technologies and the client-server model. In-
troduction to HTML, CSS, and JavaScript; Setting up a development environment (text editors,
browsers, developer tools).
HTML: Understanding HTML structure: elements, tags, attributes; Creating headings, paragraphs,
lists, and links; Semantic HTML and accessibility best practices; HTML5 elements and semantic
tags; Accessibility considerations and ARIA roles; Web forms and input validation; Integrating
audio, video, and other media elements.
CSS: Introduction to CSS: selectors, properties, values; Styling text, backgrounds, borders, and
boxes; Layout techniques: positioning, floating, flexbox basics; Introduction to responsive design
and media queries.
JavaScript: Basics of JavaScript: variables, data types, operators; Control structures: conditionals
and loops; Functions and scope; Handling events and user interactions; ES6+ features: arrow func-
tions, destructuring, async/await, etc; Modular JavaScript and module bundlers (e.g. Webpack);
Introduction to TypeScript for type-safe JavaScript.
DOM Manipulation: Introduction to the Document Object Model (DOM); Modifying HTML and
CSS through JavaScript; Creating dynamic content and interactive web pages.
Front-End Frameworks: Introduction to front-end frameworks (e.g. React, Vue, Angular); Building
components and user interfaces; State management and props/props binding (for React); State
management with Redux or MobX; Introduction to component libraries (e.g. Material-UI, Ant
Design).
Back-End Development and APIs: Introduction to server-side programming with Node.js and Ex-
press; Building RESTful APIs and handling HTTP requests; Authentication and authorization
using JWT; Introduction to GraphQL as an alternative API architecture.
Databases and Data Management: Relational databases (e.g. MySQL, PostgreSQL) and NoSQL
databases (e.g. MongoDB); ORM (Object-Relational Mapping) libraries and database migrations;
Data validation and sanitization.
Web Security and Performance: Common web security threats and secure coding practices; HTTPS,
CORS, and Cross-Site Scripting (XSS) prevention; Performance optimization techniques (e.g. lazy
loading, minification); Introduction to Progressive Web Apps (PWAs) and Service Workers.
Deployment and DevOps: Deploying web applications using cloud platforms (e.g. AWS, Heroku,
Netlify); Continuous integration and continuous deployment (CI/CD) pipelines; Containerization
with Docker and container orchestration (e.g. Kubernetes).
Page 23 of 29
References:
1. HTML and CSS: Design and Build Websites - Jon Duckett, Wiley.
2. CSS Secrets: Better Solutions to Everyday Web Design Problems - Lea Verou; O’Reilly Media.
4. React – Up & Running: Building Web Applications - Stoyan Stefanov; O’Reilly Media.
5. Node.js Design Patterns: Design and implement production-grade Node.js applications us-
ing proven patterns and techniques - Mario Casciaro, Luciano Mammino; Packt Publishing
Limited.
6. MongoDB: The Definitive Guide - Shannon Bradshaw, Eoin Brazil, and Kristina Chodorow;
O’Reilly.
7. Web Security for Developers: Real Threats, Practical Defense - Malcolm McDonald; No Starch
Press.
8. High Performance Web Sites: Essential Knowledge for Front-end Engineers - Steve Souders;
O’Reilly Media.
10. The Phoenix Project: A Novel about It, Devops, and Helping Your Business - Gene Kim; IT
Revolution Press.
Page 24 of 29
SEMESTER - IV
Introduction to C and C++: History of C and C++, Overview of Procedural Programming and
Object-Oriented Programming, Using main() function, Compiling and Executing Simple Programs
in C++.
Data Types and Expressions, Loops.
Functions and Arrays: Utility of functions, Call by Value, Call by Reference, Functions returning
value, Void functions, Inline Functions, Return data type of functions, Function’s parameters.
Pointers and References in C++: Understanding a Pointer Variable, Simple use of Pointers (Declar-
ing and Dereferencing Pointers to simple variables), Pointers vs. References, Declaring and initial-
izing references, Using references as function arguments and function return values.
Memory Allocation in C++: Differentiating between static and dynamic memory allocation, use of
new and delete operators, storage of variables in static and dynamic memory allocation.
File I/O, Preprocessor Directives: Opening and closing a file (use of fstream header file, ifstream,
ofstream and fstream classes), Reading and writing Text Files, Using put(), get(), read() and write()
functions, Random access in files.
Using Classes in C++: Principles of Object-Oriented Programming, Defining & Using Classes,
Class Constructors, Constructor Overloading, Function overloading in classes, Class Variables and
Functions, Objects as parameters, Specifying the Protected and Private Access, Copy Constructors,
Overview of Template classes and their use.
Overview of Function Overloading and Operator Overloading: Need of Overloading functions and
operators, Overloading functions by number and type of arguments, Looking at an operator as a
function call, Overloading Operators (including assignment operators, unary operators).
Inheritance, Polymorphism and Exception Handling: Introduction to Inheritance (Multi-Level In-
heritance, Multiple Inheritance), Polymorphism (Virtual Functions, Pure Virtual Functions), Basics
Exceptional Handling (using catch and throw, multiple catch statements), Catching all exceptions,
Restricting exceptions.
References:
1. C++: The Complete Reference - Herbtz Schildt; McGraw Hill.
Page 25 of 29
MJCS41P: Object-Oriented Programming (Lab)
Introduction: The Evolving Role of Software, Software Characteristics, Changing Nature of Soft-
ware, Software Engineering as a Layered Technology, Software Process Framework, Framework and
Umbrella Activities, Process Models, Capability Maturity Model Integration (CMMI).
Requirement Analysis: Software Requirement Analysis, Initiating Requirement Engineering Pro-
cess, Requirement Analysis and Modeling Techniques, Flow Oriented Modeling, Need for SRS,
Characteristics and Components of SRS.
Software Project Management: Estimation in Project Planning Process, Project Scheduling.
Risk Management: Software Risks, Risk Identification, Risk Projection and Risk Refinement,
RMMM Plan.
Quality Management: Quality Concepts, Software Quality Assurance, Software Reviews,Metrics for
Process and Projects.
Design Engineering: Design Concepts, Architectural Design Elements, Software Architecture,Data
Design at the Architectural Level and Component Level, Mapping of Data Flow into Software Ar-
chitecture, Modeling Component Level Design.
Testing Strategies & Tactics: Software Testing Fundamentals, Strategic Approach to Software Test-
ing, Test Strategies for Conventional Software, Validation Testing, System testing, Black-Box Test-
ing, White-Box Testing and their type, Basis Path Testing.
References:
1. Software Engineering: A Practitioner’s Approach - Roger Pressman; McGraw Hill Indian
Edition.
Page 26 of 29
MJCS43T: Operating Systems (Theory)
Introduction: Functions of operating systems, Kernels, System calls, System programs, Types of
operating systems.
Process Management: Process abstraction, System calls for process management, Process execution
mechanisms, Scheduling policies, Threads, Threading issues, Thread libraries, Concurrent processes,
Locks, Semaphores, Classical problems in synchronization, Inter-process communication.
Deadlocks: Characterization, Prevention, Avoidance, Detection, Recovery.
Memory Management: Physical and virtual address space, Memory allocation strategies (fixed and
variable partitions), Paging, Segmentation, Virtual memory, Page Replacement.
File and I/O Management: Concept of a file, Directory structure, File systems, File allocation
methods, Disks scheduling, Device controllers and device drivers.
References:
1. Operating Systems Concepts - A Silberschatz, P.B. Galvin, G. Gagne; Wiley Edition.
Statistical properties of a given data set: plotting as scatter plot, histogram and line plot; mean
and variance; frequencies in bins; plot of frequency vs bins; central tendency; concepts of skewness
and curtosis.
Linear relationship between two sets of data points: best-fit straight line and deviations; prediction
of newer points based on best-fit line; linear correlation and Pearson’s linear correlation coefficient,
monotonicity and Spearman’s rank coefficient; concept of covariance.
Recap of probability: definition, joint and conditional probability, Bayes’ criteria.
Random variables: Concept, definition, discrete and continuous radom variables, PMF, PDF and
CDF functions, examples of common types of distributions, plots, joint PDF and CDF of two ran-
dom variables. Expected values of random variables and their functions, concept of moments and
characteristic functions.
Basics of queuing theory as application of random variables: Little’s theorem, M/M/1 and M/M/n
Page 27 of 29
queuing system, arrival, departure and waiting time and queue-size statistics.
References:
1. A First Course on Probability - Sheldon Ross; Prentice Hall India.
2. Probability and Statistics (Schaum’s Outlines) - Murray R. Spiegel, John J. Schiller, R. Alu
Srinivasan; McGraw Hill.
References:
1. Fundamentals of Data Structure in C - E. Horowitz, S. Sahni, S. Anderson-Freed; Computer
Science Press.
2. Data Structures & Algorithms - Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman; Pearson
Education India.
4. Data Structures and Program Design in C - Robert L. Kruse, Bruce P. Leung, C.L.Tondo,
Shashi Mogalla; Pearson Education.
Page 28 of 29
MNCS02P: Data Structures (Lab)
Page 29 of 29