NEP 2020 Computer Science Syllabus
NEP 2020 Computer Science Syllabus
Sc (CS) Scheme
B.Sc(Computer Science)
The objectives of the Program
The four years Bachelors in Computer Science (Hons) program enables students to
attain the following additional attributes besides the afore-mentioned attributes:
1. Apply standard Software Engineering practices and strategies in real -time
software project development
2. Design and develop computer programs/computer-based systems in the areas
related to AI, algorithms, networking, web design, cloud computing, IoT and
data analytics.
3. Acquaint with the contemporary trends in industrial/research settings and
thereby innovate novel solutions to existing problems
4. The ability to apply the knowledge and understanding noted above to the
analysis of a given information handling problem.
5. The ability to work independently on a substantial software project and as an
effective team member.
Curriculum Structure
Program: B.Sc. (Basic and Honors) Subject: Computer Science
1. Computer Science as MAJOR with another Subject as MINOR (Table IIA of Model
Curriculum)
Hour of Discipline Specific Hour of
Sem Discipline Specific Core Teaching/ Elective Courses (DSE)/ Teaching/
Courses (DSC) Week Vocational Courses (VC) Week
Theory Lab
1 DSC-1: Computer Fundamentals
and Programming in C 4
DSC-1Lab: C Programming Lab 4
Research 3
Methodology:
8 DSC-12: Artificial Intelligence and Applications 3 DSE-3:
DSC-13: Computer Organization and 3 Any one from
Discipline
Architecture Specific Elective
Courses,
DSC-14: Data Warehousing and Data Mining 3 Group – 3** 3
DSC-12Lab: AI Lab 4 Research Project: 6
3. Computer Science as MINOR with another Subject as MAJOR (As per Table IIA of Model
Curriculum)
Hour of
Discipline Specific Core Teaching/ Week
Sem
Courses (DSC)
Theory Lab
1 DSC-1: Computer Fundamentals and Programming in C 4
DSC-1Lab: C Programming Lab 4
2 DSC-2: Data Structures using C 4
DSC-2Lab: Data structures Lab 4
3 DSC-3: Object Oriented Programming Concepts and
Programming in JAVA 4
DSC-3Lab: JAVA Lab 4
4 DSC-4: Database Management Systems 4
DSC-4Lab: DBMS Lab 4
5 DSC-5: Programming in PYTHON 3
DSC-5Lab: PYTHON Programming lab 4
6 DSC-6: Internet Technologies 3
DSC-6Lab: JAVA Script, HTML, CSS Lab 4
* Vocational Courses:
Group-1: Group-2:
• DTP, CAD and Multimedia • Health Care Technologies
• Hardware and Server Maintenance • Digital Marketing
• Web Content Management Systems • Office Automation
• E-Commerce • Multimedia Processing
• Web Designing • Accounting Package
Syllabus for B.Sc (Basic and Honors) 1st and 2nd Semesters
Semester: I
Course Code: DSC-1 Course Title: Computer Fundamentals and Programming in C
Course Credits: 04 Hour of Teaching/Week: 04
Total Contact Hours: 52 Formative Assessment Marks: 40
Exam Marks: 60 Exam Duration: 02
Content Hours
Unit - 1
Fundamentals of Computers: Introduction to Computers - Computer Definition, Characteristics of 13
Computers, Evolution and History of Computers, Types of Computers, Basic Organisation of a
Digital Computer; Number Systems – different types, conversion from one number system to
another; Computer Codes – BCD, Gray Code, ASCII and Unicode; Boolean Algebra – Boolean
Operators with Truth Tables; Types of Software – System Software and Utility Software; Computer
Languages - Machine Level, Assembly Level & High Level Languages, Translator Programs –
Assembler, Interpreter and Compiler; Planning a Computer Program - Algorithm, Flowchart and
Pseudo code with Examples.
Introduction to C Programming: Over View of C; History and Features of C; Structure of a C
Program with Examples; Creating and Executing a C Program; Compilation process in C.
C Programming Basic Concepts: C Character Set; C tokens - keywords, identifiers, constants, and
variables; Data types; Declaration & initialization of variables; Symbolic constants.
Unit - 2
Input and output with C: Formatted I/O functions - printf and scanf, control stings and escape 13
sequences, output specifications with printf functions; Unformatted I/O functions to read and display
single character and a string - getchar, putchar, gets and puts functions.
C Operators & Expressions: Arithmetic operators; Relational operators; Logical operators;
Assignment operators; Increment & Decrement operators; Bitwise operators; Conditional operator;
Special operators; Operator Precedence and Associatively; Evaluation of arithmetic expressions;
Type conversion.
Unit - 3
Control Structures: Decision making Statements - Simple if, if_else, nested if_else, else_if ladder, 13
Switch-case, goto, break & continue statements; Looping Statements - Entry controlled and Exit
controlled statements, while, do-while, for loops, Nested loops.
Arrays: One Dimensional arrays - Declaration, Initialization and Memory representation; Two
Dimensional arrays - Declaration, Initialization and Memory representation.
Strings: Declaring & Initializing string variables; String handling functions - strlen, strcmp, strcpy and
strcat; Character handling functions - toascii, toupper, tolower, isalpha, isnumeric etc.
Unit - 4
Pointers in C: Understanding pointers - Declaring and initializing pointers, accessing address and 13
value of variables using pointers; Pointers and Arrays; Pointer Arithmetic; Advantages and
disadvantages of using pointers;
User Defined Functions: Need for user defined functions; Format of C user defined functions;
Components of user defined functions - return type, name, parameter list, function body, return
statement and function call; Categories of user defined functions - With and without parameters and
return type.
User defined data types: Structures - Structure Definition, Advantages of Structure, declaring
structure variables, accessing structure members, Structure members initialization, comparing
structure variables, Array of Structures; Unions - Union definition; difference between Structures
and Unions.
Text Books
1. Pradeep K. Sinha and Priti Sinha: Computer Fundamentals (Sixth Edition), BPB Publication
2. M.T Somashekara, D.S Guru and K.S. Manjunatha: Problem solving with C, PHI publication
3. E. Balgurusamy: Programming in ANSI C (TMH)
References
1. Kamthane: Programming with ANSI and TURBO C (Pearson Education)
2. V. Rajaraman: Programming in C (PHI – EEE)
3. S. ByronGottfried: Programming with C (TMH)
4. Kernighan & Ritche: The C Programming Language (PHI)
5. Yashwant Kanitkar: Let us C
6. P.B. Kottur: Programming in C (Sapna Book House)
Course Code: DSC-1Lab Course Title: C Programming Lab
Course Credits: 02 Hour of Teaching/Week: 04
Total Contact Hours: 52 Formative Assessment Marks: 25
Exam Marks: 25 Exam Duration: 03
Practice Lab
The following activities be carried out/ discussed in the lab during the initial period of the semester.
1. Basic Computer Proficiency
a. Familiarization of Computer Hardware Parts
b. Basic Computer Operations and Maintenance.
c. Do’s and Don’ts, Safety Guidelines in Computer Lab
2. Familiarization of Basic Software – Operating System, Word Processors, Internet
Browsers, Integrated Development Environment (IDE) with Examples.
3. Type Program Code, Debug and Compile basic programs covering C Programming
fundamentals discussed during theory classes.
Programming Lab
Part A:
1. Write a C Program to read radius of a circle and to find area and circumference
2. Write a C Program to read three numbers and find the biggest of three
3. Write a C Program to demonstrate library functions in math.h
4. Write a C Program to check for prime
5. Write a C Program to generate n primes
6. Write a C Program to read a number, find the sum of the digits, reverse the
number and check it for palindrome
7. Write a C Program to read numbers from keyboard continuously till the user
presses 999 and to find the sum of only positive numbers
8. Write a C Program to read percentage of marks and to display appropriate
message (Demonstration of else-if ladder)
9. Write a C Program to find the roots of quadratic equation (demonstration of
switch-case statement)
10. Write a C program to read marks scored by n students and find the average
of marks (Demonstration of single dimensional array)
11. Write a C Program to remove Duplicate Element in a single dimensional Array
12. Program to perform addition and subtraction of Matrices
Part B:
1. Write a C Program to find the length of a string without using built in function
2. Write a C Program to demonstrate string functions.
3. Write a C Program to demonstrate pointers in C
4. Write a C Program to check a number for prime by defining isprime( ) function
5. Write a C Program to read, display and to find the trace of a square matrix
6. Write a C Program to read, display and add two m x n matrices using functions
7. Write a C Program to read, display and multiply two matrices using functions
8. Write a C Program to read a string and to find the number of alphabets, digits,
vowels, consonants, spaces and special characters.
9. Write a C Program to Reverse a String using Pointer
10. Write a C Program to Swap Two Numbers using Pointers
11. Write a C Program to demonstrate student structure to read & display
records of n students.
12. Write a C Program to demonstrate the difference between structure & union.
Note: Student has to execute a minimum of 10 programs in each part to complete the Lab course
Evaluation Scheme for Lab Examination
Content Hours
Unit - 1
Introduction to data structures: Definition; Types of data structures - Primitive & Non-primitive, 13
Linear and Non-linear; Operations on data structures.
Algorithm Specification, Performance Analysis, Performance Measurement
Recursion: Definition; Types of recursions; Recursion Technique Examples - Fibonacci
numbers,
GCD, Binomial coefficient nCr, Towers of Hanoi; Comparison between iterative and recursive
functions.
Arrays: Basic Concepts – Definition, Declaration, Initialisation, Operations on arrays; Types of
arrays; Arrays as abstract data types (ADT); Representation of Linear Arrays in memory;
Unit - 2
Operations on arrays : Traversing linear arrays; Inserting and deleting elements; Sorting – 13
Selection sort, Bubble sort, Quick sort, Selection sort, Insertion sort; Searching - Sequential
Search, Binary search; Iterative and Recursive searching; Multidimensional arrays;
Representation of multidimensional arrays; Sparse matrices.
Stacks: Basic Concepts – Definition and Representation of stacks; Operations on stacks;
Applications of stacks; Infix, postfix and prefix notations; Conversion from infix to postfix using
stack; Evaluation of postfix expression using stack; Application of stack in function calls.
Queues: Basic Concepts – Definition and Representation of queues; Types of queues – Simple
queues, Circular queues, Double ended queues, Priority queues; Operations on Simple queues;
Unit - 3
Dynamic memory allocation: Static & Dynamic memory allocation; Memory allocation and de- 13
allocation functions - malloc, calloc, realloc and free.
Linked list: Basic Concepts – Definition and Representation of linked list, Types of linked lists -
Singly linked list, Doubly liked list, Header liked list, Circular linked list; Representation of Linked
list in Memory;
Operations on Singly linked lists – Traversing, Searching, Insertion, Deletion; Memory allocation;
Garbage collection
Unit - 4
Trees: Definition; Tree terminologies –node, root node, parent node, ancestors of a node, 13
siblings, terminal & non-terminal nodes, degree of a node, level, edge, path, depth;
Binary tree: Type of binary trees - strict binary tree, complete binary tree, binary search tree and
heap tree; Array representation of binary tree. Traversal of binary tree; preorder, inorder and
postorder traversal; Reconstruction of a binary tree when any two of the traversals are given
Text Books
1. Sartaj Sahani: Fundamentals of Data Structures
References
1. Tanenbaum: Data structures using C (Pearson Education)
2. Kamathane: Introduction to Data structures (Pearson Education)
3. Y. Kanitkar: Data Structures Using C (BPB)
4. Sudipa Mukherjee: Data Structures using C – 1000 Problems and Solutions
(McGraw Hill Education, 2007))
Course Code: DSC-2Lab Course Title: Data Structures Lab
Course Credits: 02 Hour of Teaching/Week: 04
Total Contact Hours: 52 Formative Assessment Marks: 25
Exam Marks: 25 Exam Duration: 03
Programming
Lab Part A:
1. Write a C Program to find GCD using recursive function
2. Write a C Program to display Pascal Triangle using binomial function
3. Write a C Program to generate n Fibonacci numbers using recursive function.
4. Write a C Program to implement Towers of Hanoi.
5. Write a C Program to implement dynamic array, find smallest and largest
element of the array.
6. Write a C Program to create two files to store even and odd numbers.
7. Write a C Program to create a file to store student records.
8. Write a C Program to read the names of cities and arrange them alphabetically.
9. Write a C Program to sort the given list using selection sort technique.
10. Write a C Program to sort the given list using bubble sort technique.
Part B:
1. Write a C Program to sort the given list using insertion sort technique.
2. Write a C Program to sort the given list using quick sort technique.
3. Write a C Program to sort the given list using merge sort technique.
4. Write a C Program to search an element using linear search technique.
5. Write a C Program to search an element using recursive binary search technique.
6. Write a C Program to implement Stack.
7. Write a C Program to convert an infix expression to postfix.
8. Write a C Program to implement simple queue.
9. Write a C Program to implement linear linked list.
10. Write a C Program to display traversal of a tree.
Note: The syllabi of the courses of remaining semesters shall be framed in subsequent BoS
meetings.