0% found this document useful (0 votes)
10 views15 pages

CS Syllabus - BOS 1st Year

The document outlines a model curriculum for a Bachelor in Computer Science degree aligned with NEP-2020, detailing core subjects across eight semesters, including programming languages, data structures, and software engineering. It emphasizes practical lab work and aims to equip students with skills for the software industry while fostering ethical use of technology. Additionally, it includes specific course objectives and learning outcomes for foundational courses like Python and C programming.
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)
10 views15 pages

CS Syllabus - BOS 1st Year

The document outlines a model curriculum for a Bachelor in Computer Science degree aligned with NEP-2020, detailing core subjects across eight semesters, including programming languages, data structures, and software engineering. It emphasizes practical lab work and aims to equip students with skills for the software industry while fostering ethical use of technology. Additionally, it includes specific course objectives and learning outcomes for foundational courses like Python and C programming.
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/ 15

Model Curriculum for Three/Four Year Degree Course

(With Multiple Entry /Exit Option)


Based on NEP-2020

COMPUTER SCIENCE

Odisha State Higher Education Council, Bhubaneswar


Government of Odisha
Semester Subjects

I Core I - Introduction to Computer Science and Python Programming


Core II- Problem Solving with C Programming
II Core III- Data Structures
Core IV - Data Base Management System
III Core V- Discrete Mathematical Structures
Core VI- Computer Organization
Core VII- Operating Systems
IV Core VIII- Web Technologies
Core IX- Object Oriented Programming using C++
Core X- Computer Network
V Core XI- Software Engineering
Core XII- (A) Introduction to Artificial Intelligence
(B) Computer Graphics
Core XIII- Programming in Java

VI Core XIV- Algorithm Design Techniques


Core XV- Project Work-I
VII Core XVI- Theory of Computation
Core XVII- Computer Architecture
Core XVIII- Mathematics for Machine Learning
Core XIX- (A) Data Mining or
(B) Wireless Sensor Networks or
(C) Cyber Security
VIII Core XX- Cloud Computing
Core XXI- Machine Learning
Core XXII- (A) Compiler Design or
(B) Internet of Things or
(C) Introduction to Data Science
Core XXIII- Project Work-II

Model Syllabus for


Bachelor in Computer Science (B.Sc. Computer Science)
Compatible with NEP-2020

Program Outcomes:
• To understand the modern computing environment and the use of various
hardware & software components.
• To develop the skill set and analytical abilities to solve real-life problems
using the evolving computing paradigms.
• To equip oneself with the professional competence to meet the requirements
of the software industry.
• To be aware of the security and privacy issues while using network systems
and foster ethical use of internet.
• To create interest in Research and development in Computer Science for the
overall benefit of the society.

NB:
Students have to do the laboratory assignments mentioned under different subjects/papers. In
order to make the subject more interesting and sync with the current trends in the subject, the
course instructor will give additional assignments relevant to the subject, and students are
also encouraged to do some experiments on their own.

SEMESTER-I

Core I Introduction to Computer Science and Python Programming


Course Outcomes:

• To learn the fundamentals of computer and its working mechanism.


• To learn programming paradigms and design.
• To learn the basics of Python Programming for problem solving.

Learning Outcomes:

Upon completion of this course, students will be able to:


1. gain knowledge about the components of a computer with their functions
2. have an exposure to various computer networks
3. learn the steps for program development
4. learn the use of control structures, built-in functions, lists, recursions in Python
programming

Unit-I:

Introduction to Computers: Generation of computers, types of computers. Computer System


hardware: Block diagram, CPU, Memory unit, and Storage devices with their functions.
Computer memory: Memory hierarchy, CPU Registers, Cache Memory, Primary Memory,
Secondary memory, access methods.
Input & Output Units: Various types of Input and Output devices with their functions.
Computer Software: Introduction, Types of software: System software, Application software,
Utility software, firmware and their usage. Computer Network: Importance of Networking,
Network types: LAN, MAN, WAN, Internet and its applications, network devices: Repeater,
bridge, hub, switch, router, and Gateway.

Unit-II:

Program Development: Problem Analysis, program design, development. Algorithm:


Introduction, Pseudo code, Control Structures. Flowchart: Introduction, Symbols, preparing a
flowchart. Programming Paradigms & Design: Structured programming, Object-oriented
programming, Top-down and Bottom-up design approaches. Characteristics of a good
program.
Programming Languages: Concept of Low-level & high-level languages, Different
generations of Programming Languages. Translators: Assembler, Compiler, Interpreter.
Linker, Loader, Editors, Integrated Development Environment. Programming Errors: Syntax,
Semantic, Logical, Compile-time, run-time, link-time, environmental, Input/output errors.
testing and debugging.

