2nd Semester B.Sc. CSIT

BSc.CSIT Second Semester Syllabus |TU Syllabus

BSc.CSIT Second Semester Syllabus |TU Syllabus

BSc.CSIT Second Semester Syllabus Overview

Syllabus of BSc.CSIT Second Semester comprises five compulsory courses that include Discrete Structures, Object-Oriented Programming, Microprocessor, Mathematics II, and Statistics I. They are a total of 15 credit hours with a total of 500 full marks.

BSc.CSIT Second Semester course code is shown below in table:

SN Course Code Course Title Credit Hrs. Full Marks 
CSC160 Discrete Structure 100 
CSC161 Object-Oriented Programming 100 
CSC162 Microprocessor 100 
MTH163 Mathematics II 100 
STA164 Statistics I 100 
Total   15 500 

Course Title 1: Discrete Structures                                            

Full Marks: 60 + 20 + 20

Course No: CSC160                                                                    

Pass Marks: 24 + 8 + 8

Nature of the Course: Theory + Lab                                              

Credit Hrs: 3

Semester: II

Course Description: The course covers fundamental concepts of discrete structure like introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.

Course Objectives: The main objective of the course is to introduce basic discrete structures, explore applications of discrete structures in computer science, understand concepts of Counting, Probability, Relations and Graphs respectively. 

Course Contents:

Unit 1:  Basic Discrete Structures (7 Hrs.)

1.1.Sets: Sets and Subsets, Power Set, Cartesian Product, Set Operations, Venn Diagram, Inclusion-Exclusion Principle, Computer Representation of Sets

1.2.Functions: Basic Concept, Injective and Bijective Functions, Inverse and Composite Functions, Graph of Functions, Functions for Computer Science (Ceiling Function, Floor Function, Boolean Function, Exponential Function), Fuzzy Sets and Membership Functions, Fuzzy Set Operations

1.3.Sequences and Summations: Basic Concept of Sequences, Geometric and Arithmetic Progression, Single and Double Summation

Unit 2: Integers and Matrices (6 Hrs.)

2.1.Integers: Integers and Division, Primes and Greatest Common Divisor, Extended Euclidean Algorithm, Integers and Algorithms, Applications of Number Theory (Linear

Congruencies, Chinese Remainder Theorem, Computer Arithmetic with Large Integers)

2.2.Matrices: Zero-One Matrices, Boolean Matrix Operations

Unit 3: Logic and Proof Methods (6 Hrs.)

3.1.Logic: Propositional Logic, Propositional Equivalences, Predicates and Quantifiers, Negation of Quantified Statements, Proof of quantified statements, Nested Quantifiers, Rules of Inferences

3.2.Proof Methods: Basic Terminologies, Proof Methods (Direct Proof, Indirect Proof, Proof by Contradiction, Proof By Contraposition, Exhaustive Proofs and Proof by  Cases), Mistakes in Proof

Unit 4: Induction and Recursion (5 Hrs.)

4.1.Induction: mathematical Induction, Strong Induction and Well Ordering, Induction in General

4.2.Recursive Definitions and Structural Induction, Recursive Algorithms, Proving Correctness of Recursive Algorithms

Unit 5: Counting and Discrete Probability (9 Hrs.)

5.1.Counting: Basics of Counting, Pigeonhole Principle, Permutations and Combinations, Two Element Subsets, Counting Subsets of a Set, Binomial Coefficients, Generalized

Permutations and Combinations, Generating Permutations and Combinations

5.2.Discrete Probability: Introduction to Discrete Probability, Probability Theory, Probability Calculation in Hashing, Expected Value and Variance, Randomized Algorithms

5.3.Advanced Counting: Recurrence Relations, Solving Recurrence Relations (Homogeneous and Non-Homogeneous equations), Introduction to Divide and Conquer Recurrence Relations

Unit 6: Relations and Graphs (12 Hrs.)

6.1.Relations: Relations and their Properties, N-ary Relations with Applications, Representing Relations, Closure of Relations, Equivalence Relations, Partial Ordering

