0% found this document useful (0 votes)
30 views30 pages

Computer Science Syllabus Under NEP 2023-09-18

Uploaded by

vamofi2767
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views30 pages

Computer Science Syllabus Under NEP 2023-09-18

Uploaded by

vamofi2767
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Department of Computer and System Sciences

Siksha Bhavana, Visva-Bharati


Santiniketan - 731235

B.Sc. (Computer Science) Course Structure


(Under National Education Policy - 2020)

(From 2023-2024 Academic Session)


SEMESTER - I

Type Subject Code Subject Credit Hours

MJCS11T Introduction to Programming (Theory) 3 45


MJCS11P Introduction to Programming (Lab) 1 30
Major
MJCS12T Digital Electronics (Theory) 3 45
MJCS12P Digital Electronics (Lab) 1 30

MNCS01T Basics of Programming (Theory) 3 45


Minor
MNCS01P Basics of Programming (Lab) 1 30

Multi MDCST Fundamentals of Computer Science (Theory) 3 45

SEC SECCS11P UNIX/LINUX Programming (Lab) 3 90

AECC English/Modern Indian Language1 2 30

CVAC Tagore Studies 3 45

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

Type Subject Code Subject Credit Hours

MJCS21T Data Structures and Algorithms (Theory) 3 45


MJCS21P Data Structures and Algorithms (Lab) 1 30
Major

MJCS22T Discrete Structures (Theory) 4 60

MNCS01T Basics of Programming (Theory) 3 45


Minor
MNCS01P Basics of Programming (Lab) 1 30

Multi MDCST Fundamentals of Computer Science (Theory) 3 45

SEC SECCS21P Programming in Python (Lab) 3 90

AECC English/Modern Indian Language2 2 30

CVAC Environmental Studies 3 45

Total 23 435

Year I Summer Internship 4 120

Page 2 of 29
SEMESTER - III

Type Subject Code Subject Credit Hours

MJCS31T Design and Analysis of Algorithms (Theory) 3 45


MJCS31P Design and Analysis of Algorithms (Lab) 1 30
Major
MJCS32T Computer Organization and Architecture (Theory) 3 45
MJCS32P Computer Organization and Architecture (Lab) 1 30

MNCS02T Data Structures (Theory) 3 45


Minor
MNCS02P Data Structures (Lab) 1 30

Multi MDCST Fundamentals of Computer Science (Theory) 3 45

SEC SECCS31P Web Programming (Lab) 3 90

AECC Modern Indian Language/English1 2 30

Total 20 405

Page 3 of 29
SEMESTER - IV

Type Subject Code Subject Credit Hours

MJCS41T Object-Oriented Programming (Theory) 3 45


MJCS41P Object-Oriented Programming (Lab) 1 30

MJCS42T Software Engineering (Theory) 3 45


MJCS42P Software Engineering (Lab) 1 30
Major
MJCS43T Operating Systems (Theory) 3 45
MJCS43P Operating Systems (Lab) 1 30

MJCS44T Computational Statistics (Theory) 3 45


MJCS44P Computational Statistics (Lab) 1 30

MNCS02T Data Structures (Theory) 3 45


Minor
MNCS02P Data Structures (Lab) 1 30

AECC Modern Indian Language/English2 2 30

Total 22 405

Year II Summer Internship 4 120

Page 4 of 29
SEMESTER - V

Type Subject Code Subject Credit Hours

MJCS51T Database Management Systems (Theory) 3 45


MJCS51P Database Management Systems (Lab) 1 30

Major MJCS52T Theory of Computation (Theory) 4 60

MJCS53T Digital Communication (Theory) 3 45


MJCS53P Digital Communication (Lab) 1 30

MNCS03T Programming in JAVA (Theory) 3 45


Minor
MNCS03P Programming in JAVA (Lab) 1 30

Total 16 285

Page 5 of 29
SEMESTER - VI

Type Subject Code Subject Credit Hours

MJCS61T Computer Graphics (Theory) 3 45


MJCS61P Computer Graphics (Lab) 1 30

MJCS62T Computer Networks (Theory) 3 45


Major
MJCS62P Computer Networks (Lab) 1 30

MJCS63T Compiler Construction (Theory) 3 45


MJCS63P Compiler Construction (Lab) 1 30