Unit-III:
Introduction to Python, getting started with Python, Python Basics: Identifiers, Keywords,
Python types, basic types, mutable and immutable types, Integer & float ranges, Variable
type & assignment, Arithmetic Operators, Precedence & Associativity, Conversions, built-in
functions, modules, container types, comments & indention, multi-lining, classes & Objects,
Multiple Objects. Strings: Introduction, Accessing String elements, Properties, built-in
functions, Methods, Conversions, Comparisons.
Console I/O: I/O operations, formatted printing. Decision Control Instruction: Logical
operators, Conditional Expressions, all () & any (), receiving input, pass statement. Repetition
Control Instruction: types, usage of loops, break & continue, else block of a loop.

Unit-IV:

Lists, Sets, Tuples, Dictionaries: creating, accessing, and looping-in each type. Applying
basic operations, using built-in functions and methods on each type, possible data structure /
mathematical operations on each type.
Comprehensions on List, Set, and dictionary. Functions: built-in and user-defined functions,
invoking functions, unpacking arguments. recursive function, iteration vs recursion.

Text Books:

✓ Computer Fundamentals by Anita Goel, Pearson Pub.


✓ Let us Python by Yashavant Kanetkar & Aditya Kanetkar, BPB Pub.

Reference Books & e-Resources:

✓ Fundamentals of Computers by Reema Thareja, Oxford University Press


✓ Python Programming: Using Problem Solving Approach by Reema Thareja, Oxford
University Press
✓ Computer Fundamentals by D. P. Nagpal, S. Chand Pub.
✓ https://docs.python.org/3/

Core-I- Lab: Programming using Python


1. Write a program to demonstrate the usage of various arithmetic operators.
2. Write a program that makes use of trigonometric functions available in math module.
3. Write a program that will convert various temperatures.
a. Fahrenheit to Centigrade
b. Centigrade to Fahrenheit
4. Write a program that will find the roots of a quadratic equation: ax² + bx + c = 0
5. Write a program that demonstrate the usage of various String functions.
6. Write a program that will ask you to enter your name, through keyboard, and perform
following operations
a. Find the middle name
b. Find the last name (using string slicing)
c. Re-write the name with surname first.
7. Write a program to find out whether the integer entered by the user, through the
keyboard, is even or odd number.
8. Find out the youngest among Shyam, Dugu and Ishan whose ages are entered by the
user through keyboard.
9. Given three points (x1, y1), (x2, y2), (x3, y3), write a program to check all the three
points fall on one straight line.
10. Write a program that will print the odd numbers from n1 to n2 where the values of n1
and n2 are entered by the user.
11. Write a program to find the factorial value of a number entered by the user.
12. Write a program to print all prime numbers between n1 to n2 where the values of n1
and n2 are entered by the user.
13. Write a program to demonstrate basic operations on the list.
14. Write a program to demonstrate stack and queue operations using a list of numbers.
15. Write a program to ask the data of five students that contain name, roll number, age.
Sort the list based on roll number of the Student. [Note: Use list of lists].
16. Write a program that will add two square matrices. The dimension and elements of
the matrices will be entered by the user.
17. Write a program to demonstrate basic operations on the tuple.
18. Store the data about the shares held by the user as tuples containing the following
information about shares: share name, cost price, number of shares, selling price.
Write a program to determine:
a. total cost of the portfolio
b. total amount gained or lost
19. Write a program to demonstrate basic operations on the set.
20. Create an empty set. Write a program that adds five student names to this set,
modifies one existing name, and deletes two names existing in it. [ask the user which
name to modify/delete].
21. Write a program to demonstrate basic operations on the dictionary.
22. Create a dictionary to store data (name, roll number) of N students. The key will be
the roll number of the student and the value contains the data of the student (in a list).
Write a program that asks the user to enter a name of a Student, search it in the
dictionary and print the data of the Student if it is available otherwise display an
appropriate message.
23. Write a program to demonstrate basic comprehensions on list, set and dictionary.
24. Write a program that will find x^n (x to the power of n) using a function. The function
receives the value of x, n and should return the value of x^n. [don’t use any
mathematical function].

Core II Problem Solving with C Programming


Course Objectives:

• To learn the C programming language to solve different scientific and business


problems
• To learn how to design and write effectively codes using various programming
constructs available in the C programming language