6.2.Graphs: Graphs Basics, Graph Types, Graph Models, Graph Representation, Graph Isomorphism, Connectivity in Graphs, Euler and Hamiltonian Path and Circuits, Matching Theory, Shortest Path Algorithm (Dijkstra’s Algorithm), Travelling Salesman Problem, Graph Coloring

6.3.Trees: Introduction and Applications, Tree Traversals, Spanning Trees, Minimum Spanning Trees (Kruskal’s Algorithm)

6.4.Network Flows: Graph as Models of Flow of Comodities, Flows, Maximal Flows and Minimal Cuts, The Max Flow-Min Cut Theorem

Laboratory Works:

The laboratory work consists of implementing the algorithms and concepts discussed in the class.

Student should implement problems with following concepts; 

  • Set Operations and Boolean Matrix Operations
  • Primility Testing, Number Theory Algorithms, and Operations on Integers 
  • Counting and Some Recursive Algorithms
  • Algorithms for Relations, Graphs

Text Books:

  1. Kenneth H. Rosen, Discrete mathematics and its applications, Seventh Edition McGraw Hill Publication, 2012.
  2. Bernard Kolman, Robert Busby, Sharon C. Ross, Discrete Mathematical Structures, Sixth Edition Pearson Publications, 2015
  3. Joe L Mott, Abraham Kandel, Theodore P Baker, Discrete Mathematics for Computer Scientists and Mathematicians, Printice Hall of India, Second Edition, 2008

Reference Books:

1.Ken Bogart, Scot Drysdale, Cliff Stein, Discrete Mathematics for Computer Scientists, First Edition Addison-Wesley, 2010

Course Title 2: Object-Oriented Programming                       

Full Marks: 60 + 20 + 20

Course No: CSC161                                                             

Pass Marks: 24 + 8 + 8  

Nature of Course: Theory + Lab                                          

Credit Hrs: 3

Semester: II

Course Description: The course covers the basic concepts of object oriented programming using C++ programming language. 

Course Objectives:The main objective of this course is to understand object oriented programming and advanced C++ concepts such as composition of objects, operator overloads, inheritance and polymorphism, file I/O, exception handling and templates.

Course Contents:

Unit 1: Introduction to Object Oriented Programming (3 Hrs.)

Overview of structured programming approach, Object oriented programming approach, Characteristics of object oriented languages

Unit 2: Basics of C++ programming (5 Hrs.)

C++ Program Structure, Character Set and Tokens, Data Type, Type Conversion, Preprocessor Directives, Namespace, Input/Output Streams and Manipulators, Dynamic Memory Allocation with new and delete, Control Statements.

Functions: Function Overloading, Inline Functions, Default Argument, Pass by Reference, Return by Reference, Scope and Storage Class.

Pointers: Pointer variables declaration & initialization, Operators in pointers, Pointers and Arrays, Pointer and Function.           

Unit 3: Classes & Objects (8 Hrs.)

A Simple Class and Object, Accessing members of class, Initialization of class objects:                  

(Constructor, Destructor), Default Constructor, Parameterized Constructor, Copy Constructor,

The Default Copy Constructor, Objects as Function Arguments, Returning Objects from Functions, Structures and Classes, Memory allocation for Objects, Static members, Member functions defined outside the class.                    

Unit 4: Operator Overloading (7 Hrs.)

Fundamental of operator overloading, Restriction on operator overloading, Operator functions as a class members, Overloading unary and binary operator, Data Conversion (basic to basic, basic to user-defined, user-defined to basic, user-defined to user-defined)

Unit 5: Inheritance (7 Hrs.)

Introduction to inheritance, Derived Class and Base Class, Access Specifiers (private, protected, and public), Types of inheritance, Public and Private Inheritance, Constructor and Destructor in derived classes, Aggregation   

Unit 6: Virtual Function, Polymorphism, and miscellaneous C++ Features (5 Hrs.)