MNCS03T Programming in JAVA (Theory) 3 45


Minor
MNCS03P Programming in JAVA (Lab) 1 30

Total 16 300

Year III Summer Internship 4 120

Page 6 of 29
SEMESTER - VII

Type Subject Code Subject Credit Hours

MJCS71T Artificial Intelligence (Theory) 3 45


MJCS71P Artificial Intelligence (Lab) 1 30

MJCS72T Soft Computing (Theory) 3 45


Major
MJCS72P Soft Computing (Lab) 1 30

MJCS73T Cryptography and Network Security (Theory) 3 45


MJCS73P Cryptography and Network Security (Lab) 1 30

MNCS04T Basics of Python Programming (Theory) 3 45


Minor
MNCS04P Basics of Python Programming (Lab) 1 30

CSR71 Research Project I 4 75


Research/
Course
in lieu of CSEC7XT Elective I (Theory) 3 45
Research CSEC7XP Elective I (Lab) 1 30

Total 20 375

Page 7 of 29
SEMESTER - VIII

Type Subject Code Subject Credit Hours

MJCS81T Image Processing (Theory) 3 45


MJCS81P Image Processing (Lab) 1 30
Major
MJCS82T Machine Learning (Theory) 3 45
MJCS82P Machine Learning (Lab) 1 30

MNCS04T Basics of Python Programming (Theory) 3 45


Minor
MNCS04P Basics of Python Programming (Lab) 1 30

CSR81 Research Project II 8 150

Research CSEC8AYT Elective II (Theory) 3 45


/Course CSEC8AYP Elective II (Lab) 1 30
in lieu of
Research
CSEC8BZT Elective III (Theory) 3 45
CSEC8BZP Elective III (Lab) 1 30

Total 20 375

Page 8 of 29
Elective Courses in lieu of Research - 4 Credits (3T+1P)

I. List for Elective I (Choose any one)

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

II. List for Elective II (Choose any one)

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

MJCS11T: Introduction to Programming (Theory)

Overview of Procedural programming using C; Compilation and execution of simple C programs.


Data types, constants and keywords: Declaring, definition and initialization of variables of different
data types, typecasting; named constants; keywords.
Operators and expressions: Arithmetic, logical and bitwise operators and expressions; unary and
binary operators; precedence and associativity.
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, row-major and column-major representations, 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, extern declarations; recursive function calls.
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 defi-
nitions of pointer variables and their usage; revisit of call-by-reference; variable argument list to
functions; command-line arguments in main(); self-referential structure and its application in linked-
list.
Memory allocation in C: Static and dynamic allocations. Usage of malloc and calloc functions, free
functions.
File I/O: opening and closing a file, read/write/fseek functions.
C preprocessing: preprocessor directives and usages; specifying different types of macros with ar-
guments, defining macros using compile time flags.

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.

MJCS11P: Introduction to Programming (Lab)

Based on Paper MJCS11T.

Page 11 of 29
MJCS12T: Digital Electronics (Theory)

Binary, Octal and Hexadecimal number systems.


Binary arithmetic, complements and representation of multi-byte numbers.
Boolean algebra and Logic functions, minimization of boolean functions using algebraic, sum-of-
products and product-of-sums, Karnaugh maps and Quine-McClusky methods. Realization using
logic gates.
Combinational Functions and Circuits: Realization of logical expression using different logic gates
and comparative performance, Functions – code conversion, Decoding, comparison, multiplex-
ing/demultiplexing, addder and subtractor. Design of combinational circuits with combinational
ICs.
Sequential Circuits: Structure of sequential circuits, flip-flops – SR, JK, Toggle, Master-slave JK
flip-flops; excitation tables, Conversions, clocking aspects, timing and triggering conditions.
Shift registers and synchronous counters: Ripple counters, modulo-n counters, pseudo-random se-
quence generators using feedback paths.

References:
1. Digital Electronics - M. Morris Mano; PHI.

2. Digital Computer Electronics - Albert P. Malvino, Jerald A. Brown; McGraw Hill.

3. Digital Integrated Electronics - Herbert Taub, Donald Schilling; McGraw Hill.

MJCS12P: Digital Electronics (Lab)

Based on Paper MJCS12T.

MNCS01T: Basics of Programming (Theory)

Introduction to C, familiarization with compilation and execution of simple C programs.


