IT 3rdSem Syllabus

advertisement
Final Examination:
Institute of science and technology, Tribhuvan University, will conduct the final examination at
the end of each semester. 80% weightage will be given to the final examination for theory course
and 60% will be given for the course having both theory and practical.
Course Structure:
Semester I
Course Code
Course Title
Credit Hours
Full Marks
CSC109
Introduction to Information Technology
3
100
CSC110
C Programming
3
100
CSC111
Digital Logic
3
100
MTH112
Mathematics I
3
100
PHY113
Physics
3
100
15
500
Total
Semester II
Course Code
Course Title
Credit Hours
Full Marks
CSC160
Discrete Structure
3
100
CSC161
Object Oriented Programming
3
100
CSC162
Microprocessor
3
100
MTH163
Mathematics II
3
100
STA164
Statistics I
3
100
15
500
Total
Semester III
Course Code
Course Title
Credit Hours
Full Marks
CSC206
Data Structure and Algorithms
3
100
CSC207
Numerical Method
3
100
CSC208
Computer Architecture
3
100
CSC209
Computer Graphics
3
100
STA210
Statistics II
3
100
15
500
Total
iii
Data Structures and Algorithms
Course Title: Data Structures and Algorithms
Course No: CSC206
Nature of the Course: Theory + Lab
Semester: III
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hrs: 3
Course Description: This course includes the basic foundations in of data structures and
algorithms. This course covers concepts of various data structures like stack, queue, list, tree and
graph. Additionally, the course includes idea of sorting and searching.
Course Objectives:
 To introduce data abstraction and data representation in memory
 To describe, design and use of elementary data structures such as stack, queue, linked list,
tree and graph
 To discuss decomposition of complex programming problems into manageable subproblems
 To introduce algorithms and their complexity
Course Contents:
Unit 1: Introduction to Data Structures & Algorithms (4 Hrs.)
1.1 Data types, Data structure and Abstract date type
1.2 Dynamic memory allocation in C
1.3 Introduction to Algorithms
1.4 Asymptotic notations and common functions
Unit 2: Stack (4 Hrs.)
2.1 Basic Concept of Stack, Stack as an ADT, Stack Operations, Stack Applications
2.2 Conversion from infix to postfix/prefix expression, Evaluation of postfix/ prefix
expressions
Unit 3: Queue (4 Hrs.)
3.1 Basic Concept of Queue, Queue as an ADT, Primitive Operations in Queue
3.2 Linear Queue, Circular Queue, Priority Queue, Queue Applications
Unit 4: Recursion (3 Hrs.)
4.1 Principle of Recursion, Comparison between Recursion and Iteration, Tail Recursion
4.2 Factorial, Fibonacci Sequence, GCD, Tower of Hanoi(TOH)
4.3 Applications and Efficiency of Recursion
Unit 5: Lists (8 Hrs.)
5.1 Basic Concept, List and ADT, Array Implementation of Lists, Linked List
5.2 Types of Linked List: Singly Linked List, Doubly Linked List, Circular Linked List.
5.3 Basic operations in Linked List: Node Creation, Node Insertion and Deletion from
Beginning, End and Specified Position
5.4 Stack and Queue as Linked List
23
Unit 6: Sorting (8 Hrs.)
6.1 Introduction and Types of sorting: Internal and External sort
6.2 Comparison Sorting Algorithms: Bubble, Selection and Insertion Sort, Shell Sort
6.3 Divide and Conquer Sorting: Merge, Quick and Heap Sort
6.4 Efficiency of Sorting Algorithms
Unit 7: Searching and Hashing (6 Hrs.)
7.1 Introduction to Searching, Search Algorithms: Sequential Search, Binary Search
7.2 Efficiency of Search Algorithms
7.3 Hashing : Hash Function and Hash Tables, Collision Resolution Techniques
Unit 8: Trees and Graphs (8 Hrs.)
8.1 Concept and Definitions, Basic Operations in Binary Tree, Tree Height, Level and Depth
8.2 Binary Search Tree, Insertion, Deletion, Traversals, Search in BST
8.3 AVL tree and Balancing algorithm, Applications of Trees
8.4 Definition and Representation of Graphs, Graph Traversal, Minimum Spanning Trees:
Kruskal and Prims Algorithm
8.5 Shortest Path Algorithms: Dijksrtra Algorithm
Laboratory Works:
The laboratory work consists of implementing the algorithms and data structures studied in the
course. Student should implement at least following concepts;
 Dynamic memory allocation and deallocation strategies
 Stack operations and Queue operations
 Array and Linked List implementation of List
 Linked List implementation of Stack and Queues
 Sorting, Searching and Hashing algorithms
 Binary Search Trees and AVL Tress
 Graph Representation, Spanning Tree and Shortest Path Algorithms
