CBCS Syllabus Com SC
CBCS Syllabus Com SC
University of Kalyani
West Bengal
Syllabus and scheme
of
in
Computer Science
University of Kalyani
Three-year Semester-wise B.Sc. (Honours) Courses of Studies in
Computer Science effective from the Academic Session 2018-2019
Computer Science Honours Course
Course Structure
SEMESTER-I
Course Code Course Title Course wise Credit
Class
UG-H-CC-L-101 Computer Fundamentals and Programming using C Core Theory 4
UG-H-CC-P-101 Programming using C Core Practical 2
UG-H-CC-L-102 Digital System Design Core Theory 4
UG-H-CC-P-102 Digital System Design Lab Core Practical 2
GE-1 General Elective 6
AECC-101 Environmental Science / English/MIL AECC 2
communication
Total 4 courses Total 20
SEMESTER-II
Course Code Course Title Course Nature Credit
UG-H-CC-L-203 Programming in C++ Core Theory 4
UG-H-CC-P-203 Programming in C++ Lab Core Practical 2
UG-H-CC-L-204 Computer System Architecture Core Theory 5
UG-H-CC-T-204 Computer System Architecture Tutorial Core Tutorial 1
GE-2 General Elective 6
AECC-202 Environmental Science / English/MIL AECC 2
communication
Total 4 courses Total 20
SEMESTER-III
Course Code Course Title Course Nature Credit
UG-H-CC-L-305 Data Structures Core Theory 4
UG-H-CC-P-305 Data Structures Lab Core Practical 2
UG-H-CC-L-306 Design and Analysis of Algorithms Core Theory 4
UG-H-CC-P-306 Design and Analysis of Algorithms Lab Core Practical 2
UG-H-CC-L-307 Discrete Structures Core Theory 5
UG-H-CC-T-307 Discrete Structures Tutorial Core Tutorial 1
GE-3 General Elective 6
UG-H-SEC-L-301 UNIX/LINUX Programming SEC 2
Total 5 courses Total 26
SEMESTER-IV
Course Code Course Title Course Nature Credit
UG-H-CC-L-408 Operating System Core Theory 5
UG-H-CC-T-408 Operating System Tutorial Core Tutorial 1
UG-H-CC-L-409 Computer Networks Core Theory 5
UG-H-CC-T-409 Computer Networks Tutorial Core Tutorial 1
UG-H-CC-L-410 Database Management Systems Core Theory 4
UG-H-CC-P-410 Data Management Systems Lab Core Practical 2
GE-4 General Elective 6
UG-H-SEC-L-402 Programming with MATLAB SEC 2
Total 5 courses Total 26
SEMESTER-V
Course Code Course Title Course Nature Credit
UG-H-CC-L-511 Theory of Computation Core Theory 5
UG-H-CC-T-511 Theory of Computation Tutorial Core Tutorial 1
UG-H-CC-L-512 Internet Technologies Core Theory 4
UG-H-CC-P-512 Internet Technologies Lab Core Practical 2
UG-H-DSE-L-501 Microprocessor/ Digital Image Processing DSE Theory 4
UG-H-DSE-P-501 Microprocessor/ Digital Image Processing Lab DSE Practical 2
UG-H-DSE-L-502 Numerical Methods/ Machine Learning DSE Theory 4
UG-H-DSE-P-502 Numerical Methods/ Machine Learning Lab DSE Practical 2
Total 4 courses Total 24
SEMESTER-VI
Course Code Course Title Course Nature Credit
UG-H-CC-L-613 Software Engineering Core Theory 5
UG-H-CC-T-613 Software Engineering Tutorial Core Tutorial 1
UG-H-CC-L-614 Computer Graphics Core Theory 4
UG-H-CC-P-614 Computer Graphics Lab Core Practical 2
UG-H-DSE-L-603 System Programming/Introduction to Data Science DSE Theory 4
System Programming/Introduction to Data Science DSE Practical 2
UG-H-DSE-P-603
Lab
UG-H-DSE-PRO-604 Project Work/Dissertation DSE 6
Total 4 courses Total 24
Total (All semesters) 26 courses Total 140
NOTE: The following General Elective Courses cannot be taken by students in B.Sc. (Hons.) in
Computer Science.
General Elective Course Course Name Course Code Credit
(Theory and Lab/Tutorial)
GE-1 Computer Fundamentals and UG-H-GE-L-101 4
Programming using C
Computer Fundamentals and UG-H-GE-P-101 2
Programming using C Lab
GE-2 Computer System UG-H-GE-L-202 5
Architecture
Computer System UG-H-GE-T-202 1
Architecture Tutorial
GE-3 Analysis of Algorithms and UG-H-GE-L-303 4
Data Structures
Analysis of Algorithms and UG-H-GE-P-303 2
Data Structures Lab
GE-4 Operating System UG-H-GE-L-404 5
Operating System Tutorial UG-H-GE-T-404 1
Note:
(1) At least 60 periods of classes must be taken for subjects with credits 4 or 5.
(3) The size of the practical group for practical papers is recommended to be 10-15 students.
(4) The size of tutorial group for papers without practical is recommended to be 8-10 students.
Experiment(s) : 70
Viva : 10
Detailed Syllabus Semesterwise
Semester-I
Environmental Science/English/MIL Communication (AECC-101) Credit-2
TBA
Boolean Algebra:
Fundamentals of Boolean Algebra, Switches and Inverters, Functionally Complete Gates (AND, OR, NOT),
NAND, NOR. Switching function and Boolean function. De Morgan’s theorem, Minterm and Maxterm,
Truth table and minimization of switching function up to four variables, Algebraic and K-map method of
logic circuit synthesis: Two level and Multi level.
6L
C Language preliminaries:
C character set, Identifiers and keywords, Data types, Declarations, Expressions, statements and
symbolic constants.
3L
Input-Output:
getchar, putchar, scanf, printf, gets, puts, functions.
1L
Pre-processor commands:
#include, #define, #ifdef
1L
Storage types:
Automatic, external, register and static variables.
2L
Functions:
Defining and accessing, passing arguments, Function prototypes, Recursion, Library functions,
Static functions
4L
Arrays:
Defining and processing, Passing arrays to a function, Multi dimensional arrays. 11. Strings: 6 Hrs
Defining and operations on strings.
4L
Pointers:
Declarations, Passing pointers to a function, Operations on pointers, Pointer Arithmetic, Pointers
and arrays, Arrays of pointers function pointers.
4L
Structures:
Defining and processing, Passing to a function, Unions, typedef, array of structure, and pointer to
structure
4L
File structures:
Definitions, concept of record, file operations: Storing, creating, retrieving, updating Sequential,
relative, indexed and random access mode, Files with binary mode(Low level), performance of
Sequential Files, Direct mapping techniques: Absolute, relative and indexed sequential files (ISAM)
concept of index, levels of index, overflow of handling.
6L
File Handling: File operation: creation, copy, delete, update, text file, binary file.
2L
Recommended Books:
1. P. K. Sinha & Priti Sinha , “Computer Fundamentals”, BPB Publications, 2007.
2. Dr. Anita Goel, Computer Fundamentals, Pearson Education, 2010.
3. Kernighan, Brian W., and Dennis M. Ritchie.The C programming language. 2006.
4. Schildt, Herbert, and C. Turbo. "C: the complete reference, Osborne." (2000).
5. Balagurusamy, E. programming in ANSI C. Tata McGraw-Hill Education, 2002.
6. Kanetkar, Yashavant P. Let us C. BPB publications, 2016.
C Programming elements: Character sets, Keywords, Constants, Variables, Data Types, Operators-
Arithmetic, Relational, Logical and Assignment; Increment and Decrement and Conditional, Operator
Precedence and Associations; Expressions, type casting. Comments, Functions, Storage Classes, Bit
manipulation, Input and output.
Pointers: Definition and initialization, Pointer arithmetic, Pointers and arrays, String functions and
manipulation, Dynamic storage allocation.
User defined Data types: Enumerated data types, Structures. Structure arrays, Pointers to Functions and
Structures, Unions.
Combinational Circuits: Realization of AND and OR Gates using diodes and NOT Gate using transistors,
Standard Gate Assemblies, IC chips packaging nomenclature, Half and Full Adder(3 bits), Multi-bit adders –
Ripple carry and Carry Look Ahead Adder, Adder/subtractor, BCD-Adder, Data selectors/multiplexers –
expansions, reductions, function realization, universal function realization, multi-function realization,
Decoders/Demultiplexers: function realization, De-multiplexer and function realization, Encoder, Priority
Encoder, Parity bit Generator/checker, Gray Code Generator, Code Converters, I/O features of BCD to 7-
segment LED decoder/driver(7447/7448), Seven segment display unit, Comparators.
25L
Sequential Circuits: Model of Sequential computing, Difference between Combinational and Sequential
circuit, RS-Latch: using NAND and NOR Gates, RS Latch as a Static RAM Cell, Problems of Basic Latch
circuits, Digital Clock – Duty Cycle, Rising time, Falling time, Clocked Flip Flops - SR, JK, D, T, Level
Trigger and Edge Trigger, Excitation Functions of each flip-flops, Flip-flops with Preset and Clear,
Application of Flip-flops: Asynchronous Counter (UP/DOWN) up to 4 bit counter, Mod – n Counter,
Synchronous Counters – different mod counters, Ring counter, Registers: Registers with serial and parallel
load, Shift Registers.
25L
Data Converter: D/A Conversion principle using basic circuit, R-2R Ladder circuit, Counter based A/D
converter, Successive approximation method for A/D conversion.
DTL and TTL NAND gate circuits and its operations, Fan in & Fan out, Noise margin, SSI, MSI, LSI, and
VLSI classifications.
10L
Recommended Books:
(1) Digital Circuits, Combinational Circuit, Vol. 1 by D. Roy Choudhuri, Platinam Publication.
(2) Digital Circuits, Sequential Circuit, Vol. 2 by D. Roy Choudhuri, Platinam Publication.
(3) Digital Logic and Computer Design by M.Morris Mano, PHI
(4) Digital Principle and Applications by Malvino & Leach, TMH
(5) Digital Systems Principles and Applications by Ronal J. Tocci and Neal S. Widmer, PHI
(6) Digital Fundamentals by Floyd, Pearson Education
Combinational Circuits:
1) Implement Half Adder/Half Subtractor / Full Adder / Full Subtractor using Logic Gates. Realize a logic
function using basic/universal gates in SOP and POS form. Study the functionalities of 7483 and design a
BCD adder using 7483 or equivalent.
2) Design a 4 bit 2’s complement adder – subtractor unit using 7483 or equivalent and XOR gates.
4) Design a 4:1 MUX using NAND gates. Study of 74153 and 74151. Design Full Adder / Subtractor using
MUX.
5) Design a 2:4 decoder using NAND gates. Study of 74155 and 74138. Design Full Adder / Subtractor using
decoders.
Sequential Circuits:
1) Realize S-R, D, J-K and T flip-flop using basic gates. (Study the undefined state in S-R flip-flop).
4) Study the functional characteristics of RAM IC chip. Study of open collector and tri-state output.
Horizontal expansion of RAM chips by cascading. (Use 74189, 7489, or any available chip).
Boolean Algebra:
Fundamentals of Boolean Algebra, Switches and Inverters, Functionally Complete Gates (AND, OR, NOT),
NAND, NOR. Switching function and Boolean function. De Morgan’s theorem, Minterm and Maxterm,
Truth table and minimization of switching function up to four variables, Algebraic and K-map method of
logic circuit synthesis: Two level and Multi level.
6L
C Language preliminaries:
C character set, Identifiers and keywords, Data types, Declarations, Expressions, statements and
symbolic constants.
3L
Input-Output:
getchar, putchar, scanf, printf, gets, puts, functions.
1L
Pre-processor commands:
#include, #define, #ifdef
1L
Storage types:
Automatic, external, register and static variables.
2L
Functions:
Defining and accessing, passing arguments, Function prototypes, Recursion, Library functions,
Static functions
4L
Arrays:
Defining and processing, Passing arrays to a function, Multi dimensional arrays. 11. Strings: 6 Hrs
Defining and operations on strings.
4L
Pointers:
Declarations, Passing pointers to a function, Operations on pointers, Pointer Arithmetic, Pointers
and arrays, Arrays of pointers function pointers.
4L
Structures:
Defining and processing, Passing to a function, Unions, typedef, array of structure, and pointer to
structure
4L
File structures:
Definitions, concept of record, file operations: Storing, creating, retrieving, updating Sequential,
relative, indexed and random access mode, Files with binary mode(Low level), performance of
Sequential Files, Direct mapping techniques: Absolute, relative and indexed sequential files (ISAM)
concept of index, levels of index, overflow of handling.
6L
File Handling: File operation: creation, copy, delete, update, text file, binary file.
2L
Recommended Books:
1. P. K. Sinha & Priti Sinha , “Computer Fundamentals”, BPB Publications, 2007.
2. Dr. Anita Goel, Computer Fundamentals, Pearson Education, 2010.
3. Kernighan, Brian W., and Dennis M. Ritchie.The C programming language. 2006.
4. Schildt, Herbert, and C. Turbo. "C: the complete reference, Osborne." (2000).
5. Balagurusamy, E. programming in ANSI C. Tata McGraw-Hill Education, 2002.
6. Kanetkar, Yashavant P. Let us C. BPB publications, 2016.
C Programming elements: Character sets, Keywords, Constants, Variables, Data Types, Operators-
Arithmetic, Relational, Logical and Assignment; Increment and Decrement and Conditional, Operator
Precedence and Associations; Expressions, type casting. Comments, Functions, Storage Classes, Bit
manipulation, Input and output.
Functions: argument passing, return statement, return values and their types, recursion
Pointers: Definition and initialization, Pointer arithmetic, Pointers and arrays, String functions and
manipulation, Dynamic storage allocation.
User defined Data types: Enumerated data types, Structures. Structure arrays, Pointers to Functions and
Structures, Unions.
Semester -II
English/MIL communication (AECC-202) Credit-2
TBA
Recommended Books:
1. HerbtzSchildt, "C++: The Complete Reference", Fourth Edition, McGraw Hill.2003
2. BjarneStroustrup, "The C++ Programming Language", 4th Edition, Addison-Wesley , 2013.
3. BjarneStroustroup, "Programming -- Principles and Practice using C++", 2nd Edition, Addison-
Wesley 2014.
4. E Balaguruswamy, "Object Oriented Programming with C++", Tata McGraw-Hill Education,
2008.
5. Paul Deitel, Harvey Deitel, "C++ How to Program", 8th Edition, Prentice Hall, 2011.
5. John R. Hubbard, "Programming with C++", Schaum's Series, 2nd Edition, 2000.
6. Andrew Koeni, Barbara, E. Moo, "Accelerated C++", Published by Addison-Wesley , 2000.
7. Scott Meyers, "Effective C++", 3rd Edition, Published by Addison-Wesley, 2005.
8. Harry, H. Chaudhary, "Head First C++ Programming: The Definitive Beginner's Guide", First
Create space Inc, O-D Publishing, LLC USA.2014
9. Walter Savitch, "Problem Solving with C++", Pearson Education, 2007.
10. Stanley B. Lippman, JoseeLajoie, Barbara E. Moo, "C++ Primer", Published by AddisonWesley,
5th Edition, 2012
10. WAP to perform following actions on an array entered by the user: i) Print the even-valued
elements ii) Print the odd-valued elements iii) Calculate and print the sum and average of the
elements of array iv) Print the maximum and minimum element of array v) Remove the duplicates
from the array vi) Print the array in reverse order The program should present a menu to the user
and ask for one of the options. The menu should also include options to re-enter array and to quit
the program.
11. WAP that prints a table indicating the number of occurrences of each alphabet in the text entered
as command line arguments.
12. Write a program that swaps two numbers using pointers.
13. Write a program in which a function is passed address of two variables and then alter its
contents.
14. Write a program which takes the radius of a circle as input from the user, passes it to another
function that computes the area and the circumference of the circle and displays the value of area
and circumference from the main() function.
15. Write a program to find sum of n elements entered by the user. To write this program, allocate
memory dynamically using malloc() / calloc() functions or new operator.
16. Write a menu driven program to perform following operations on strings:
a) Show address of each character in string
b) Concatenate two strings without using strcat function.
c) Concatenate two strings using strcat function.
d) Compare two strings
e) Calculate length of the string (use pointers)
f) Convert all lowercase characters to uppercase
g) Convert all uppercase characters to lowercase
h) Calculate number of vowels
i) Reverse the string
17. Given two ordered arrays of integers, write a program to merge the two-arrays to get an ordered
array.
18. WAP to display Fibonacci series (i)using recursion, (ii) using iteration
19. WAP to calculate Factorial of a number (i)using recursion, (ii) using iteration
20. WAP to calculate GCD of two numbers (i) with recursion (ii) without recursion.
21. Create Matrix class using templates. Write a menu-driven program to perform following Matrix
operations (2-D array implementation): a) Sum b) Difference c) Product d) Transpose
22. Create the Person class. Create some objects of this class (by taking information from the user).
Inherit the class Person to create two classes Teacher and Student class. Maintain the respective
information in the classes and create, display and delete objects of these two classes (Use Runtime
Polymorphism).
23. Create a class Triangle. Include overloaded functions for calculating area. Overload assignment
operator and equality operator.
24. Create a class Box containing length, breath and height. Include following methods in it: a)
Calculate surface Area b) Calculate Volume c) Increment, Overload ++ operator (both prefix &
postfix) d) Decrement, Overload -- operator (both prefix & postfix) e) Overload operator == (to
check equality of two boxes), as a friend function f) Overload Assignment operator g) Check if it is
a Cube or cuboid Write a program which takes input from the user for length, breath and height to
test the above class.
25. Create a structure Student containing fields for Roll No., Name, Class, Year and Total Marks.
Create 10 students and store them in a file.
26. Write a program to retrieve the student information from file created in previous question and
print it in following format: Roll No. Name Marks
27. Copy the contents of one text file to another file, after removing all whitespaces.
28. Write a function that reverses the elements of an array in place. The function must accept only
one pointer value and return void.
1. Introduction
Logic gates, boolean algebra, combinational circuits, circuit simplification, flip-flops and sequential
circuits, decoders, multiplexers, registers, counters and memory units.
9L
5. Memory Organization
Cache memory, Associative memory, mapping.
10L
6. Input-Output Organization
Input / Output: External Devices, I/O Modules, Programmed I/O, Interrupt-Driven I/O, Direct
Memory Access, I/O Channels.
10L
Recommended Books:
1. M. Mano, Computer System Architecture, Pearson Education 1992
2. A. J. Dos Reis, Assembly Language and Computer Architecture using C++ and JAVA, Course
Technology, 2004
3. W. Stallings, Computer Organization and Architecture Designing for Performance, 8th Edition,
Prentice Hall of India,2009
4. M.M. Mano , Digital Design, Pearson Education Asia,2013
5. Carl Hamacher, Computer Organization, Fifth edition, McGrawHill, 2012.
1. Introduction
Logic gates, boolean algebra, combinational circuits, circuit simplification, flip-flops and sequential
circuits, decoders, multiplexers, registers, counters and memory units.
9L
2. Data Representation and Basic Computer Arithmetic
Number systems, complements, fixed and floating point representation, character representation,
addition, subtraction, magnitude comparison, multiplication and division algorithms for integers
12L
3. Basic Computer Organization and Design
Computer registers, bus system, instruction set, timing and control, instruction cycle, memory
reference, input-output and interrupt, Interconnection Structures, Bus Interconnection design of
basic computer.
10L
4. Central Processing Unit
Register organization, arithmetic and logical micro-operations, stack organization, micro
programmed control. Instruction formats, addressing modes, instruction codes, machine language,
assembly language, input output programming, RISC, CISC architectures, pipelining and parallel
architecture.
9L
5. Memory Organization
Cache memory, Associative memory, mapping.
10L
6. Input-Output Organization
Input / Output: External Devices, I/O Modules, Programmed I/O, Interrupt-Driven I/O, Direct
Memory Access, I/O Channels.
10L
Recommended Books:
1. M. Mano, Computer System Architecture, Pearson Education 1992
2. A. J. Dos Reis, Assembly Language and Computer Architecture using C++ and JAVA, Course
Technology, 2004
3. W. Stallings, Computer Organization and Architecture Designing for Performance, 8th Edition,
Prentice Hall of India,2009
4. M.M. Mano , Digital Design, Pearson Education Asia,2013
5. Carl Hamacher, Computer Organization, Fifth edition, McGrawHill, 2012.
Semester-III
Data Structures (UG-H-CC-L-305) Credit-4
Reference Books:
1. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning, 2012.
2. SartajSahni, Data Structures, "Algorithms and applications in C++", Second Edition, Universities
Press, 2011.
3. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using C and
C++:, Second edition, PHI, 2009.
4. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson,1999.
5. D.S Malik, Data Structure using C++,Second edition, Cengage Learning, 2010.
6. Mark Allen Weiss, "Data Structures and Algorithms Analysis in Java", Pearson Education, 3rd
edition, 2011
7. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using Java,
2003.
8. Robert Lafore, "Data Structures and Algorithms in Java, 2/E", Pearson/ Macmillan Computer
Pub,2003
9. John Hubbard, "Data Structures with JAVA", McGraw Hill Education (India) Private Limited; 2
edition, 2009
10. Goodrich, M. and Tamassia, R. "Data Structures and Algorithms Analysis in Java", 4th Edition,
Wiley,2013
11. Herbert Schildt, "Java The Complete Reference (English) 9th Edition Paperback", Tata McGraw
Hill, 2014.
12. D. S. Malik, P.S. Nair, "Data Structures Using Java", Course Technology, 2003.
1. Write a program to search an element from a list. Give user the option to perform Linear or
Binary search. Use Template functions.
2. WAP using templates to sort a list of elements. Give user the option to perform sorting using
Insertion sort, Bubble sort or Selection sort.
3. Implement Linked List using templates. Include functions for insertion, deletion and search of a
number, reverse the list and concatenate two linked lists.
4. Implement Doubly Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list.
5. Implement Circular Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list.
6. Perform Stack operations using Linked List implementation.
7. Perform Stack operations using Array implementation. Use Templates.
8. Perform Queues operations using Circular Array implementation. Use Templates.
9. Create and perform different operations on Double-ended Queues using Linked List
implementation.
10. WAP to scan a polynomial using linked list and add two polynomial.
11. WAP to calculate factorial and to compute the factors of a given no. (i)using recursion, (ii) using
iteration
12. (ii) WAP to display fibonacci series (i)using recursion, (ii) using iteration
13. WAP to calculate GCD of 2 number (i) with recursion (ii) without recursion
14. WAP to create a Binary Search Tree and include following operations in tree: (a) Insertion
(Recursive and Iterative Implementation) (b) Deletion by copying (c) Deletion by Merging (d)
Search a no. in BST (e) Display its preorder, postorder and inorder traversals Recursively (f)
Display its preorder, postorder and inorder traversals Iteratively (g) Display its level-by-level
traversals (h) Count the non-leaf nodes and leaf nodes (i) Display height of tree (j) Create a mirror
image of tree (k) Check whether two BSTs are equal or not
15. WAP to convert the Sparse Matrix into non-zero form and vice-versa.
16. WAP to reverse the order of the elements in the stack using additional stack.
17. WAP to reverse the order of the elements in the stack using additional Queue.
18. WAP to implement Diagonal Matrix using one-dimensional array.
19. WAP to implement Lower Triangular Matrix using one-dimensional array.
20. WAP to implement Upper Triangular Matrix using one-dimensional array.
21. WAP to implement Symmetric Matrix using one-dimensional array.
22. WAP to create a Threaded Binary Tree as per inorder traversal, and implement operations like
finding the successor / predecessor of an element, insert an element, inorder traversal.
23. WAP to implement various operations on AVL Tree.
1. Introduction
Basic Design and Analysis techniques of Algorithms; Models of computation: RAM, TM etc.; time
and space complexity; Correctness of Algorithm.
Asymptotic Notations: Big-O, omega, theta etc.
Advanced Analysis Technique of algoirthm: Amortized analysis
3L
2. Recursion- Definition, Use, Limitations, Examples: Hanoi problem etc.; Tail Recursion
4L
3. Algorithm Design Techniques
Iterative techniques, Divide and Conquer, DynamicProgramming, Greedy Algorithms.
3L
3.Sorting and Searching Techniques
Elementary sorting techniques–Bubble Sort, InsertionSort, Merge Sort, Advanced Sorting
techniques - Heap Sort, Quick Sort, Sorting in Linear Time - Bucket Sort, Radix Sort and Count
Sort, Searching Techniques, Medians & Order Statistics, complexity analysis; Lower Bounding
Techniques Decision Trees
Linear search, binary search and their time complexity analysis
14L
4. Divide and Conquer:
Basic method, use, Examples: Merge sort, Quick Sort, Binary Search
4L
5. Dynamic Programming:
Basic method, use, Examples: matrix-chain multiplication, All pair shortest paths, single-source
shortest path, Travelling Salesman problem
8L
6. Backtracking:
Basic method, use, Examples: Eight queens problem, Graph coloring problem, Hamiltonian
problem
6L
7. Greedy Method:
Basic method, use, Examples: Knapsack problem, minimum spanning tree (Prim's and Kruskal's
algorithms)
6L
8. Graph algorithms:
Traversal algorithms: BFS and DFS
Ford-Fulkerson Algorithm for Maximum Flow
Shortest Path algorithm: Dijkstra Algorithm; Floyd Algorithm
6L
9. Notion of NP-completeness:
P class, NP-hard class, NP-complete class, Circuit Satisfiability problem, Clique Decision Problem.
6L
Recommended Books:
1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms,
PHI, 3rd Edition 2009
2. Sarabasse & A.V. Gelder Computer Algorithm – Introduction to Design and Analysis, Publisher –
Pearson 3rd Edition 1999
3. Goodman: Introduction to Design and Analysis Of Algorithms TMH
4. E.Horowitz and Shani “Fundamentals of Computer algorithms”
5. A.Aho, J.Hopcroft and J.Ullman “The Design and Analysis of algorithms”
6. E.M.Reingold, J.Nievergelt and N.Deo- “Combinational algorithms- Theory and Practice”,
Prentice Hall , 1997
6. Jon Kleinberg and Eva Tardos, Algorithm Design, Pearson Education, 2006
7. Vijay V. Vazirani, Approximation algorithms, Springer
1. i. Implement Insertion Sort (The program should report the number of comparisons)
ii. Implement Merge Sort (The program should report the number of comparisons)
2. Implement Heap Sort(The program should report the number of comparisons)
3. Implement Randomized Quick sort (The program should report the number of comparisons)
4. Implement Radix Sort
5. Create a Red-Black Tree and perform following operations on it:
i. Insert a node
ii. Delete a node
iii. Search for a number & also report the color of the node containing this number.
6. Write a program to determine the LCS of two given sequences
7. Implement Breadth-First Search in a graph
8. Implement Depth-First Search in a graph
9. Write a program to determine the minimum spanning tree of a graph
For the algorithms at S.No 1 to 3 test run the algorithm on 100 different inputs of sizes varying from 30 to
1000. Count the number of comparisons and draw the graph. Compare it with a graph of nlogn.
Discrete Structures (UG-H-CC-L-307) Credit-5
1.Introduction:
Sets - finite and Infinite sets, uncountably Infinite Sets; functions, relations, Properties of Binary
Relations, Closure, Partial Ordering Relations; counting - Pigeonhole Principle, Permutation and
Combination; Mathematical Induction, Principle of Inclusion and Exclusion.
2.Growth of Functions:
Asymptotic Notations, Summation formulas and properties, Bounding Summations, approximation
by Integrals
3.Recurrences:
Recurrence Relations, generating functions, Linear Recurrence Relations with constant coefficients
and their solution, Substitution Method, Recurrence Trees, Master Theorem
4.Graph Theory
Basic Terminology, Models and Types, multigraphs and weighted graphs, Graph Representaion,
Graph Isomorphism, Connectivity, Euler and Hamiltonian Paths and Circuits, Planar Graphs, Graph
Coloring, Trees, Basic Terminology and properties of Trees, Introduction to Spanning Trees
5.Propositional Logic
Logical Connectives, Well-formed Formulas, Tautologies, Equivalences, Inference Theory
Recommended Books:
1. C.L. Liu , D.P. Mahopatra, Elements of Discrete mathematics, 2nd Edition , Tata McGraw Hill,
1985,
2. Kenneth Rosen, Discrete Mathematics and Its Applications, Sixth Edition ,McGraw Hill 2006
3. T.H. Coremen, C.E. Leiserson, R. L. Rivest, Introduction to algorithms, 3rd edition Prentice Hall
on India, 2009
4. M. O. Albertson and J. P. Hutchinson, Discrete Mathematics with Algorithms , John wiley
Publication, 1988
5. J. L. Hein, Discrete Structures, Logic, and Computability, 3rd Edition, Jones and Bartlett
Publishers, 2009
6. D.J. Hunter, Essentials of Discrete Mathematics, Jones and Bartlett Publishers, 2008
Introduction
Basic Design and Analysis techniques of Algorithms, Correctness of Algorithm
(4L)
Sorting Techniques:
Elementary sorting techniques-Bubble Sort, Insertion Sort, Merge Sort, Advanced Sorting
techniques-Heap Sort, Quick Sort, Sorting in Linear Time-Bucket Sort, Radix Sort and Count Sort
(10L)
Searching Techniques:
Linear and Binary search.
(4L)
Complexity Analysis:
Medians & Order Statistics.
(4L)
Data Structures:
1. Arrays (4 Lectures)
Single and Multi-dimensional Arrays, Sparse Matrices
2. Stacks (5 Lectures)
Implementing stack using array and linked list, Prefix, Infix and Postfix expressions, Utility
and conversion of these expressions from one to another;
3. Queues (5 Lectures)
Array and Linked representation of Queue, De-queue, Priority Queues
5. Recursion (5 lectures)
Developing Recursive Definition of Simple Problems and their implementation; Advantages
and Limitations of Recursion;
6. Trees (5 Lectures)
Introduction to Tree as a data structure; Binary Trees, Binary Search Tree, (Creation, and
Traversals of Binary Search Trees)
Recommended Books:
1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein-Introduction to Algorithms,
PHI, 3rd Edition 2009.
2. Sarabasse & A.V. Gelder Computer Algorithm –Introduction to Design and Analysis,Publisher–
Pearson 3rd Edition 1999.
3. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning, 2012.
4. SartajSahni, Data Structures, "Algorithms and applications in C++", Second Edition, Universities
Press, 2011.
5. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using C and
C++:, Second edition, PHI, 2009.
6. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson.
7. D.S Malik, Data Structure using C++,Second edition, Cengage Learning, 2010.
Analysis of Algorithm and Data Structures Lab (UG-H-GE-P-303) Credit-2
1. Implement Insertion Sort (The program should report the number of comparisons)
2. Implement Merge Sort(The program should report the number of comparisons)
3. Implement Heap Sort (The program should report the number of comparisons)
4. Implement Randomized Quick sort (The program should report the number of comparisons)
5. Implement Radix Sort.
6. Implement Searching Techniques
7. Implementation of Recursive function.
8. Array and Linked list implementation of Stack and Queue.
9. Implementation of Single, Double and circular Linked List
10. Creation and traversal of Binary Search Tree.
Introduction
What is linux/unix Operating systems
Difference between linux/unix and other operating systems
Features and Architecture
Various Distributions available in the market
Installation, Booting and shutdown process
System processes (an overview)
External and internal commands
Creation of partitions in OS
Processes and its creation phases – Fork, Exec, wait
Recommended Books:
1. Sumitabha, Das, Unix Concepts And Applications, Tata McGraw-Hill Education, 2006
2. Michael Jang RHCSA/ RHCE Red Hat Linux Certification: Exams (Ex200 & Ex300) (Certification
Press), 2011
3. Nemeth Synder & Hein, Linux Administration Handbook, Pearson Education, 2nd Edition,2010
4. W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Unix Network Programming, The sockets
Networking API, Vol. 1, 3rd Edition,2014
Semester-IV
3. Process Management
Processes
Concept of processes; Process states; PCB; process scheduling; operations on processes; co-
operating processes; interprocess communication.
3L
Threads
Overview, benefits of threads, user and kernel threads.
2L
CPU scheduling
scheduling criteria, preemptive & non-preemptive scheduling, scheduling algorithms (FCFS, SJF,
RR, priority), algorithm evaluation, multi-processor scheduling.
7L
Process Synchronization
Background, critical section problem, critical region, synchronization hardware, classical problems
of synchronization, semaphores; monitor.
6L
Deadlocks
system model, deadlock characterization, methods for handling deadlocks, deadlock prevention,
deadlock avoidance, deadlock detection, recovery from deadlock.
8L
4. Memory Management
Physical and virtual address space; swapping; memory allocation strategies - fixed and variable
partitions; paging; segmentation; segmentation with paging; virtual memory; demand paging; page
replacement algorithms and their relative advantages and disadvantages; thrashing
10L
5. File and I/O Management
File concept, access methods, directory structure, file system structure, allocation methods
(contiguous, linked, indexed), free-space management (bit vector, linked list, grouping), directory
implementation (linear list, hash table), efficiency & performance.
5L
I/O hardware, polling, interrupts, DMA, application I/O interface (block and character devices,
network devices, clocks and timers, blocking and nonblocking I/O), kernel I/O subsystem
(scheduling, buffering, caching, spooling and device reservation, error handling), performance.
5L
Disk management:
Disk structure, disk scheduling (FCFS, SSTF, SCAN,C-SCAN) , disk reliability, disk formatting,
boot block, bad blocks.
4L
Recommended Books:
1. A Silberschatz, P.B. Galvin, G. Gagne, Operating Systems Concepts, 8th Edition, John Wiley
Publications 2008.
2. A.S. Tanenbaum, Modern Operating Systems, 3rd Edition, Pearson Education 2007.
3. G. Nutt, Operating Systems: A Modern Perspective, 2nd Edition Pearson Education 1997.
4. W. Stallings, Operating Systems, Internals & Design Principles , 5 th Edition, Prentice Hall of
India. 2008.
5. M. Milenkovic, Operating Systems- Concepts and design, Tata McGraw Hill 1992.
Recommended Books:
1. B. A. Forouzan: Data Communications and Networking, Fourth edition, THM ,2007.
2. A. S. Tanenbaum: Computer Networks, Fourth edition, PHI , 2002
3. W. Stallings: Data and Computer Communications (5th Ed.), PHI/ Pearson Education
4. Miller: Data Communication & Network, Vikas
1.Introduction
Concept & Overview of DBMS, Data Models, Database Languages, Database Administrator,
Database Users, Three Schema architecture of DBMS.
Characteristics of database approach, data models, database system architectureand data
independence.
4L
2.Entity Relationship(ER) Modeling
Basic concepts, Design Issues, Mapping Constraints, Keys, Entity-Relationship Diagram, Weak
Entity Sets, Extended E-R features.
6L
6. Internals of RDBMS:
Physical data structures, Query optimization : join algorithm, statistics and cost bas optimization.
Transaction processing
3L
7.Transaction Processing
ACID properties, Concurrency control and Recovery Management : transaction model properties,
state serializability, lock base protocols, two phase locking.
5L
Recommended Books:
1. A Silberschatz, P.B. Galvin, G. Gagne, Operating Systems Concepts, 8th Edition, John Wiley
Publications 2008.
2. A.S. Tanenbaum, Modern Operating Systems, 3rd Edition, Pearson Education 2007.
3. G. Nutt, Operating Systems: A Modern Perspective, 2nd Edition Pearson Education 1997.
4. W. Stallings, Operating Systems, Internals & Design Principles , 5th Edition, Prentice Hall of
India. 2008.
5. M. Milenkovic, Operating Systems- Concepts and design, Tata McGraw Hill 1992.
Unit I
Programming Environment: MATLAB Windows, A First Program, Expressions, Constants,
Variables and assignment statement, Arrays.
(3L)
Unit III
Graph Plots: Basic plotting, Built in functions, Generating waveforms, Sound
replay, load
and save.
(2L)
Unit IV
Procedures and Functions: Arguments and return values, M-files, Formatted console
input-output, String handling.
(3L)
Unit V
Control Statements: Conditional statements: If, Else, Else-if, Repetition statements: While,
for loop.
(2L)
Unit VI
Manipulating Text: Writing to a text file, Reading from a text file, Randomising and
sorting a list, searching a list.
(2L)
Unit VII
GUI Interface: Attaching buttons to actions, Getting Input, Setting Output.
(2L)
Recommended Books:
1. MATLAB: An Introduction with Applications, by Amos Gilat, 2nd edition, Wiley,
2004,
2. C.B. Moler, Numerical Computing with MATLAB, SIAM, 2004.
3. Set up a vector called N with five elements having the values: 1, 2, 3, 4, 5. Using N,
create assignment statements for a vector X which will result in X having these values:
a. 2, 4, 6, 8, 10
b. 1/2, 1, 3/2, 2, 5/2
c. 1, 1/2, 1/3, 1/4, 1/5
d. 1, 1/4, 1/9, 1/16, 1/25
4. A supermarket conveyor belt holds an array of groceries. The price of each product (in
pounds) is [ 0.6, 1.2 ,0.5, 1.3 ] ; while the numbers of each product are [ 3, 2 ,1 ,5 ]. Use
MATLAB to calculate the total bill.
5. The sortrows(x) function will sort a vector or matrix X into increasing row order. Use this
function to sort a list of names into alphabetical order.
6.The ―identity‖matrix is a square matrix that has ones on the diagonal and zeros
elsewhere. You can generate one with the eye() function in MATLAB. Use MATLAB to
find a matrix B, such that when multiplied by matrix A=[ 1 2; -1 0 ] the identity matrix
I=[ 1 0; 0 1 ] is generated. That is A*B=I.
7. Create an array of N numbers. Now find a single MATLAB statement that picks out from
that array the 1,4,9,16,...,√Nth entries, i.e. those numbers which have indices that are
square numbers.
8. Draw a graph that joins the points (0,1), (4,3), (2,0) and (5,-2).
9. The seeds on a sunflower are distributed according to the formula below. Plot a small circle at each of the
first 1000 co-ordinates :
rn = √n
θn = (137.51/180)πn
10.Calculate 10 approximate points from the function y=2x by using the formulae:
i. xn= n
ii. yn= 2n + rand - 0.5
Fit a line of best fit to these points using the function polyfit() with degree=1, and
generate co-ordinates from the line of best fit using polyval(). Use the on-line help to find
out how to use these functions. Plot the raw data and the line of best fit.
11. Calculate and replay 1 second of a sinewave at 500Hz with a sampling rate of 11025Hz.
Save the sound to a file called "ex35.wav". Plot the first 100 samples.
12. Calculate and replay a 2 second chirp. That is, a sinusoid that steadily increases in
frequency with time, from say 250Hz at the start to 1000Hz at the end.
13. Build a square wave by adding together 10 odd harmonics: 1f, 3f, 5f, etc. The amplitude
of the nth harmonic should be 1/n. Display a graph of one cycle of the result
superimposed on the individual harmonics.
14. Write a function called FtoC (ftoc.m) to convert Fahrenheit temperatures into Celsius.
Make sure the program has a title comment and a help page. Test from the command
window with:
i. FtoC(96)
ii. lookfor Fahrenheit
iii. help FtoC
15. Write a program to input 2 strings from the user and to print out (i) the concatenation of
the two strings with a space between them, (ii) a line of asterisks the same length as the
concatenated strings, and (iii) the reversed concatenation. For example:
i. Enter string 1: Mark
ii.Enter string 2: Huckvale
iii.Mark Huckvale
iv.*************
v.elavkcuH kraM
Semester-V
Theory of Computation (UG-H-CC-L-511) Credit-5
1. Languages
Alphabets, string, language, Basic Operations on language, Concatenation, KleeneStar
8L
Java
Use of Objects, Array and ArrayList class
6L
JavaScript
Data types, operators, functions, control structures, events and event handling.
6L
JDBC
JDBC Fundamentals, Establishing Connectivity and working with connection interface, Working with
statements, Creating and Executing SQL Statements, Working with Result Set Objects.
18L
JSP
Introduction to JavaServer Pages, HTTP and Servlet Basics, The Problem with Servlets, The Anatomy of a
JSP Page, JSP Processing, JSP Application Design with MVC, Setting Up the JSP Environment, Implicit JSP
Objects, Conditional Processing, Displaying Values, Using an expression to Set an Attribute, Declaring
Variables and Methods, Error Handling and Debugging, Sharing Data Between JSP Pages, Requests, and
Users, Database Access.
22L
Java Beans
Java Beans Fundamentals, JAR files, Introspection, Developing a simple Bean, Connecting to DB
8L
Recommended Books:
1. Ivan Bayross, Web Enabled Commercial Application Development Using Html, Dhtml,javascript, Perl
Cgi, BPB Publications, 2009.
2. Cay Horstmann, BIG Java, Wiley Publication , 3rd Edition., 2009
3. Herbert Schildt , Java 7, The Complete Reference, , 8th Edition, 2009.
4. Jim Keogh ,The Complete Reference J2EE, TMH, , 2002. 5. O'Reilly , Java Server Pages, Hans Bergsten,
Third Edition, 2003.
5. Web Enabled Commercial Application Development Using Html, Dhtml, javascript, Perl Cgi By
Ivan Bayross, BPB Publications, 2009.
6. BIG Java Cay Horstmann, Wiley Publication , 3rd Edition., 2009
7. Java 7 ,The Complete Reference, Herbert Schildt, 8th Edition, 2009.
8. The Complete Reference J2EE, TMH, Jim Keogh, 2002.
9. Java Server Pages, Hans Bergsten, Third Edition, O'Reilly Media December 2003.
JAVA Script:
1. Create a student registration form. Create functions to perform the following checks: a. Roll
number is a 7-digit numeric value b. Name should be an alphabetical value(String) c. Non-empty
fields like DOB
2. Implement a static password protection.
3. Write a java script a. To change the colour of text using SetTimeOut() b. To move an image
across screen using SetInterval()
JAVA Programs:
1. WAP to find the largest of n natural numbers.
2. WAP to find whether a given number is prime or not.
3. WAP to print the sum and product of digits of an Integer and reverse the Integer.
4. Write a program to create an array of 10 integers. Accept values from the user in that array. Input
another number from the user and find out how many numbers are equal to the number passed, how
many are greater and how many are less than the number passed.
5. Write java program for the following matrix operations: a. Addition of two matrices b.
Summation of two matrices c. Transpose of a matrix Input the elements of matrices from user
6. Write a java program that computes the area of a circle, rectangle and a Cylinder using function
overloading.
JDBC:
1. Create a table 'Student' and ‘Teacher’ in 'College' database and insert two rows in this newly
created table using JDBC API and do the following:
a. Update an already created table 'Teacher' in 'College' database by updating a teacher's name, with
"Dr." appended before the name, whose name is "Rita". b. Repeat the same thing for all the teachers
using PreparedStatement. c. Delete the student with ID=3 from 'Student' database. d. Insert two
students to the ResultSet returned by the query which selects all students with FirstName="Ayush".
The database must also get updated along with ResultSet.
2. Create a procedure in MySQL to count the number of Rows in table 'Student'. Use Callable
Statement to call this method from Java code.
JSP:
1.Display the patterns of numbers, characters etc.
2. Make two files as follows: a. main.html: shows 2 text boxes and 3 radio buttons with values
"addition", "subtraction" and "multiplication" b. operate.jsp: depending on what the user selects
perform the corresponding function (Give two implementations: using request.getParameter() and
using expression language)
3. Validate User input entered in a form. The input must include Name, DOB, Email ID, Lucky
Number, Favorite food etc.
Introduction to 8085A CPU architecture-register organization, addressing modes and their features.
Software instruction set and Assembly Language Programming. Pin description and features.
16L
Hardware Interfacing: Interfacing memory, peripheral chips (IO mapped IO & Memory mapped
IO).
6L
Interrupts and DMA. Peripherals: 8279, 8255, 8251, 8253, 8237, 8259, A/D and D/A converters and
interfacing of the same.
18L
16 bit processors: 8086 and architecture, segmented memory has cycles, read/write cycle in
min/max mode. Reset operation, wait state, Halt state, Hold state, Lock operation, interrupt
processing. Addressing modes and their features. Software instruction set (including specific
instructions like string instructions, repeat, segment override, lock prefizers and their use) and
Assembly Language programming with the same.
12L
Recommended Books:
1. Microprocessor architecture, programming and applications with 8085/8085A, Wiley eastern Ltd,
1989 by Ramesh S. Gaonkar.
2. Intel Corp: The 8085 / 8085A. Microprocessor Book – Intel marketing communication, Wiley
inter science publications, 1980.
3. An introduction to micro computers Vol.
2 – some real Microprocessor – Galgotia Book Source, New Delhi by Adam Osborne and J. Kane
4. Advanced Microprocessors by Ray and Bhurchandi - TMH
5. Intel Corp. Micro Controller Handbook – Intel Publications, 1994.
6. Microprocessors and Interfacing by Douglas V. Hall, McGraw Hill International Ed. 1992
7. Assembly Language Programming the IBM PC by Alan R. Miller, Subex Inc, 1987
8. The Intel Microprocessors: 8086/8088, 80186, 80286, 80386 & 80486, Bary B. Brey, Prentice
Hall, India 1996.
Microprocessor Lab (UG-H-DSE-P-501) Credit-2
1. Introduction (6 Lectures)
Light, Brightness adaption and discrimination, Pixels, coordinate conventions, Imaging Geometry,
Perspective Projection, Spatial Domain Filtering, sampling and quantization.
5. Image Compression (10 Lectures) Encoder-Decoder model, Types of redundancies, Lossy and Lossless
compression, Entropy of an information source, Shannon's 1st Theorem, Huffman Coding, Arithmetic
Coding, Golomb Coding, LZW coding, Transform Coding, Sub-image size selection, blocking artifacts, DCT
implementation using FFT, Run length coding, FAX compression (CCITT Group-3 and Group-4), Symbol-
based coding, JBIG-2, Bit-plane encoding, Bit-allocation, Zonal Coding, Threshold Coding, JPEG, Lossless
predictive coding, Lossy predictive coding, Motion Compensation
7. Morphological Image Processing (7 Lectures) Basics, SE, Erosion, Dilation, Opening, Closing, Hit-or-
Miss Transform, Boundary Detection, Hole filling, Connected components, convex hull, thinning,
thickening, skeletons, pruning, Geodesic Dilation, Erosion, Reconstruction by dilation and erosion.
1. Write program to read and display digital image using MATLAB or SCILAB
a. Become familiar with SCILAB/MATLAB Basic commands
b. Read and display image in SCILAB/MATLAB
c. Resize given image
d. Convert given color image into gray-scale image
e. Convert given color/gray-scale image into black & white image
f. Draw image profile
g. Separate color image in three R G & B planes
h. Create color image using R, G and B three separate planes
i. Flow control and LOOP in SCILAB
j. Write given 2-D data in image file
2. To write and execute image processing programs using point processing method
a. Obtain Negative image
b. Obtain Flip image
c. Thresholding
d. Contrast stretching
10. Write a program in C and MATLAB/SCILAB for edge detection using different edge detection mask.
11. Write and execute program for image morphological operations erosion and dilation.
12. To write and execute program for wavelet transform on given image and perform inverse wavelet
transform to reconstruct image.
Recommended Books:
[1] S.A. Mollah: Introduction to Numerical Analysis and Computational Procedures, Books &
Allied Ltd, 5th Revised edition edition (2000)
[2] M.K. Jain, S.R.K. Iyengar and R.K. Jain: Numerical Methods for Scientific and Engineering
Computation, New Age International Publisher, 6/e (2012)
[3] Gupta,S.K.: Numerical Methods for Engineers. Wiley Eastern, New Delhi, 1995
[4] Nurul Islam: Numerical Analysis, Academic Publishers
[5] Data & Jana: Introductory Numerical Analysis, Shreedhar Prakashani
Introduction:
Concept of Machine Learning, Applications of Machine Learning, Key elements of Machine
Learning, Supervised vs. Unsupervised Learning, Statistical Learning: Bayesian Method, The Naive
Bayes Classifier
10L
Logistic Regression:
Classification using Logistic Regression, Logistic Regression vs. Linear Regression, Logistic
Regression with one variable and with multiple variables.
10L
Neural Networks: Introduction, Model Representation, Gradient Descent vs. Perceptron Training,
Stochastic Gradient Descent, Multilayer Perceptrons, Multiclass Representation, Backpropagation
Algorithm.
10L
Recommended Books:
1. Ethem Alpaydin, "Introduction to Machine Learning" 2nd Edition, The MIT Press, 2009.
2. Tom M. Mitchell, "Machine Learning", First Edition by Tata McGraw-Hill Education, 2013.
3. Christopher M. Bishop, "Pattern Recognition and Machine Learning" by Springer, 2007.
4. Mevin P. Murphy, "Machine Learning: A Probabilistic Perspective" by The MIT Press, 2012.
For practical Labs for Machine Learning, students may use softwares like MABLAB/Octave or
Python. For later exercises, students can create/use their own datasets or utilize datasets from online
repositories like UCI Machine Learning Repository (http://archive.ics.uci.edu/ml/).
Semester-VI
1.Introduction
The Evolving Role of Software, Software Characteristics, Changing Nature ofSoftware, Software
Engineering as a Layered Technology, Software Process Framework, Framework and Umbrella
Activities, Process Models, Capability Maturity Model Integration (CMMI).
9L
2.Requirement Analysis
Software Requirement Analysis, Initiating Requirement EngineeringProcess, Requirement Analysis
and Modeling Techniques, Flow Oriented Modeling, Need for SRS, Characteristics and
Components of SRS.
8L
Recommended Books:
1. J.D.Foley, A.Van Dan, Feiner, Hughes Computer Graphics Principles & Practice 2nd edition
Publication Addison Wesley 1990.
2. D.Hearn, Baker: Computer Graphics, Prentice Hall of India 2008.
3. D.F.Rogers Procedural Elements for Computer Graphics, McGraw Hill 1997.
4. D.F.Rogers, Adams Mathematical Elements for Computer Graphics, McGraw Hill 2nd edition
1989.
5. Hearn, Baker: Computer Graphics ( C version 2nd Ed.), Pearson education
6. Mukherjee: Fundamentals of Computer graphics & Multimedia, PHI
7. Mukherjee Arup: Introduction to Computer Graphics, Vikas
Introduction:
Overview of compilation, Phases of a compiler
6L
Assemblers & Loaders, Linkers:
One pass and two pass assembler, design of an assembler, Absolute loader, relocation and linking
concepts, relocating loader and Dynamic Linking.
12L
Lexical Analysis:
Role of a Lexical analyzer, Specification and recognition of tokens, Symbol table, lex
12L
Parsing:
Bottom up parsing- LR parser, yacc.
Intermediate representations
Three address code generation, syntax directed translation, translation of types, control statements
16L
Storage organization:
Activation records, stack allocation
6L
Code Generation:
Object code generation
8L
Recommended Books:
1. Santanu Chattopadhyaya, Systems Programming, PHI, 2011.
2. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques,
and Tools, 2nd edition, Prentice Hall, 2006.
3. D. M. Dhamdhere, Systems Programming, Tata McGraw Hill, 2011.
4. Leland Beck, D. Manjula, System Software: An Introduction to System Programming, 3 rd
edition, Pearson Education, 2008.
5. Grune D, Van Reeuwijk . K, Bal H. E, Jacobs C J H, Langendoen K, Modern Compiler Design,
2nd edition, Springer, 2012
Data Scientist’s Tool Box: Turning data into actionable knowledge, introduction to the tools that
will be used in building data analysis software: version control, markdown, git, GitHub, R, and
Rstudio.
15L
R Programming Basics: Overview of R, R data types and objects, reading and writing data, Control
structures, functions, scoping rules, dates and times, Loop functions, debugging tools, Simulation,
code profiling
15L
Getting and Cleaning Data: Obtaining data from the web, from APIs, from databases and from
colleagues in various formats. basics of data cleaning and making data ―tidy.
10L
Exploratory Data Analysis: Essential exploratory techniques for summarizing data, applied before
formal modeling commences, eliminating or sharpening potential hypotheses about the world that
can be addressed by the data, common multivariate statistical techniques used to visualize high-
dimensional data.
10L
Reproducible Research: Concepts and tools behind reporting modern data analyses in a
reproducible manner, To write a document using R markdown, integrate live R code into a literate
statistical program, compile R markdown documents using knitr and related tools, and organize a
data analysis so that it is reproducible and accessible to others.
10L
Recommended Books:
1. Rachel Schutt, Cathy O'Neil, "Doing Data Science: Straight Talk from the Frontiline" by
Schroff/O'Reilly, 2013.
2. Foster Provost, Tom Fawcett, "Data Science for Business" What You Need to Know About Data
Mining and Data-Analytic Thinking" by O'Reilly, 2013.
3. John W. Foreman, "Data Smart: Using data Science to Transform Information into Insight" by
John Wiley & Sons, 2013.
4. Ian Ayres, "Super Crunchers: Why Thinking-by-Numbers Is the New Way to Be Smart" Ist
Edition by Bantam, 2007.
5. Eric Seigel, "Predictive Analytics: The Power to Predict who Will Click, Buy, Lie, or Die", 1st
Edition, by Wiley, 2013.
END
Syllabus and scheme for
in
Computer Science
University of Kalyani
Three-year Semister-wise B.Sc. (General) Courses of Studies in
Computer Science effective from the Academic Session 2018-2019
SEMESTER-I
Course Code Course Title Course wise Class Credit
(L+T+P)
UG-G-CC-L-101A Computer Fundamentals andProgramming using Core Theory 4
C(CC-1A)
UG-G-CC-P-101A Programming using C Lab (CC-1A/P) Core Practical 2
CC-2A Core 6
CC-3A Core 6
AECC-101 Environmental Science/English/MIL AECC 2
Communication (AECC-1)
Total 4 courses Total 20
SEMESTER-II
Course Code Course Title Course Nature Credit
UG-G-CC-L-201B Computer System Architecture (CC-1B) Core Theory 5
UG-G-CC-T-201B Computer System Architecture Tutorial(CC-1B/T) Core Tutorial 1
CC-2B Core 6
CC-3B Core 6
AECC-202 Environmental Science/English/MIL AECC 2
Communication(AECC-2)
Total 4 courses Total 20
SEMESTER-III
Course Code Course Title Course Nature Credit
UG-G-CC-L-301C Analysis of Algorithms and Data Structures (CC- Core Theory 4
1C)
UG-G-CC-P-301C Analysis of Algorithms and Data Structures (CC- Core Practical 2
1C/P)
CC-2C Core 6
CC-3C Core 6
UG-G-SEC-P-301 Any one of the following(SEC-1): SEC Theory 2
1. Office Automation Tools
2. System Administration and Maintainence
Note:
(1) At least 60 periods of classes must be taken for subjects with credits 4 or 5.
(2) Wherever there is a practical there will be no tutorial and vice-versa.
(3) The size of the practical group for practical papers is recommended to be 10-15 students.
(4) The size of tutorial group for papers without practical is recommended to be 8-10 students.
Semester-I
Environmental Science / English/ MIL Communication (AECC-101) Credit-2
TBA
C Language preliminaries:
C character set, Identifiers and keywords, Data types, Declarations, Expressions, statements and
symbolic constants.
5L
Input-Output:
getchar, putchar, scanf, printf, gets, puts, functions.
4L
Pre-processor commands:
#include, #define, #ifdef
3L
Operators and expressions:
Arithmetic, unary, logical, bit-wise, assignment and conditional operators
6L
Storage types:
Automatic, external, register and static variables.
4L
Functions:
Defining and accessing, passing arguments, Function prototypes, Recursion, Library functions,
Static functions
8L
Arrays:
Defining and processing, Passing arrays to a function, Multi dimensional arrays. 11. Strings: 6 Hrs
Defining and operations on strings.
6L
Pointers:
Declarations, Passing pointers to a function, Operations on pointers, Pointer Arithmetic, Pointers
and arrays, Arrays of pointers function pointers.
6L
Structures:
Defining and processing, Passing to a function, Unions, typedef, array of structure, and pointer to
structure
6L
File structures:
Definitions, concept of record, file operations: Storing, creating, retrieving, updating Sequential,
relative, indexed and random access mode, Files with binary mode (Low level), performance of
Sequential Files, Direct mapping techniques: Absolute, relative and indexed sequential files (ISAM)
concept of index, levels of index, overflow of handling.
6L
File Handling: File operation: creation, copy, delete, update, text file, binary file.
6L
Recommended Books:
1. Kernighan, Brian W., and Dennis M. Ritchie.The C programming language. 2006.
2. Schildt, Herbert, and C. Turbo. "C: the complete reference, Osborne." (2000).
3. Balagurusamy, E. programming in ANSI C. Tata McGraw-Hill Education, 2002.
4. Kanetkar, Yashavant P. Let us C. BPB publications, 2016.
C Programming elements: Character sets, Keywords, Constants, Variables, Data Types, Operators-
Arithmetic, Relational, Logical and Assignment; Increment and Decrement and Conditional, Operator
Precedence and Associations; Expressions, type casting. Comments, Functions, Storage Classes, Bit
manipulation, Input and output.
Functions: argument passing, return statement, return values and their types, recursion
Pointers: Definition and initialization, Pointer arithmetic, Pointers and arrays, String functions and
manipulation, Dynamic storage allocation.
User defined Data types: Enumerated data types, Structures. Structure arrays, Pointers to Functions and
Structures, Unions.
Semester-II
TBA
1. Introduction
Logic gates, boolean algebra, combinational circuits, circuit simplification, flip-flops and sequential
circuits, decoders, multiplexers, registers, counters and memory units.
9L
2. Data Representation and Basic Computer Arithmetic
Number systems, complements, fixed and floating point representation, character representation,
addition, subtraction, magnitude comparison, multiplication and division algorithms for integers
12L
3. Basic Computer Organization and Design
Computer registers, bus system, instruction set, timing and control, instruction cycle, memory
reference, input-output and interrupt, Interconnection Structures, Bus Interconnection design of
basic computer.
10L
4. Central Processing Unit
Register organization, arithmetic and logical micro-operations, stack organization, micro
programmed control. Instruction formats, addressing modes, instruction codes, machine language,
assembly language, input output programming, RISC, CISC architectures, pipelining and parallel
architecture.
9L
5. Memory Organization
Cache memory, Associative memory, mapping.
10L
6. Input-Output Organization
Input / Output: External Devices, I/O Modules, Programmed I/O, Interrupt-Driven I/O, Direct
Memory Access, I/O Channels.
10L
Recommended Books:
1. M. Mano, Computer System Architecture, Pearson Education 1992
2. A. J. Dos Reis, Assembly Language and Computer Architecture using C++ and JAVA, Course
Technology, 2004
3. W. Stallings, Computer Organization and Architecture Designing for Performance, 8th Edition,
Prentice Hall of India,2009
4. M.M. Mano , Digital Design, Pearson Education Asia,2013
5. Carl Hamacher, Computer Organization, Fifth edition, McGrawHill, 2012.
Semester-III
Introduction
Basic Design and Analysis techniques of Algorithms, Correctness of Algorithm
(4L)
Sorting Techniques:
Elementary sorting techniques-Bubble Sort, Insertion Sort, Merge Sort, Advanced Sorting
techniques-Heap Sort, Quick Sort, Sorting in Linear Time-Bucket Sort, Radix Sort and Count Sort
(10L)
Searching Techniques:
Linear and Binary search.
(4L)
Complexity Analysis:
Medians & Order Statistics.
(4L)
Data Structures:
1. Arrays (4 Lectures)
Single and Multi-dimensional Arrays, Sparse Matrices
2. Stacks (5 Lectures)
Implementing stack using array and linked list, Prefix, Infix and Postfix expressions, Utility
and conversion of these expressions from one to another;
3. Queues (5 Lectures)
Array and Linked representation of Queue, De-queue, Priority Queues
5. Recursion (5 lectures)
Developing Recursive Definition of Simple Problems and their implementation; Advantages
and Limitations of Recursion;
6. Trees (5 Lectures)
Introduction to Tree as a data structure; Binary Trees, Binary Search Tree, (Creation, and
Traversals of Binary Search Trees)
Recommended Books:
1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein-Introduction to Algorithms,
PHI, 3rd Edition 2009.
2. Sarabasse & A.V. Gelder Computer Algorithm –Introduction to Design and Analysis,Publisher–
Pearson 3rd Edition 1999.
3. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning, 2012.
4. SartajSahni, Data Structures, "Algorithms and applications in C++", Second Edition, Universities
Press, 2011.
5. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using C and
C++:, Second edition, PHI, 2009.
6. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson.
7. D.S Malik, Data Structure using C++,Second edition, Cengage Learning, 2010.
1. Implement Insertion Sort (The program should report the number of comparisons)
2. Implement Merge Sort(The program should report the number of comparisons)
3. Implement Heap Sort (The program should report the number of comparisons)
4. Implement Randomized Quick sort (The program should report the number of comparisons)
5. Implement Radix Sort.
6. Implement Searching Techniques
7. Implementation of Recursive function.
8. Array and Linked list implementation of Stack and Queue.
9. Implementation of Single, Double and circular Linked List
10. Creation and traversal of Binary Search Tree.
MS Word:
Introduction, Windows 2007 Interface, Customizing the Word Application, Document Views, Basic
Formatting in MS Word 2007, Advanced Formatting, Navigating through a Word Document,
Performing a Mail Merge, A Quick Look at Macros, Printing Documents, Print Preview
13L
Excel 2007:
Introduction, Workbook, Worksheet, Formatting in excel, Advanced formatting in Excel, Working
with formulas, Printing worksheets
14L
MS PowerPoint:
Introduction, Creating a Presentation, Basic Formatting in PowerPoint, Advanced Formatting,
Using Templates, Inserting charts, Inserting tables, Printing presentations
14L
MS Access:
Access Basics, Design a Database, Build a Database, Work with Forms, Sort, Retrieve, Analyze
Data, Work With Reports, Access with Other Applications, Manage an Access Database
14L
Recommended Books:
1. Sushila Madan, Introduction to Essential tools, JBA, 2009.
2. Anita Goel, Computer Fundamentals, Pearson, 2012.
Part I (Linux/Unix)
(8L)
Basics of operating system, services,
Installation and configuration, maintenance
What is linux/unix Operating systems, Kernel, API, cli, gui,
Difference between linux/unix and other operating systems
Features and Architecture
Linux features, advantages, disadvantages
Part II(Windows)
(8L)
Windows as operating system, history, versions.
PC hardware, BIOS, Devices and drivers,
Kernal Configuration and building
Application installation, configuration and maintenance
Server services and Client services
Difference between WindowsXP/windows7 and windows server 2003/2008
Linux:
Linux Desktop tour. Configuring desktop environment and desktop settings.
Basic Commands :Terminal, shell,Cat, ls, cd, date, cal, man, echo, pwd, Mkdir, rm, rmdir
Ps, kill
Package Installation Synaptic package manager
Windows:
Creating users – Admin and regular.
o Path of their personal files. Adding and changing passwords.
o Difference between workgroup and domain. Concept of roles.
o user profiles – creating and roaming Concept of Active Directory. Creating active
directory in windows 2003/2008.
Process and Disk management
o Windows Task manager. File systems – NTFS, FAT.
Services
o Control Panel
C:/program Files, C:/system C:/windows Add /remove new hardware (like printer ),
Add/remove new programmes.
Network Administration
o Ipconfig,Ping, tracert, route, hostname, net, netstat, whoami Set manual IP address,
check connectivity – ipv4, ipv6
Administrator Tools
o Control Panel -> Administrative Tools
o Computer Management, Local security Policy, Performance Monitor, Task
Scheduler, Antivirus and firewall.
Misc Start->Accessories->System tools -> All options (Remote desktop, backup/restore etc.)
LAN – sharing printer, files and folder over the network.
Semester-IV
Recommended Books:
1. A Silberschatz, P.B. Galvin, G. Gagne, Operating Systems Concepts, 8th Edition, John Wiley
Publications 2008.
2. A.S. Tanenbaum, Modern Operating Systems, 3rd Edition, Pearson Education 2007.
3. G. Nutt, Operating Systems: A Modern Perspective, 2nd Edition Pearson Education 1997.
4. W. Stallings, Operating Systems, Internals & Design Principles , 5th Edition, Prentice Hall of
India. 2008.
5. M. Milenkovic, Operating Systems- Concepts and design, Tata McGraw Hill 1992.
Book Recommended:
1. Introduction to HTML and CSS -- O'Reilly , 2010
2. Jon Duckett, HTML and CSS, John Wiely, 2012
Result
Roll No. Name Grade
Q.6 Create a form using HTML which has the following types of controls:
I. Text Box
II. Option/radio buttons
III. Check boxes
IV. Reset and Submit buttons
Q.7 Create HTML documents (having multiple frames) in the following three formats:
Frame 1
Frame 2
Frame 1
Frame 2 Frame 3
Introduction:
Understanding Mark-up Languages, Introduction to XML and its Goals. (3L)
XML Basics:
XML Structure and Syntax, Document classes and Rules. (5L)
Books Recommended
1. William J. Pardi , XML in action web technology, Microsoft Press, 1999
2. Michael J. Young ,Step by Step XML , Microsoft Press, 2002
Exercise #4 – Well-Formedness
This exercise checks your understanding of the constraints for well-formedness. Are the
following document instances well-formed? Explain any NO answers.
Semester-V
Recommended Books:
1. Henry F. Korth and Silberschatz Abraham, “Database System Concepts”, Mc.Graw Hill.
2. Elmasri Ramez and Novathe Shamkant, “Fundamentals of Database Systems”, Benjamin
Cummings Publishing. Company.
3. Ramakrishnan: Database Management System , McGraw-Hill
5. Date C. J., “Introduction to Database Management”, Vol. I, II, III, Addison Wesley.
6. Ullman JD., “Principles of Database Systems”, Galgottia Publication.
GUI Environment:
Introduction to graphical user interface (GUI), programming language (procedural,
object oriented, event driven), the GUI environment, compiling, debugging, and running the programs.
(2L)
Controls :
Introduction to controls textboxes, frames, check boxes, option buttons, images, setting borders and styles,
the shape control, the line control, working with multiple controls and their properties, designing the user
interface, keyboard access, tab controls, default & cancel property, coding for controls.
(4L)
Operations:
Data types, constants, named & intrinsic, declaring variables, scope of variables, val function, arithmetic
operations, formatting data.
(2L)
Decision Making :
If statement, comparing strings, compound conditions (and, or, not), nested if statements, case structure,
using if statements with option buttons & check boxes, displaying message in message box, testing whether
input is valid or not.
(4L)
Forms Handling :
Multiple forms creating, adding, removing forms in project, hide, show method, load, unload statement, me
keyword, referring to objects on a different forms.
(2L)
Iteration Handling:
Do/loops, for/next loops, using msgbox function, using string function.
(3L)
Book Recommended:
a.Programming in Visual Basic 6.0 by Julia Case Bradley, Anita C. Millispangh
(Tata Mcgraw Hill Edition 2000 (Fourteenth Reprint 2004)
Multimedia:
Introduction to multimedia, Components, Uses of multimedia.
2L
Making Multimedia:
Stages of a multimedia project, Requirements to make good multimedia,
Multimedia Hardware - Macintosh and Windows production Platforms, Hardware peripherals -
Connections, Memory and storage devices, Multimedia software and Authoring tools.
4L
Text:
Fonts & Faces, Using Text in Multimedia, Font Editing & Design Tools, Hypermedia
&Hypertext.
2L
Images:
Still Images – Bitmaps, Vector Drawing, 3D Drawing & rendering, Natural Light &
Colors, Computerized Colors, Color Palletes, Image File Formats.
3L
Sound:
Digital Audio, MIDI Audio, MIDI vs Digital Audio, Audio File Formats. (2L)
Video: How Video Works, Analog Video, Digital Video, Video File Formats, Video Shooting
and Editing.
2L
Animation:
Principle of Animations. Animation Techniques, Animation File Formats.
2L
Books Recommended:
1. Tay Vaughan, “Multimedia: Making it work”, TMH, Eighth edition. 2006
2. Ralf Steinmetz and Klara Naharstedt, “Multimedia: Computing, Communications
Applications”, Pearson,1995.
3. Keyes, “Multimedia Handbook”, TMH. 2000.
4. K. Andleigh and K. Thakkar, “Multimedia System Design”, PHI,2000
FLASH: Concept of Frame, Key frames, Frame rate, Timeline, Tween, Layers, Symbols,
Embedding audio/video and embedding on the web page
1. Draw an animation to show a bouncing ball.
2. Draw an animation to show a moving stick man.
3. Draw an animation to show a fainting banana.
4. Draw an animation to show sunrise and sunset.
5. Draw an animation to show a disappearing house.
6. Draw an animation to show two boats sailing in river
7. Draw an animation to show a scene of cricket match.
8. Draw an animation to help teach a poem or a song
9. Draw an animation to show cartoon with a message
10. Make a movie showing Shape Tweening.
11. Make a movie showing Motion Tweening.
12. Add sound and button to the movie
Semester-VI
Project Work/Dissertation (UG-G-DSE-PRO-601B) Credit-6
Books Recommended:
1. Baron Schwartz , High Performance MySQL, O’Reilly, 2012.
2. Vikram Vaswani , The Complete Reference MySQL , McGraw Hill Educations, 2004.
[SQL FUNCTION]
6) To use oracle function viz aggregate, numeric, conversion, string function.
7) To understand use and working with joins.
8) To make use of transaction control statement viz rollback, commit and save point.
9) To make views of a table.
10) To make indexes of a table.
[PL/SQL]
11) To understand working with PL/SQL
12) To implement Cursor on a table.
13) To implement trigger on a table
Introduction:
Overview and History of R, Getting Help, Data Types, Subsetting, Vectorized Operations, Reading and
Writing Data.
(5L)
Control Structures, Functions, lapply, tapply, split, mapply, apply, Coding Standards.
(5L)
Scoping Rules, Debugging Tools, Simulation, R Profiler.
Reference Book
W. N. Venables, D. M. Smith, An Introduction to R, R-core team,2015
(5L)
END