Learning Outcomes:

Upon completion of this course, students will be able to:

1. Gain knowledge about different data types and operators in C language


2. Learn the use of various control structures and array
3. Learn the use of pointers, functions, and storage classes
4. Write programs using structures, union, and files

Unit-I:

Introduction: Introduction to Programming Language, Introduction to C Programming,


Keywords & Identifiers, Constants, Variables, Input and Output Operations, Compilation and
pre-processing, Data types: Different data types, Data types qualifier, modifiers, Memory
representation, size and range, Operators: Operators (Arithmetic, Relational, Logical,
Bitwise, Assignment & compound assignment, Increment & Decrement, Conditional),
Operator types (unary, binary, ternary). Expressions, Order of expression (Precedence and
associativity)

Unit-II:

Decision Control structures & Loops: Decision Making and Branching statements (Simple IF,
IF…ELSE, Nested IF… ELSE, ELSE … IF ladder), Selection control structure (Switch
Statement). Looping statements (FOR, WHILE, DO…WHILE), break, continue and GOTO
statements
Array: Concept of Array, Array Declaration, types of array (one and multiple dimension),
Character Arrays and Strings, limitation of array.

Unit-III:

Pointers: Concept of Pointer (NULL pointer, wild pointer, dangling pointer, generic pointer),
Pointer Expressions, Accessing the Address of a Variable, Declaring Pointer Variables,
Initializations of Pointer Variable, Accessing a Variable through its Pointer, Pointer
arithmetic, Pointer representation of array, Array of Pointers, Accessing Sting using Pointer.
Function: Types of Function, Function Declaration, Function Definition, Function Call,
Recursive Function, Dynamic Memory Management functions, String handling function
(strlen, strcmp, strcpy, strncpy, strcat, strstr).
Storage class: Types (auto, register, static, extern), scope rules, declaration and definition.

Unit-IV:

Structure and Union: Defining, Declaring, Accessing, Initialization Structure, nested


structure, self-referential structure, bit-field, Arrays of Structures, Structures and Functions,
structures and pointers, Unions, difference between structure and union, structure within
union. File: File Management in C, Defining and Opening a File, File opening modes (read,
write, append), Closing a File, File operations, Error handling during I/O Operations,
sequential and random access files. Command line arguments.

Text Book:

Programming in ANSI C by E. Balagurusamy, TMH

Reference Books:

✓ The C Programming Language by B. Kernighan & Dennis Ritchie, PHI.


✓ C: How to Program by Paul Deitel, Harvey Deitel, Prentice Hall.
✓ Programming using C by P.C. Sethi & P.K. Behera, Kalyani Publisher.

Core II- Lab: Problem Solving with C Programming


1. Write a Program to find greatest among three numbers.
2. Write a Program to all arithmetic operation using switch case.
3. Write a Program to print the sum and product of digits of an integer.
4. Write a Program to reverse a number.
5. Write a Program to compute the sum of the first n terms of the following series
S = 1+1/2+1/3+1/4+……
6. Write a Program to compute the sum of the first n terms of the following series
S =1-2+3-4+5…………….
7. Write a function that checks whether a given string is Palindrome or not. Use this
function to find whether the string entered by user is Palindrome or not.
8. Write a function to find whether a given number is prime or not. Use the same to
generate the prime numbers less than 100.
9. Write a Program to compute the factors of a given number.
10. Write a program to swap two numbers.
11. Write a Program to print a triangle of stars as follows (take number of lines from user):
*
***
*****
*******
12. Write a Program to perform following actions on an array entered by the user:
a) Print the even-valued elements
b) Print the odd-valued elements
c) Calculate and print the sum and average of the elements of array
d) Print the maximum and minimum element of array
e) Remove the duplicates from the array
f) 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.
13. Write a Program that prints a table indicating the number of occurrences of each
alphabet in the text entered as command line arguments.
14. Write a program that swaps two numbers using pointers.
15. Write a program in which a function is passed address of two variables and then alter
its contents.
16. 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.
17. Write a program to find sum and average of n elements entered by the user. To write
this program, allocate memory dynamically using malloc( ) / calloc( ) functions.
18. 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
19. Given two ordered arrays of integers, write a program to merge the two-arrays to get an
ordered array.
20. Write a program to copy the content of one file to other.
SEMESTER-II
Core-III Data Structures
Course Objectives:
• To understand different ways of organizing data in computer’s memory.
• To learn different operations on data structures.
• To explore different applications of data structures.