Text Books:
1. Y Langsam , MJ Augenstein and A.M , Tanenbaum Data Structures using C and C++ ,
Prentice Hall India, Second Edition 2015
Reference Books:
1. Leen Ammeral, Programmes and Data Structures in C, Wiley Professional
Computting
2. G.W Rowe, Introduction to Data Structure and Algroithms with C and C++ , prentice
Hall India
3. R.L Kruse, B.P. Leung, C.L. Tondo, Data Structure and Program Design in C PrenticeHall India
24
Numerical Method
Course Title: Numerical Method
Course No.: CSC207
Nature of the Course: Theory + Lab
Semester: III
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hrs: 3
Course Description: This course contains the concepts of numerical method techniques for
solving linear and nonlinear equations, interpolation and regression, differentiation and
integration, and partial differential equations.
Course Objectives: The main objective of the course is to provide the knowledge of numerical
method techniques for mathematical modeling.
Course Content:
Unit 1: Solution of Nonlinear Equations (8 Hrs.)
1.1 Errors in Numerical Calculations, Sources of Errors, Propagation of Errors, Review of
Taylor's Theorem
1.2 Solving Non-linear Equations by Trial and Error method, Half-Interval method and
Convergence, Newton's method and Convergence, Secant method and Convergence,
Fixed point iteration and its convergence, Newton's method for calculating multiple roots,
Horner's method
Unit 2: Interpolation and Regression (8 Hrs.)
2.1 Interpolation vs Extrapolation, Lagrange's Interpolation, Newton's Interpolation using
divided differences, forward differences and backward differences, Cubic spline
interpolation
2.2 Introduction of Regression, Regression vs Interpolation, Least squares method, Linear
Regression, Non-linear Regression by fitting Exponential and Polynomial
Unit 3: Numerical Differentiation and Integration (8 Hrs.)
3.1 Differentiating Continuous Functions (Two-Point and Three-Point Formula),
Differentiating Tabulated Functions by using Newton’s Differences, Maxima and minima
of Tabulated Functions
3.2 Newton-Cote's Quadrature Formulas, Trapezoidal rule, Multi-Segment Trapezoidal rule,
Simpson's 1/3 rule, Multi-Segment Simpson's 1/3 rule, Simpson's 3/8 rule, MultiSegment Simpson's 3/8 rule, Gaussian integration algorithm, Romberg integration
Unit 4: Solving System of Linear Equations (8 Hrs.)
4.1 Review of the existence of solutions and properties of matrices, Gaussian elimination
method, pivoting, Gauss-Jordan method, Inverse of matrix using Gauss-Jordan method
4.2 Matrix factorization and Solving System of Linear Equations by using Dolittle and
Cholesky's algorithm
4.3 Iterative Solutions of System of Linear Equations, Jacobi Iteration Method, Gauss-Seidal
Method
25
4.4 Eigen values and eigen vectors problems, Solving eigen value problems using power
method.
Unit 5: Solution of Ordinary Differential Equations (8 Hrs.)
5.1 Review of differential equations, Initial value problem, Taylor series method, Picard's
method, Euler's method and its accuracy, Heun's method, Runge-Kutta methods
5.2 Solving System of ordinary differential equations, Solution of the higher order equations,
Boundary value problems, Shooting method and its algorithm
Unit 6: Solution of Partial Differential Equations (5 Hrs.)
6.1 Review of partial differential equations, Classification of partial differential equation,
Deriving difference equations, Laplacian equation and Poisson's equation, engineering
examples
Laboratory Works:
The laboratory exercise should consist program development and testing of non-linear equations,
system of linear equations, interpolation, numerical integration and differentation, linear
algebraic equations, ordinary and partial differential equations.Numerical solutions using C or
Matlab.
Text Books:
1. W. Chency and D. Kincaid, "Numerical Mathematics and Computing", 7thEdition,
Brooks/Cole Publishing Co, 2012
2. C.F. Gerald and P.O. Wheatley, "Applied Numerical Analysis", 9thEdition, Addison
Wesley Publishing Company, New York, 2011
Reference Books:
1. E. Balagurusamy, “Numerical Methods”, Tata McGraw-Hill Publishing Company Ltd.,
New Delhi, 1999
2. W.H. Press, B.P. Flannery et al., "Numerical Recipes: Art of Scientific Computing", 3rd
Edition, Cambridge Press, 2007.
3. J. M. Mathews and K. Fink, “Numerical Methods using MATLAB “, 4rd Edition, Prentice
Hall Publication, 2004
26
Computer Architecture
Course Title: Computer Architecture
Course No: CSC208
Nature of the Course: Theory + Lab
Semester: III
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hrs: 3
Course Description: This course includes concepts of instruction set architecture, organization
or micro-architecture, and system architecture. The instruction set architecture includes
programmer’s abstraction of computer. The micro-architecture consist internal representation of
computers at register and functional unit level. The system architecture includes organization of
computers at the cache and bus level.
.
Course Objectives:
 Discuss representation of data and algorithms used to perform operations on data
 Demonstrate different operations in terms of Micro-operations
 Explain architecture of basic computer and micro-programmed control unit
 Understand and memory and I/O organization of a typical computer system
 Demonstrate benefits of pipelined systems