Data types, constants and keywords: Declaration, definition and initialization of variables of differ-
ent data types, named constants; keywords.
Operators and expressions: Arithmetic, logical and bitwise operators and expressions; unary and
binary operators.
Statements: Conditional statements (if-else, switch-case constructs), loops (while, for and do-while
loops), Nested statements, scopes of variables in nested statements.

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.

2. Programming in ANSI C - E. Balagurusamy; McGraw Hill.

3. Let Us C - Y. Kanetkar; BPB Publications.

MNCS01P: Basics of Programming (Lab)

Based on Paper MNCS01T.

MDCST: Fundamentals of Computer Science (Theory)

Introduction to Computers: Computer Characteristics, Concept of Hardware, Software; Evolu-


tion of computer and Generations, Types of Computers - General Purpose and Special Purpose
Computer, Applications of Computer in Various Fields with modern day examples.
Structure and Working of Computer: Functional Block Diagram of Computer. CPU, ALU, Mem-
ory Unit, Bus Structure of Digital Computer – Address, Data and Control Bus; motherboards and
components in a typical motherboard.
Computer Memory: Memory Concept, Memory Cell, Memory Organisation, Semiconductor Mem-
ory – RAM, ROM, PROM, EPROM, Secondary Storage Devices – Hard Drives, SSDs.
Input/Output Devices: Input Device – Keyboard, Mouse, Scanner, MICR, OMR. Output Devices
– VDU, Printers – Dot Matrix, Daisy-wheel, Inkjet, Laser, Line Printers and Plotters.
Operating System: Evolution of Operating System. Functions of Operating System. Types of
Operating Systems. Brief demonstration of Windows and Linux Operating Systems; various pro-
ductivity tools.
Networking: Basic Elements of a Communication System, Data Transmission Media, Topologies,

Page 13 of 29
LAN, MAN, WAN, Internet connectivity options.

References:
1. Computer Fundamentals - P. K. Sinha; BPB Publications.

2. Introduction to Information Technology - V. Rajaraman; PHI.

3. Fundamental of Information Technology - Chetan Shrivastava; Kalyani Publishers.

4. Computers Today - Suresh K Basandra; Galgotia Publications.

SECCS11P: UNIX/LINUX Programming (Lab)

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.

2. Unix programming environment - Kernighan and Pike; PHI.

3. Unix And Shell Programming: A Textbook - Behrouz A. Forouzan, Richard F. Gilberg;


Cengage Learning India.

4. Unix: Concepts and Applications - Sumitabha Das; McGraw Hill Education, India.

Page 14 of 29
SEMESTER - II

MJCS21T: Data Structures and Algorithms (Theory)

Concept of Data Types, Abstract Data Type or ADT.


Algorithm: Definition and Properties of an Algorithm, Time Complexity, Order Notation.
Arrays and Linked Lists: Single and Multi-dimensional Arrays; Singly, Doubly and Circular Lists;
Skip Lists, Sparse Matrices, Polynomial Representation.
Stacks: Definition, Representation and Uses. Push and Pop Operations. Infix, Prefix and Postfix
Notations, Conversion and Evaluation.
Queues: Definition, Representation and Uses. Linear and Circular Queue. enqueue, dequeue,
Deque, Priority Queues.
Recursion: Developing Recursive definitions of simple problems and their implementation; Advan-
tages and Limitations of Recursions.
Sorting: Selection Sort, Insertion Sort, Bubble Sort, Shell Sort, Comparison of Sorting Techniques.
Searching: Linear search, Binary search, Tree as a Data Structure, Binary Tree, Tree Traversal,
Binary Search Tree - Insertion, Deletion, and Searching in a BST, AVL Tree.

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.

3. Data Structures Using C - Aaron M. Tenenbaum, Y Langsam, Moshe J. Augenstein; Pearson


Education.

4. Data Structures and Program Design in C - Robert L. Kruse, Bruce P. Leung, C.L.Tondo,
Shashi Mogalla; Pearson Education.

MJCS21P: Data Structures and Algorithms (Lab)

Based on Paper MJCS21T.

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.

MNCS01T: Basics of Programming (Theory)

Introduction to C, familiarization with compilation and execution of simple C programs.


