1st Semester B.SC (H) Computer Science Syllabus
1st Semester B.SC (H) Computer Science Syllabus
1st Semester B.SC (H) Computer Science Syllabus
Learning Objectives
This course is designed as the first course that:
• Introduces programming concepts using Python to Computer Science students.
• Focuses on the development of Python programming to solve problems of different
domains.
• Introduces the concept of object- oriented programming.
Learning Outcomes:
On successful completion of the course, students will be able to:
• Understand the basics of programming language
• Develop, document, and debug modular Python programs.
• Apply suitable programming constructs and built-in data structures to solve a problem.
• Use and apply various data objects in Python.
• Use classes and objects in application programs and handle files.
SYLLABUS OF DSC-1
Theory
Unit – 1 (6 hours)
Introduction to Programming
Problem solving strategies; Structure of a Python program; Syntax and semantics; Executing
simple programs in Python.
40 | P a g e
Creating Python Programs
Identifiers and keywords; Literals, numbers, and strings; Operators; Expressions;
Input/output statements; Defining functions; Control structures (conditional statements, loop
control statements, break, continue and pass, exit function), default arguments.
Unit – 4 (6 hours)
Object Oriented Programming
Introduction to classes, objects and methods; Standard libraries.
Unit – 5 (6 hours)
File and Exception Handling
File handling through libraries; Errors and exception handling.
41 | P a g e
9. WAP to perform the following operations on a string
a. Find the frequency of a character in a string.
b. Replace a character by another character in a string.
c. Remove the first occurrence of a character from a string.
d. Remove all occurrences of a character from a string.
10. WAP to swap the first n characters of two strings.
11. Write a function that accepts two strings and returns the indices of all the occurrences
of the second string in the first string as a list. If the second string is not present in the
first string then it should return -1.
12. WAP to create a list of the cubes of only the even integers appearing in the input list
(may have elements of other types also) using the following:
a. 'for' loop
b. list comprehension
17. WAP to accept a name from a user. Raise and handle appropriate exception(s) if the text entered
by the user contains digits and/or special characters.
Essential Readings
• Taneja, S., Kumar, N. Python Programming- A modular Approach, 1st edition, Pearson
Education India, 2018.
42 | P a g e
• Balaguruswamy E. Introduction to Computing and Problem Solving using Python, 2nd
edition, McGraw Hill Education, 2018.
Suggestive Readings
• Brown, Martin C. Python: The Complete Reference, 2nd edition, McGraw Hill
Education,
2018.
• Guttag, J.V. Introduction to computation and programming using Python, 2nd edition,
MIT Press, 2016.
Learning Objectives
The Learning Objectives of this course are as follows:
• Introduces the students to the fundamental concepts of digital computer organization,
design and architecture.
• Develop a basic understanding of the building blocks of the computer system and
highlights how these blocks are organized together to architect a digital computer system.
Learning Outcomes
On successful completion of the course, students will be able to:
• Design Combinational Circuits using basic building blocks. Simplify these circuits using
Boolean algebra and Karnaugh maps. Differentiate between combinational circuits and
sequential circuits.
• Represent data in binary form, convert numeric data between different number systems
and perform arithmetic operations in binary.
• Determine various stages of instruction cycle, pipelining and describe interrupts and their
handling.
• Explain how CPU communicates with memory and I/O devices and distinguish between
different types of processors.
• Simulate the design of a basic computer using a software tool.
43 | P a g e
SYLLABUS OF DSC - 2
Theory
Unit – 1 (6 hours)
Digital Logic Circuits
Logic Gates, Truth Tables, Boolean Algebra, Digital Circuits, Combinational Circuits,
Introduction to Sequential Circuits, Circuit Simplification using Karnaugh Map, Don’t Care
Conditions, Flip-Flops, Characteristic Tables, Excitation Table.
Unit – 2 (9 hours)
Digital Components (Fundamental building blocks)
Designing of combinational circuits- Half Adder, Full Adder, Decoders, Encoders,
Multiplexers, Registers and Memory (RAM, ROM and their types), Arithmetic
Microoperations, Binary Adder, Binary Adder-Subtractor.
Unit – 3 (6 hours)
Data Representation and Basic Computer Arithmetic
Number System, r and (r-1)’s Complements, data representation and arithmetic operations.
Unit – 4 (9 hours)
Basic Computer Organization and Design
Bus organization, Microprogrammed vs Hardwired Control, Instruction Codes, Instruction
Format, Instruction Cycle, Instruction pipelining, Memory Reference, Register Reference and
Input Output Instructions, Program Interrupt and Interrupt Cycle..
Unit – 5 (6 hours)
Processors
General register organization, Stack Organization, Addressing Modes, Overview of Reduced
Instruction Set Computer (RISC), Complex Instruction Set Computer (CISC), Multicore
processor and Graphics Processing Unit (GPU).
Unit – 6 (9 hours)
Memory and Input-Output Organization
Memory hierarchy (main, cache and auxiliary memory), Input-Output Interface, Modes of
Transfer: Programmed I/O, Interrupt initiated I/O, Direct memory access.
List of Practicals:
44 | P a g e
(Use Simulator – CPU Sim 3.6.9 or any higher version for the implementation)
1. Create a machine based on the following architecture:
Registers
IR DR AC AR PC I E
16 16 16 12 12 1 bit 1 bit
bits bits bits bits bits
45 | P a g e
3. Write an assembly program to simulate ADD operation on two user-entered numbers.
i. AND
ii. OR
iii. NOT
iv. XOR
v. NOR
vi. NAND
6. Write an assembly program for simulating following memory-reference instructions.
i. ADD
ii. LDA
iii. STA
iv. BUN
v. ISZ
7. Write an assembly language program to simulate the machine for following register
reference instructions and determine the contents of AC, E, PC, AR and IR registers in
decimal after the execution:
i. CLA
ii. CMA
iii. CME
iv. HLT
8. Write an assembly language program to simulate the machine for following register
reference instructions and determine the contents of AC, E, PC, AR and IR registers in
decimal after the execution:
i. INC
ii. SPA
iii. SNA
iv. SZE
46 | P a g e
9. Write an assembly language program to simulate the machine for following register
reference instructions and determine the contents of AC, E, PC, AR and IR registers in
decimal after the execution:
i. CIR
ii. CIL
10. Write an assembly program that reads in integers and adds them together; until a
negative non-zero number is read in. Then it outputs the sum (not including the last
number).
11. Write an assembly program that reads in integers and adds them together; until zero is
read in. Then it outputs the sum.
Essential Readings
• David A. Patterson and John L. Hennessy. “Computer Organization and Design: The
Hardware/Software interface”, 5th edition, Elsevier, 2012.
• Mano, M. Computer System Architecture, 3rd edition, Pearson Education, 1993.
Suggestive Readings
• Mano, M. Digital Design, Pearson Education Asia, 1995.
• Null, L., & Lobur, J. The Essentials of Computer Organization and Architecture. 5th
edition, (Reprint) Jones and Bartlett Learning, 2018.
• Stallings, W. Computer Organization and Architecture Designing for Performance 8th
edition, Prentice Hall of India, 2010.
47 | P a g e
DISCIPLINE SPECIFIC CORE COURSE – 3: MATHEMATICS FOR
COMPUTING
CREDIT DISTRIBUTION, ELIGIBILITY AND PRE-REQUISITES OF THE COURSE
Course title Credits Credit distribution of the course Eligibility Pre-requisite o
& Code Lecture Tutorial Practical/ criteria the course
Practice (if any)
Mathematics Class XII NIL
for 4 3 0 1 pass
Computing
Learning Objectives
The Learning Objectives of this course are as follows:
• Introduces the students to the fundamental concepts and topics of linear algebra and
vector calculus.
• To build the foundation for some of the core courses in later semesters.
Learning Outcomes
This course will enable the students to:
• Perform operations on matrices and sparse matrices.
• Compute the determinant, rank and eigenvalues of a matrix.
• Perform diagonalization.
• Perform operations on vectors, the dot product and cross product.
• Represent vectors geometrically and calculate the gradient, divergence, curl.
• Apply linear algebra and vector calculus to solve problems in sub-disciplines of computer
science.
SYLLABUS OF DSC – 3
Theory
Unit – 1 (6 hours)
Introduction to Matrix Algebra
Echelon form of a Matrix, Rank of a Matrix, Determinant and Inverse of a matrix, Solution of
System of Homogeneous & Non-Homogeneous Equations: Gauss elimination and Solution
of System of Homogeneous Equations: Gauss Jordan Method.
Unit – 3 (9 hours)
EigenValue and EigenVector
48 | P a g e
Characteristic Polynomial, Cayley Hamilton Theorem, Eigen Value and Eigen Vector of a
matrix, Eigenspaces, Diagonalization, Positive Definite Matrices, Applications to Markov
Matrices.
Unit – 4 (9 hours)
Vector Calculus
Vector Algebra, Laws of Vector Algebra, Dot Product, Cross Product, Vector and Scalar
Fields, Ordinary Derivative of Vectors, Space Curves, Partial Derivatives, Del Operator,
Gradient of a Scalar Field, Directional Derivative, Gradient of Matrices, Divergence of a
Vector Field, Laplacian Operator, Curl of a Vector Field.
Practical (30 hours)
List of Practicals:
1. Create and transform vectors and matrices (the transpose vector (matrix) conjugate
transpose of a vector (matrix))
2. Generate the matrix into echelon form and find its rank.
3. Find cofactors, determinant, adjoint and inverse of a matrix.
4. Solve a system of Homogeneous and non-homogeneous equations using Gauss
elimination method.
5. Solve a system of Homogeneous equations using the Gauss Jordan method.
6. Generate basis of column space, null space, row space and left null space of a matrix
space.
7. Check the linear dependence of vectors. Generate a linear combination of given vectors
of Rn/ matrices of the same size and find the transition matrix of given matrix space.
8. Find the orthonormal basis of a given vector space using the Gram-Schmidt
orthogonalization process.
9. Check the diagonalizable property of matrices and find the corresponding eigenvalue
and verify the Cayley- Hamilton theorem.
10. Application of Linear algebra: Coding and decoding of messages using nonsingular
matrices.
eg code “Linear Algebra is fun” and then decode it.
11. Compute Gradient of a scalar field.
12. Compute Divergence of a vector field.
13. Compute Curl of a vector field.
Essential Reading
• Strang Gilbert. Introduction to Linear Algebra, 5th Edition, Wellesley-Cambridge Press,
2021.
• Kreyszig Erwin. Advanced Engineering Mathematics, 10th Edition, Wiley, 2015.
• Strang Gilbert. Linear Algebra and Learning from Data, 1st Edition, Wellesley-
Cambridge Press, 2019.
• Jain R. K., Iyengar S.R. K. Advanced Engineering Mathematics, 5th Edition, Narosa,
2016.
Suggestive Reading
• Deisenroth, Marc Peter, Faisal A. Aldo and Ong Cheng Soon. Mathematics for Machine
Learning, 1st Edition, Cambridge University Press, 2020.
• (Lipschutz Seymour and Lipson Marc. Schaum's Outline of Linear Algebra, 6th Edition,
McGraw Hill, 2017.
49 | P a g e