## 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 |

1 | CSC160 | Discrete Structure | 3 | 100 |

2 | CSC161 | Object-Oriented Programming | 3 | 100 |

3 | CSC162 | Microprocessor | 3 | 100 |

4 | MTH163 | Mathematics II | 3 | 100 |

5 | STA164 | Statistics I | 3 | 100 |

Total | 15 | 500 |

- BSc.CSIT Second Semester Syllabus Overview
- Course Title 1: Discrete Structures
- Course Title 2: Object-Oriented Programming
- Unit 1: Introduction to Object Oriented Programming (3 Hrs.)
- Unit 2: Basics of C++ programming (5 Hrs.)
- Unit 3: Classes & Objects (8 Hrs.)
- Unit 4: Operator Overloading (7 Hrs.)
- Unit 5: Inheritance (7 Hrs.)
- Unit 6: Virtual Function, Polymorphism, and miscellaneous C++ Features (5 Hrs.)
- Unit 7: Function Templates and Exception Handling (4 Hrs.)
- Unit 8: File handling (6 Hrs.)
- Laboratory Works:
- Reference Books:

- Course Title 3: Microprocessor
- Unit 1: Introduction (4 Hrs.)
- Unit 2: Basic Architecture (7 Hrs.)
- Unit 3: Instruction Cycle (3 Hrs.)
- Unit 4: Assembly Language Programming (10 Hrs.)
- Unit 5: Basic I/O, Memory R/W and Interrupt Operations (6 Hrs.)
- Unit 6: Input/ Output Interfaces (6 Hrs.)
- Unit 7: Advanced Microprocessors (9 Hrs.)
- Laboratory Works:
- Reference Books:

- Course Title 4: Mathematics II
- Unit 1: Linear Equations in Linear Algebra (5 Hrs.)
- Unit 2:Transformation (4 Hrs.)
- Unit 3: Matrix Algebra (5 Hrs)
- Unit 4: Determinants (4 Hrs.)
- Unit 5: Vector Spaces (5 Hrs.)
- Unit 6: Vector Space Continued (4 Hrs.)
- Unit 7: Eigenvalues and Eigen Vectors (5 Hrs.)
- Unit 8: Orthogonality and Least Squares (5 Hrs.)
- Unit 9: Groups and Subgroups (5 Hrs.)
- Unit 10: Rings and Fields (4 Hrs.)

- Course Title 5 :Statistics I
- Unit 1: Introduction (4 Hrs.)
- Unit 2: Descriptive Statistics (6 Hrs.)
- Unit 3: Introduction to Probability (8 Hrs.)
- Unit 4: Sampling (3 Hrs.)
- 5. Random Variables and Mathematical Expectation (5 Hrs.)
- Unit 6: Probability Distributions (12 Hrs.)
- Unit 7: Correlation and Linear Regression (7 Hrs.)
- Laboratory Works:
- Practical problems
- Reference Books:

### 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:**

- Kenneth H. Rosen, Discrete mathematics and its applications, Seventh Edition McGraw Hill Publication, 2012.
- Bernard Kolman, Robert Busby, Sharon C. Ross, Discrete Mathematical Structures, Sixth Edition Pearson Publications, 2015
- 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:**

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

**Reference Books:**

- Deitel and Deitel, C++ How to Program, Third Edition, Pearson Publication.
- 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:

- Assembly language program using 8085 microprocessor kit.
- Use of all types of instructions and addressing modes.
- Arrays and the concept of Multiplications and Division operations on Microprocessor.
- 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:**

- A.P.Malvino and J.A.Brown, Digital Computer Electronics, 3rd Edition, Tata McGraw
- Hill D.V.Hall, Microprocessors and Interfacing – Programming and Hardware, McGraw Hill
- 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 A**x** =** 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 R^{n}, 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:**

- Linear Algebra and Its Applications, David C. Lay, 4
^{th}Edition, Pearson Addison Wesley. - Linear Algebra and Its Applications, Gilbert Strang, 4
^{th}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 |

1 | Computation of measures of central tendency (ungrouped and grouped data) Use of an appropriate measure and interpretation of results and computation of partition Values | 1 |

2 | Computation measures of dispersion (ungrouped and grouped data) and computation of coefficient of variation. | 1 |

3 | Measures of skewness and kurtosis using method of moments, Measures of Skewness using Box and whisker plot. | 2 |

4 | Scatter diagram, correlation coefficient (ungrouped data) and interpretation. Compute manually and check with computer output. | 1 |

5 | Fitting of lines of regression (Results to be verified with computer output) | 1 |

6 | Fitting of lines of regression and computation of correlation coefficient, Mean residual sum of squares, residual plot. | 1 |

7 | Conditional probability and Bayes theorem | 3 |

8 | Obtaining descriptive statistics of probability distributions | 2 |

9 | Fitting probability distributions in real data (Binomial, Poisson and Normal) | 3 |

Total number of practical problems | 15 |

**Text Books:**

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

**Reference Books: **

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