Concept of Virtual functions, Late Binding, Abstract class and pure virtual functions, Virtual Destructors, Virtual base class, Friend function and Static function, Assignment and copy initialization, Copy constructor,  This pointer, Concrete classes, Polymorphism and its roles.

Unit 7: Function Templates and Exception Handling (4 Hrs.)

Function templates, Function templates with multiple arguments, Class templates, templates and inheritance, Exceptional Handling (Try, throw and catch), Use of exceptional handling.

Unit 8: File handling (6 Hrs.)

Stream Class Hierarchy for Console Input /Output, Unformatted Input /Output, Formatted Input /Output with ios Member functions, Formatting with Manipulators, Stream Operator Overloading, File Input/output with Streams, Opening and Closing files, Read/Write from File, File Access Pointers and their Manipulators, Sequential and Random Access to File, Testing Errors during File Operations

Laboratory Works:

Students should be able to implement the concepts of Object Oriented Programming using C++ language. 

Text Book:

  1. Robert Lafore, Object Oriented Programming in C++, Fourth Edition, SAMS publications.
  2. Herbert Schildt, C++ The Complete Reference, Fourth Edition, Tata McGraw Hill Publication.

Reference Books:

  1. Deitel and Deitel, C++ How to Program, Third Edition, Pearson Publication.
  2. Joyce Farrell, Object-oriented programming using C++, Fourth Edition, Cengage Learning.

Course Title 3: Microprocessor                                              

Full Marks: 60 + 20 + 20

 Code: CSC162                                                                 

Pass Marks: 24 + 8 + 8

Nature of the Course: Theory + Lab                                           

Credit Hrs: 3

Semester: II

Course Description:  This course contains of fundamental concepts of computer organization, basic I/O interfaces and Interrupts operations.

Course Objectives:  The course objective is to introduce the operation, programming and application of microprocessor.

Course Contents:

Unit 1: Introduction (4 Hrs.)

Introduction to Microprocessor, Components of a Microprocessor: Registers, ALU and control & timing, System bus (data, address and control bus), Microprocessor systems with bus organization

Unit 2: Basic Architecture (7 Hrs.)

Microprocessor Architecture and Operations, Memory, I/O devices, Memory and I/O operations, 8085 Microprocessor Architecture, Address, Data And Control Buses, 8085 Pin Functions,

Demultiplexing of Buses, Generation Of Control Signals

Unit 3: Instruction Cycle (3 Hrs.)

Fetch Operation and Timing Diagram; Execute Operation and Timing Diagram, Instruction Cycle, Machine Cycle, T-States, T-States, Memory Interfacing

Unit 4: Assembly Language Programming (10 Hrs.) 

Assembly instruction format, Instruction Types, Mnemonics, Operands, Macro assemblers, Linking, Assembler directives, Addressing Modes, Simple sequence programs, Flags, Branch, Jumps, While-Do, Repeat-Until, If-Then-Else and Multiple If-then Programs, Debugging

Unit 5: Basic I/O, Memory R/W and Interrupt Operations (6 Hrs.) 

Memory Read, Memory Write, I/O Read, I/O Write, Direct Memory Access, Interrupt, Types, Interrupt Masking

Unit 6: Input/ Output Interfaces (6 Hrs.)

Interfacing Concepts, Ports, Interfacing Of I/O Devices, Interrupts In 8085, Programmable Interrupt Controller 8259A, Programmable Peripheral Interface 8255A

Unit 7: Advanced Microprocessors (9 Hrs.)

8086: logical block diagram and segments, 80286: Architecture, Registers, (Real/Protected mode), Privilege levels, descriptor cache, Memory access in GDT and LDT, multitasking, addressing modes, flag register 80386: Architecture, Register organization, Memory access in protected mode, Paging

Laboratory Works:

The laboratory work includes Assembly language programming using 8085/8086/8088 trainer kit. The programming should include: Arithmetic operation, base conversion, conditional branching etc. The lab work list may include following concepts:

  1. Assembly language program using 8085 microprocessor kit.
  2. Use of all types of instructions and addressing modes.
  3. Arrays and the concept of Multiplications and Division operations on Microprocessor.
  4. Assembly language programming, using any types of Assembler, including the different functions of Int 10h, and 12h