Data types, constants and keywords: Declaration, definition and initialization of variables of differ-
ent data types, named constants; keywords.
Operators and expressions: Arithmetic, logical and bitwise operators and expressions; unary and
binary operators.

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.

MNCS01P: Basics of Programming (Lab)

Based on Paper MNCS01T.

MDCST: Fundamentals of Computer Science (Theory)

Introduction to Computers: Computer Characteristics, Concept of Hardware, Software; Evolu-


tion of computer and Generations, Types of Computers - General Purpose and Special Purpose
Computer, Applications of Computer in Various Fields with modern day examples.
Structure and Working of Computer: Functional Block Diagram of Computer. CPU, ALU, Mem-
ory Unit, Bus Structure of Digital Computer – Address, Data and Control Bus; motherboards and
components in a typical motherboard.
Computer Memory: Memory Concept, Memory Cell, Memory Organisation, Semiconductor Mem-
ory – RAM, ROM, PROM, EPROM, Secondary Storage Devices – Hard Drives, SSDs.
Input/Output Devices: Input Device – Keyboard, Mouse, Scanner, MICR, OMR. Output Devices
– VDU, Printers – Dot Matrix, Daisy-wheel, Inkjet, Laser, Line Printers and Plotters.
Operating System: Evolution of Operating System. Functions of Operating System. Types of
Operating Systems. Brief demonstration of Windows and Linux Operating Systems; various pro-
ductivity tools.

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.

2. Introduction to Information Technology - V. Rajaraman; PHI.

3. Fundamental of Information Technology - Chetan Shrivastava; Kalyani Publishers.

4. Computers Today - Suresh K Basandra; Galgotia Publications.

SECCS21P: Programming in Python (Lab)

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

MJCS31T: Design and Analysis of Algorithms (Theory)

Introduction: Properties of an algorithm, Growth of Functions, Asymptotic Notations, Time and


Space Complexity.
Sorting and Order Statistics: Review of Sorting Algorithms, Merge sort, Quicksort, Heapsort, Sort-
ing in Linear Time, Medians and Order Statistics.
Tree: Height-Balanced Binary Tree, Red-Black Tree and Various operations on them.
Dynamic Programming: Matrix-Chain Multiplication, Longest Common Subsequence.
Greedy Algorithms: Activity selection problem, Huffman codes and Fractional knapsack problem.
Union-Find Algorithm, Greedy Algorithms on Matroid.
Divide-and-Conquer: Strassen’s Matrix Multiplication, Merge of Two Sorted Arrays.
Graph Algorithms: Breadth-First Search (BFS) and Depth-First Search (DFS), Minimum Spanning
Tree, Shortest Path Algorithms - Dijkstra’s, Bellman-Ford, Floyd-Warshall Algorithm, Transitive
Closure.
Hashing: Hash Tables, Hash Functions and Collisions, Collision Resolution, Linear Probing, Quadratic
Probing, Double Hashing; separate chaining and coalesced hashing.

References:
1. Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,
and Clifford Stein; The MIT Press.

2. The Art of Computer Programming, Volumes 1-4B - Donald E. Knuth, Addison-Wesley.

3. Algorithm Design - Jon Kleinberg and Éva Tardos; Addison-Wesley.

MJCS31P: Design and Analysis of Algorithms (Lab)

Based on Paper MJCS31T.

MJCS32T: Computer Organization and Architecture (Theory)

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.

2. Computer Organization - Carl Hamacher; McGraw Hill.

3. Computer Organization & Architecture - William Stallings; Pearson Education.

MJCS32P: Computer Organization and Architecture (Lab)

Based on Paper MJCS32T.

MNCS02T: Data Structures (Theory)

Concept of Data Types, Abstract Data Type or ADT.


Arrays: Single and Multi-dimensional Arrays, Sparse Matrices.
Linked Lists: Singly and Doubly Lists, Insertion and Deletion of Nodes.
Stacks: Definition, Representation and Uses. Push and Pop Operations. Infix, Prefix and Postfix
Notations, Conversion and Evaluation.
Queues: Definitions, Representation and Uses. enqueue and dequeue Operations.
Recursion: Recursive definitions of simple problems and their implementation.
Sorting: Bubble Sort, Selection Sort, Insertion Sort.
Searching: Linear Search, Binary Search, Introduction to a Tree as a Data Structure, Binary Tree,
Tree Traversal, Binary Search Tree - insertion, deletion.

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.