Course Contents:
Unit 1: Data Representation (4 Hrs.)
1.1. Data Representation: Binary Representation, BCD, Alphanumeric Representation,
Complements, Fixed Point representation, Representing Negative Numbers, Floating
Point Representation, Arithmetic with Complements, Overflow, Detecting Overflow
1.2. Other Binary Codes: Gray Code, self Complementing Code, Weighted Code, Excess-3
Code, EBCDIC
1.3. Error Detection Codes: Parity Bit, Odd Parity, Even parity, Parity Generator & Checker
Unit 2: Register Transfer and Microoperations (5 Hrs.)
2.1. Microoperation, Register Transfer Language, Register Transfer, Control Function
2.2. Arithmetic Microoperations: Binary Adder, Binary Adder-subtractor, Binary
Incrementer, Arithmetic Circuit
2.3. Logic Microoperations, Hardware Implementation, Applications of Logic
Microoperations.
2.4. Shift Microoperations: Logical Shift, Circular shift, Arithmetic Shift, Hardware
Implementation of Shifter.
Unit 3: Basic Computer Organization and Design (8 Hrs.)
3.1. Instruction Code, Operation Code, Stored Program Concept
3.2. Registers and memory of Basic Computer, Common Bus System for Basic
Computer.
3.3. Instruction Format, Instruction Set Completeness, Control Unit of Basic Computer,
Control Timing Signals
27
3.4. Instruction Cycle of Basic computer, Determining Type of Instruction, Memory
Reference Instructions, Input-Output Instructions, Program Interrupt & Interrupt
Cycle.
3.5. Description and Flowchart of Basic Computer
Unit 4: Microprogrammed Control (4 Hrs.)
4.1. Control Word, Microprogram, Control Memory, Control Address Register,
Sequencer
4.2. Address Sequencing, Conditional Branch, Mapping of Instructions, Subroutines,
Microinstruction Format, Symbolic Microinstructions
4.3. Design of Control Unit
Unit 5: Central Processing Unit (4 Hrs.)
5.1. Major Components of CPU, CPU Organization
5.2. Instruction Formats, Addressing Modes, Data Transfer and manipulation, Program
Control, Subroutine Call and Return, Types of Interrupt
5.3. RISC vs CISC, Pros and Cons of RISC and CISC, Overlapped Register Windows
Unit 6: Pipelining (6 Hrs.)
6.1. Parallel Processing, Multiple Functional Units, Flynn’s Classification
6.2. Pipelining: Concept and Demonstration with Example, Speedup Equation, Floating
Point addition and Subtraction with Pipelining
6.3. Instruction Level Pipelining: Instruction Cycle, Three & Four-Segment Instruction
Pipeline, Pipeline Conflicts and Solutions
6.4. Vector Processing, Applications, Vector Operations, Matrix Multiplication
Unit 7: Computer Arithmetic (6 Hrs.)
7.1. Addition and Subtraction with Signed Magnitude Data, Addition and Subtraction with
Signed 2’s Complement Data
7.2. Multiplication of Signed Magnitude Data, Booth Multiplication, Division of Signed
magnitude Data, Divide Overflow
Unit 8: Input Output Organization (4 Hrs.)
8.1. Input-Output Interface: I/O Bus and Interface Modules, I/O vs. Memory Bus, Isolated
vs. Memory-Mapped I/O
8.2. Asynchronous Data Transfer: Strobe, Handshaking
8.3. Modes of Transfer: Programmed I/O, Interrupt-Initiated I/O, Direct memory Access
8.4. Priority Interrupt: Polling, Daisy-Chaining, Parallel Priority Interrupt
8.5. Direct Memory Access, Input-Output Processor, DMA vs. IOP
Unit 9: Memory Organization (4 Hrs.)
9.1 Memory Hierarchy, Main Memory, RAM and ROM Chips, Memory address Map,
Memory Connection to CPU, Auxiliary Memory (magnetic Disk, Magnetic Tape)
9.1 Associative Memory: Hardware Organization, Match Logic, Read Operation, Write
Operation
9.1 Cache Memory: Locality of Reference, Hit & Miss Ratio, Mapping, Write Policies
28
Laboratory Works:
The laboratory work includes implementing and simulating the algorithms, studied in the course,
by using high level languages like C or VHDL. The laboratory works should include at least
following concepts;
• Simulate features like overflow, data representation by using VHDL
• Simulate design of different units by using VHDL
• Simulate pipelining by using VHDL
• Implement algorithms for computer arithmetic using high level language like C or C++
Text Books:
1. M. Morris Mano, “Computer System Architecture”, Prentice-Hall of India, Pvt. Ltd.,
Third edition, 2007
References Books:
1. William Stallings, “Computer Organization and Architecture”, Prentice-Hall of India,
Pvt. Ltd., Seventh edition, 2005.
2. Vincent P. Heuring and Harry F. Jordan, “Computer System Design and Architecture”,
Prentice-Hall of India, Pvt. Ltd., Second edition, 2003.
29
Computer Graphics
Course Title: Computer Graphics
Course no: CSC209
Nature of the Course: Theory + Lab
Semester: III
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hrs: 3
Course Description: The course covers concepts of graphics hardware, software, and
applications, data structures for representing 2D and 3D geometric objects, drawing algorithms
for graphical objects, techniques for representing and manipulating geometric objects,
illumination and lighting models, and concept of virtual reality.
Course Objectives: The objective of this course is to understand the theoretical foundation as
well as the practical applications of 2D and 3D graphics.
Course Contents:
Unit 1: Introduction of Computer Graphics (3 Hrs.)
1.1 A Brief Overview of Computer Graphics, Areas of Applications.
1.2 Graphics Hardware: Display Technology, Architecture of Raster-Scan
Displays,Vector Displays, Display Processors, Hard copy device. Input Devices.
1.3 Graphics Software: Software standards, Need of machine independent graphics
language.
Unit 2: Scan Conversion Algorithm (6 Hrs.)
2.1 Scan Converting a Point and a straight Line: DDA Line Algorithm, Bresenham’s Line
Algorithm
2.2 Scan Converting Circle and Ellipse :Mid Point Circle and Ellipse Algorithm
2.3 Area Filling: Scan Line Polygon fill Algorithm, Inside-outside Test, Scan line fill of
Curved Boundary area, Boundary-fill and Flood-fill algorithm
Unit 3: Two-Dimensional Geometric Transformations (5 Hrs.)
3.1 Two-Dimensional translation, Rotation, Scaling, Reflection and Shearing
3.2 Homogeneous Coordinate and 2D Composite Transformations. Transformation
between Co-ordinate Systems.
3.3 Two Dimensional Viewing: Viewing pipeline, Window to viewport coordinate
transformation
3.4 Clipping: Point, Lines(Cohen Sutherland line clipping, Liang-Barsky Line Clipping) ,
Polygon Clipping(Sutherland Hodgeman polygon clipping)
Unit 4: Three-Dimensional Geometric Transformation (5 Hrs.)
4.1 Three-Dimensional translation, Rotation, Scaling, Reflection and Shearing
4.2 Three-Dimensional Composite Transformations
4.3 Three-Dimensional Viewing: Viewing pipeline, world to screen viewing
transformation, Projection concepts(Orthographic, parallel, perspective projections)
Unit 5: 3D Objects Representation (7 Hrs.)
5.1 Representing Surfaces: Boundary and Space partitioning
30
5.1.1
Polygon Surface: Polygon tables , Surface normal and Spatial orientation of
surfaces, Plane equations, Polygon meshes
5.1.2 Wireframe Representation
5.1.3 Blobby Objects
5.2 Representing Curves: Parametric Cubic Curves, Spline Representation, Cubic spline
interpolation, Hermite Curves, Bezier and B-spline Curve and surface
5.3 Quadric Surface: Sphere and Ellipsoid
Unit 6: Solid Modeling (4 Hrs.)
6.1 Sweep ,Boundary and Spatial-Partitioning Representation
6.2 Binary Space Partition Trees (BSP)
6.3 Octree Representation
Unit 7: Visible Surface Detections (5 Hrs.)
7.1 Image Space and Object Space Techniques
7.2 Back Face Detection, Depth Buffer (Z-buffer), A-Buffer and Scan-Line Algorithms.
7.3 Depth Sorting Method (Painter’s Algorithm)
7.4 BSP tree Method, Octree and Ray Tracing
Unit 8: Illumination Models and Surface Rendering Techniques (5 Hrs.)
8.1 Basic Illumination Models: Ambient light, Diffuse reflection, Specular reflection and
Phong model
8.2 Intensity attenuation and Color consideration ,Transparency, Shadows
8.3 Polygon Rendering Methods : Constant intensity shading, Gouraud shading , Phong
Shading and Fast Phong Shading
Unit 9: Introduction to Virtual Reality (2 Hrs.)
9.1 Concept of Virtual reality
9.2 Virtual Reality Components of VR System, Types of VR System, 3D Position
Trackers, Navigation and Manipulation Interfaces
9.3 Application of VR
Unit 10: Introduction to OpenGL (3 Hrs.)
1.1 Introduction, Callback functions, Color commands, Drawings pixels, lines, polygons
using OpenGL, Viewing and Lighting
Laboratory Works:
The laboratory course consists of implementing following algorithms using high level languages
and OpenGL.
1. DDA Line Algorithm
2. Bresenham’s line drawing algorithm
3. Mid Point Circle Algorithm
4. Mid Point Ellipse Algorithm
5. Basic transformation on 2D including Translation, Rotation and Scaling
6. Simple 3D Object with basic transformations including Translation, Rotation and
Scaling
31
7. Clipping
8. Hidden surface removal
9. Basic Drawing Techniques in OpenGL
Text Books:
1. Donald Hearne and M. Pauline Baker, “Computer Graphics, C Versions.” Prentice Hall
Reference Books:
1. J.D. Foley, S.K. Feiner and J.F. Hughes, “Computer Graphics – Principles and Practises”
(Second Edition in C)
2. R.K. Maurya, “Computer Graphics with Virtual Reality”, Wiley India
3. F.S. Hill, Stephen M.Kelley, “Computer Graphics using Open GL” Prentice Hall
32
Statistics II
Course Title: Statistics II
Course No: STA210
Nature of Course: Theory + Lab
Semester: III
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hrs: 3
Course Description: The course consists of concepts of sampling, testing hypothesis, parametric
and non parametric tests, correlation and regression, experimental designs and stochastic
processes.
Course Objectives: The main objective of the course is to acquire the theoretical as well as
practical knowledge of estimation, testing of hypothesis, application of parametric and nonparametric statistical tests, design of experiments, multiple regression analysis, and basic concept
of stochastic process with special focus to data/problems related with computer science and
information technology
Course Contents:
Unit 1: Sampling Distribution and Estimation (6 Hrs.)
Sampling distribution; sampling distribution of mean and proportion; Central Limit Theorem;
Concept of inferential Statistics; Estimation; Methods of estimation; Properties of good
estimator; Determination of sample size; Relationship of sample size with desired level of error
Problems and illustrative examples related to computer Science and IT
Unit 2: Testing of hypothesis (8 Hrs.)
Types of statistical hypotheses; Power of the test, concept of p-value and use of p -value in
decision making, steps used in testing of hypothesis, one sample tests for mean of normal
population (for known and unknown variance), test for single proportion, test for difference
between two means and two proportions, paired sample t-test; Linkage between confidence
interval and testing of hypothesis
Problems and illustrative examples related to computer Science and IT
Unit 3: Non parametric test (8 Hrs.)
Parametric vs. non-parametric test; Needs of applying non-parametric tests; One-sample
Run test, Binomial test, Kolmogorov–Smirnov test; Two independent sample test: Median
Kolmogorov-Smirnov test, Wilcoxon Mann Whitney test, Chi-square test; Paired-sample
Wilcoxon signed rank test; Cochran’s Q test; Friedman two way analysis of variance
Kruskal Wallis test
test:
test,
test:
test;
Problems and illustrative examples related to computer Science and IT
Unit 4: Multiple correlation and regression (6 Hrs.)
Multiple and partial correlation; Introduction of multiple linear regression; Hypothesis testing of
multiple regression; Test of significance of regression; Test of individual regression coefficient;
Model adequacy tests
33
Problems and illustrative examples related to computer Science and IT
Unit 5: Design of experiment (10 Hrs.)
Experimental design; Basic principles of experimental designs; Completely Randomized Design
(CRD); Randomized Block Design (RBD); ANOVA table, Efficiency of RBD relative to CRD,
Estimations of missing value (one observation only), Advantages and disadvantages; Latin
Square Design (LSD): Statistical analysis of m × m LSD for one observation per experimental
unit, ANOVA table, Estimation of missing value in LSD (one observation only), Efficiency of
LSD relative to RBD, Advantage and disadvantages.
Problems and illustrative examples related to computer Science and IT
Unit 6: Stochastic Process (7 Hrs.)
Definition and classification; Markov Process: Markov chain, Matrix approach, Steady- State
distribution; Counting process: Binomial process, Poisson process; Simulation of stochastic
process; Queuing system: Main component of queuing system, Little’s law; Bernoulli single
server queuing process: system with limited capacity; M/M/1 system: Evaluating the system
performance.
Laboratory Works:
The laboratory work includes implementing concepts of statistics using statistical software tools
such as SPSS, STATA etc.
S. No.
Practical problems
No. of
practical
problems
1
1
Sampling distribution, random number generation, and computation of
sample size
2
Methods of estimation (including interval estimation)
1
3
3
4
5
Parametric tests (covering most of the tests)
Non-parametric test(covering most of the tests)
Partial correlation
6
Multiple regression
1
7
Design of Experiments
3
Stochastic process
2
Total number of practical problems
15
3
1
Text Books:
1. Ronald E. Walpole, Raymond H. Myers, Sharon L. Myers, & Keying Ye(2012).
Probability & Statistics for Engineers & Scientists. 9th Ed., Printice Hall
34
2. Michael Baron (2013). Probability and Statistics for Computer Scientists. 2nd Ed., CRC
Press, Taylor & Francis Group, A Chapman & Hall Book
Reference Books:
1. Douglas C. Montgomery & George C. Runger (2003). Applied Statistics and Probability
for Engineers. 3rd Ed., John Willey and Sons, Inc.
2. Sidney Siegel, & N. John Castellan, Jr. Nonparametric Statistics for the Behavioral
Sciences, 2nd Ed., McGraw Hill International Editions.
35
Download