Text Books:

1.Ramesh S.Gaonkar, Microprocessor Architecture, Programming, and Applications with 8085, Prentice Hall

Reference Books:

  1. A.P.Malvino and J.A.Brown, Digital Computer Electronics, 3rd Edition, Tata McGraw
  2. Hill D.V.Hall, Microprocessors and Interfacing – Programming and Hardware, McGraw Hill
  3. 8000 to 8085 Introduction to 8085 Microprocessor for Engineers and Scientists, A.K.Gosh, Prentice Hall

Course Title 4: Mathematics II                                                  

Full Marks: 80 + 20

Code: MTH163                                                                        

Pass Marks: 32 + 8

Nature of the Course: Theory                                                          

Credit Hrs: 3

Semester: II

Course Description: The course contains concepts and techniques of linear algebra. The course topics include systems of linear equations, determinants, vectors and vector spaces, eigen values and eigenvectors, and singular value decomposition of a matrix.

Course Objectives: The main objective of the course is to make familiarize with the concepts and techniques of linear algebra, solve system of linear equation with Gauss-Jordon method, to impart knowledge of vector space and subspace, eigenvalues and eigenvectors of a matrix and get the idea of diagonalization of a matrix, linear programming, Group, Ring, and Field.

Course Contents:

Unit 1: Linear Equations in Linear Algebra (5 Hrs.)

System of linear equations, Row reduction and Echelon forms, Vector equations, The matrix equations Ax = b, Applications of linear system, Linear independence                  

Unit 2:Transformation (4 Hrs.)

Introduction to linear transformations, the matrix of a linear Transformation, Linear models in business, science, and engineering 

Unit 3: Matrix Algebra (5 Hrs)

Matrix operations, The inverse of a matrix, Characterizations of invertible matrices, Partitioned matrices, Matrix factorization, The Leontief input output model, Subspace of Rn, Dimension and rank                

Unit 4: Determinants (4 Hrs.)

Introduction, Properties, Cramer’s rule, Volume and linear transformations                                                            

Unit 5: Vector Spaces (5 Hrs.)

Vector spaces and subspaces, Null spaces, Column spaces, and Linear transformations, Linearly independent sets: Bases, Coordinate systems             

Unit 6: Vector Space Continued (4 Hrs.)

Dimension of vector space and Rank, Change of basis, Applications to difference equations, Applications to Markov Chains

Unit 7: Eigenvalues and Eigen Vectors (5 Hrs.) 

Eigenvectors and Eigenvalues, The characteristic equations, Diagonalization, Eigenvectors and linear transformations, Complex eigenvalues, Discrete dynamical systems, Applications to differential equations

Unit 8: Orthogonality and Least Squares (5 Hrs.)

Inner product, Length, and orthoganility, Orthogonal sets, Orthogonal projections, The GramSchmidt process, Least squares problems, Application to linear models, Inner product spaces, Applications of inner product spaces

Unit 9: Groups and Subgroups (5 Hrs.)

 Binary Operations, Groups, Subgroups, Cyclic Groups

Unit 10: Rings and Fields (4 Hrs.) 

Rings and Fields, Integral domains

Text Books:

  1. Linear Algebra and Its Applications, David C. Lay, 4th Edition, Pearson Addison Wesley.
  2. Linear Algebra and Its Applications, Gilbert Strang, 4th Edition, Addison, CENGAGE Learning.

 Course Title 5 :Statistics I                                                              

Full Marks: 60 + 20 + 20

Code: STA164                                                                         

Pass Marks: 24 + 8 + 8

Nature of the Course: Theory + Lab                                               

Credit Hrs: 3

Semester: II

Course Description: This course contains basics of statistics, descriptive statistics, probability, sampling, random variables and mathematical expectations, probability distribution, correlation and regression.