3. Data Structures Using C - Aaron M. Tenenbaum, Y Langsam, Moshe J. Augenstein; Pearson


Education.

4. Data Structures and Program Design in C - Robert L. Kruse, Bruce P. Leung, C.L.Tondo,
Shashi Mogalla; Pearson Education.

MNCS02P: Data Structures (Lab)

Based on Paper MNCS02T.

MDCST: Fundamentals of Computer Science (Theory)

Introduction to Computers: Computer Characteristics, Concept of Hardware, Software; Evolu-


tion of computer and Generations, Types of Computers - General Purpose and Special Purpose
Computer, Applications of Computer in Various Fields with modern day examples.
Structure and Working of Computer: Functional Block Diagram of Computer. CPU, ALU, Mem-
ory Unit, Bus Structure of Digital Computer – Address, Data and Control Bus; motherboards and
components in a typical motherboard.
Computer Memory: Memory Concept, Memory Cell, Memory Organisation, Semiconductor Mem-
ory – RAM, ROM, PROM, EPROM, Secondary Storage Devices – Hard Drives, SSDs.
Input/Output Devices: Input Device – Keyboard, Mouse, Scanner, MICR, OMR. Output Devices
– VDU, Printers – Dot Matrix, Daisy-wheel, Inkjet, Laser, Line Printers and Plotters.
Operating System: Evolution of Operating System. Functions of Operating System. Types of
Operating Systems. Brief demonstration of Windows and Linux Operating Systems; various pro-
ductivity tools.
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.

Page 22 of 29
2. Introduction to Information Technology - V. Rajaraman; PHI.

3. Fundamental of Information Technology - Chetan Shrivastava; Kalyani Publishers.

4. Computers Today - Suresh K Basandra; Galgotia Publications.

SECCS31P: Web Programming (Lab)

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.

3. Eloquent Javascript 3E: A Modern Introduction to Programming - Marijn Haverbeke; No


Starch Press.

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.

9. Docker Deep Dive - Nigel Poulton; 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

MJCS41T: Object-Oriented Programming (Theory)

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.

2. Programming: Principles and Practice Using C++ - Bjarne Stroustrup; Addison-Wesley.

3. Programming with C++ (Schaum’s Outlines) - John R. Hubbard; McGraw-Hill Education.

Page 25 of 29
MJCS41P: Object-Oriented Programming (Lab)

Based on Paper MJCS41T.

MJCS42T: Software Engineering (Theory)

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.

2. Software Engineering - Ian Sommerville; Pearson Education.

3. Fundamentals of Software Engineering - Rajib Mall; PHI.

MJCS42P: Software Engineering (Lab)

Based on Paper MJCS42T.

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.

2. Modern Operating Systems - Andrew S. Tanenbaum, Herbert Bos; Pearson.

3. Operating Systems, Internals and Design Principles - W. Stallings; Prentice Hall.

MJCS43P: Operating Systems (Lab)

Based on Paper MJCS43T.

MJCS44T: Computational Statistics (Theory)

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.

3. Fundamentals of Statistics - A. M. Goon, M. K. Gupta, B. Dasgupta; World Press Pvt Ltd.

MJCS44P: Computational Statistics (Lab)

Based on Paper MJCS44T.

MNCS02T: Data Structures (Theory)

Concept of Data Types, Abstract Data Type or ADT.


Arrays: Single and Multi-dimensional Arrays, Sparse Matrices.
Linked Lists: Singly and Doubly Lists, Insertion and Deletion of Nodes.
Stacks: Definition, Representation and Uses. Push and Pop Operations. Infix, Prefix and Postfix
Notations, Conversion and Evaluation.
Queues: Definitions, Representation and Uses. enqueue and dequeue Operations.
Recursion: Recursive definitions of simple problems and their implementation.
Sorting: Bubble Sort, Selection Sort, Insertion Sort.
Searching: Linear Search, Binary Search, Introduction to a Tree as a Data Structure, Binary Tree,
Tree Traversal, Binary Search Tree - insertion, deletion.

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.

3. Data Structures Using C - Aaron M. Tenenbaum, Y Langsam, Moshe J. Augenstein; Pearson


Education.

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)

Based on Paper MNCS02T.

Page 29 of 29

You might also like