Learning Outcomes:
Upon completion of this course, students will be able to:
1. Learn about data structures and the use of array
2. Create linked lists and perform insertion/deletion operations on them
3. Represent Stack and Queue in the memory and learn their applications
4. Learn the use of various non-linear data structures and their applications

Unit-I:

Introduction to Data Structures: Definition, Concepts, Classification of Data Structures.


Array: Introduction, One-Dimensional Array, Memory representation, Operations:
Traversing, Searching, Insertion, Deletion, Merge. Two-Dimensional Array & Memory
Representation, Multidimensional Array. Linear Search versus Binary Search, Sorting:
Selection Sort, Bubble Sort.

Unit-II:

Linked Lists: Definition, Single Linked List, Memory representation, Operations: Traversing,
Searching, Insertion, Deletion and Merge. Double Linked List, Operations: Insertions,
Deletion.
Circular, Double Circular Linked list, Operations: Traversing, Insertion. Applications of
Linked List, Sparse Matrix and Polynomial representations.

Unit-III:

Stack: Definition, Representation: Array and Linked List representations, Operations: PUSH,
POP, STATUS. Applications: Evaluation of Arithmetic Expressions: Notations, Infix to
Postfix Conversion, Evaluation of Postfix expression. Recursion (Factorial and Fibonacci),
Tower of Hanoi.
Queues: Definition, Representation: Array and Linked List representations, Operations:
Enqueue, Dequeue. Structures of Queue: Circular, Deque and Priority Queue. Applications of
Queue
Unit-IV:
Trees: Definition, Terminologies, Binary Tree: Properties, Representations (Linear and
Linked List representations). Operations: Traversal (Inorder, Preorder, Postorder), Search.
Introduction to Binary Search Tree, AVL tree, M-Way Search Tree. Applications of Trees.
Graph: Definition, Terminologies, Representations (Set, Linked List, Matrix), Operations:
Traversal (BFS, DFS). Applications of Graphs.

Text book:

Classic Data Structure, D. Samanta, PHI, 2/ed.

Reference Books:

✓ Ellis Horowitz, Sartaj Sahni, “Fundamentals of Data Structures”, Galgotia Pubs.


✓ Sastry C.V., Nayak R, Ch. Rajaramesh, Data Structure & Algorithms, I. K.
International
✓ Publishing House Pvt. Ltd, New Delhi.

Core III - Lab: Data Structures


Write a C Program for the followings

1. To search an element and print the total occurrences in the array.


2. To insert and delete elements into/from appropriate position in an array.
3. To perform Binary Search.
4. To perform Bubble sort.
5. To perform Selection sort.
6. To implement linear linked list and perform operations such as traverse, search, insert,
delete, and reversing the list.
7. To implement circular linked list and perform operations such as node insert and delete.
8. To implement double linked list and perform operations such as node insert and delete.
9. To represent a Sparse Matrix using linked list.
10. Polynomial representation using linked list.
11. Array and Linked list implementations of Stack and perform operations such as push,
pop and status.
12. Linked list implementation of Queue and perform operations such as enqueue and
dequeue.
13. Linked list implementation of Circular Queue.
14. To implement a Binary Search Tree.
15. To perform tree traversal operations.
16. To implement adjacency matrix for a given graph.
17. To perform BFS and DFS traversal.
Core IV Data Base Management System
Course Objectives:

• To understand the database concepts for efficient storage and retrieval of data.
• To learn about database design and transaction processing

Learning Outcomes:

Upon completion of this course, students will be able to:

1. Build data models using entity relationship concepts


2. Design databases by systematically applying the normalization process
3. Create relational database tables and perform various operations using SQL
4. Learn issues relating to database transactions and approaches to deal with them

Unit-I:

Introduction to Database and Database Users, Database System Concepts and Architecture:
data Models, schema, and instances, Conceptual Modeling and Database Design, Entity
Relationship (ER) Model: Entity Types, Entity Sets, Attributes, Keys, Relationship Types,
Relationship Sets, Roles and Structural Constraints, Weak Entity Types, ER Naming
Conventions. Enhanced Entity-Relationship (EER) Model.

Unit-II:

Relational data Model and SQL: Relational Model Concepts, Basic SQLs, SQL Data
Definition and Data types, Constraints in SQL, Retrieval Queries in SQL, INSERT,
DELETE, UPDATE Statements in SQL, Relational Algebra and Relational Calculus: Unary
Relational Operations: SELECT and PROJECT, Binary Relation: JOIN and DIVISION.

Unit-III:

Database Design Theory and Normalization: Functional Dependencies, Normal Forms based
on Primary Keys, Second and third Normal Forms, Boyce-Codd Normal Form, Multivalued
Dependency and Fourth Normal Form, Join Dependencies and Fifth Normal Form.

Unit-IV:

Transaction Processing Concepts: Transaction and System Concepts, Properties of


Transactions, Recoverability, Serializability, Concurrency Control Techniques, Locking
techniques for Concurrency Control, Concurrency Control based on Time-Stamp Ordering.

Text Books:

✓ Fundamentals of Database Systems, R Elmasri, S B. Navathe, Pearson Education


✓ Database Management Systems, Rajiv Chopra, S. Chand Pubs.
Reference Book:

An Introduction to Database System, Date C. J. - Pearson Education, New Delhi.

Core IV- Lab: Data Base Management System


Create and use the following database schema to answer the given queries.

EMPLOYEE Schema

Field Type NULL KEY DEFAULT


Eno Char(3) NO PRI NIL
Ename Varchar(50) NO NIL
Job_type Varchar(50) NO NIL
Manager Char(3) Yes FK NIL
Hire_date Date NO NIL
Dno Integer YES FK NIL
Commission Decimal(10,2) YES NIL
Salary Decimal(7,2) NO NIL

DEPARTMENT Schema

Field Type NULL KEY DEFAULT


Dno Integer No PRI NULL
Dname Varchar(50) Yes NULL
Location Varchar(50) Yes New Delhi

List of Queries:

1. Display Employee Name, Job, Hire Date, Employee Number; for each employee with
the Employee Number appearing first.
2. Display unique Jobs from the Employee Table.
3. Display the Employee Name concatenated by a Job separated by a comma.
4. Display all the data from the Employee Table. Separate each Column by a comma and
name the said column as THE_OUTPUT.
5. Display the Employee Name and Salary of all the employees earning more than $2850.
6. Display Employee Name and Department Number for the Employee No= 7900.
7. Display Employee Name and Salary for all employees whose salary is not in the range
of $1500 and $2850.
8. Display Employee Name and Department No. of all the employees in Dept 10 and Dept
30 in the alphabetical order by name.
9. Display Name and Hire Date of every Employee who was hired in 1981.
10. Display Name and Job of all employees who don’t have a current Manager.
11. Display the Name, Salary and Commission for all the employees who earn commission.
12. Sort the data in descending order of Salary and Commission.
13. Display Name of all the employees where the third letter of their name is ‘A’.
14. Display Name of all employees either have two ‘R’s or have two ‘A’s in their name and
are either in Dept No = 30 or their Mangers Employee No = 7788.
15. Display Name, Salary and Commission for all employees whose Commission Amount
is 14 greater than their Salary increased by 5%.
16. Display the Current Date.
17. Display Name, Hire Date and Salary Review Date which is the 1st Monday after six
months of employment.
18. Display Name and calculate the number of months between today and the date each
employee was hired.
19. Display the following for each employee <E-Name> earns < Salary> monthly but
wants <3*Current Salary>. Label the Column as Dream Salary.
20. Display Name with the 1st letter capitalized and all other letter lower case and length of
their name of all the employees whose name starts with ‘J’, ‘A’ and ‘M’.
21. Display Name, Hire Date and Day of the week on which the employee started.
22. Display Name, Department Name and Department No for all the employees.
23. Display Unique Listing of all Jobs that are in Department # 30.
24. Display Name, Department Name of all employees who have an ‘A’ in their name.
25. Display Name, Job, Department No. and Department Name for all the employees
working at the Dallas location.
26. Display Name and Employee no. Along with their Manger’s Name and the Manager’s
employee no; along with the Employees Name who do not have a Manager.
27. Display Name, Department No. And Salary of any employee whose department no. and
salary matches both the department no. And the salary of any employee who earns a
commission.
28. Display Name and Salaries represented by asterisks, where each asterisk (*) signifies
$100.
29. Display the Highest, Lowest, Sum and Average Salaries of all the employees.
30. Display the number of employees performing the same Job type functions.
31. Display the no. of managers without listing their names.
32. Display the Department Name, Location Name, No. of Employees and the average
salary for all employees in that department.
33. Display Name and Hire Date for all employees in the same dept. as Blake.
34. Display the Employee No. And Name for all employees who earn more than the
average salary.
35. Display Employee Number and Name for all employees who work in a department with
any employee whose name contains a ‘T’.
36. Display the names and salaries of all employees who report to King.
37. Display the department no, name and job for all employees in the Sales department.

You might also like