Course Objectives: The main objective of this course is to impart the knowledge of descriptive statistics, correlation, regression, sampling, theoretical as well as applied knowledge of probability and some probability distributions.

Course Contents:

Unit 1: Introduction (4 Hrs.) 

Basic concept of statistics; Application of Statistics in the field of Computer Science &          Information technology; Scales of measurement; Variables; Types of Data; Notion of a statistical population

Unit 2: Descriptive Statistics (6 Hrs.)                                                                  

Measures of central tendency; Measures of dispersion; Measures of skewness; Measures of kurtosis; Moments; Steam and leaf display; five number summary; box plot

Problems and illustrative examples related to computer Science and IT

Unit 3:  Introduction to Probability (8 Hrs.)

Concepts of probability; Definitions of probability; Laws of probability; Bayes theorem; prior and posterior probabilities

Problems and illustrative examples related to computer Science and IT

Unit 4:   Sampling (3 Hrs.)

Definitions of population; sample survey vs. census survey; sampling error and non sampling error; Types of sampling

5. Random Variables and Mathematical Expectation (5 Hrs.)

Concept of a random variable; Types of random variables; Probability distribution of a random variable; Mathematical expectation of a random variable; Addition and multiplicative theorems of expectation

Problems and illustrative examples related to computer Science and IT

Unit 6:  Probability Distributions (12 Hrs.)

Probability distribution function, Joint probability distribution of two random variables; Discrete distributions: Bernoulli trial, Binomial and Poisson distributions; Continuous distribution: Normal distributions; Standardization of normal distribution; Normal distribution as an approximation of Binomial and Poisson distribution; Exponential, Gamma distribution

Problems and illustrative examples related to computer Science and IT

Unit 7: Correlation and Linear Regression (7 Hrs.)

Bivariate data; Bivariate frequency distribution; Correlation between two variables; Karl Pearson’s coefficient of correlation(r); Spearman’s rank correlation; Regression Analysis: Fitting of lines of regression by the least squares method; coefficient of determination

Problems and illustrative examples related to computer Science and IT

Laboratory Works:

The laboratory work includes using any statistical software such as Microsoft Excel, SPSS, STATA etc. whichever convenient using Practical problems to be covered in the Computerized Statistics laboratory

Practical problems

S. No.Title of the practical problems  No. of practical problems
1Computation of measures of central tendency (ungrouped and grouped data) Use of an appropriate measure and interpretation of results and computation of partition Values1
  2Computation measures of dispersion (ungrouped and grouped data) and computation of coefficient of variation. 1
3Measures of skewness and kurtosis using method of moments, Measures of Skewness using Box and whisker plot.2
4Scatter diagram, correlation coefficient (ungrouped data) and interpretation. Compute manually and check with computer output.1
5Fitting of lines of regression (Results to be verified with computer output)1
6Fitting of lines of regression and computation of correlation coefficient, Mean residual sum of squares, residual plot. 1
7Conditional probability and Bayes theorem 3
8Obtaining descriptive statistics of probability distributions2
9Fitting probability distributions in real data (Binomial, Poisson and Normal)3
 Total number of  practical problems15

Text Books:

  1. Michael Baron (2013).  Probability and Statistics for Computer Scientists.  2nd Ed., CRC Press, Taylor & Francis Group, A Chapman & Hall Book.
  2. Ronald E. Walpole, Raymond H. Myers, Sharon L. Myers, & Keying Ye (2012).
  3. Probability & Statistics for Engineers & Scientists. 9th  Ed.,  Printice Hall.

Reference Books: 

  1. Douglas C. Montgomery & George C. Ranger (2003). Applied Statistics and Probability for Engineers. 3rd Ed., John Willey and Sons, Inc.
  2. Richard A. Johnson (2001).  Probability and Statistics for Engineers. 6th Ed., Pearson Education, India
About Author

Pooja Karki

Pooja is Web Developer and Content Writer. She is fond of anything that is related to writing and coding and really passionate about her work. Her aim is to reach the goals and doing everything with a smile. Besides that, she loves traveling and reading novels.