Dept. of Computer Science and Engineering: Viva-Voce
Dept. of Computer Science and Engineering: Viva-Voce
Detail Syllabus
Of
Third Year First Semester
Rationale
Viva-Voce is used to measure and evaluate the students through oral examination on their previous taught/learned
courses so that students have ability to face viva-board confidently in their professional life.
Course Objectives
Measure and evaluate the students through oral examination on their previous taught/learned courses
● Expose their views orally in different situations on diverse fields of Computer Science and Engineering
Course Description
The viva-voce will be held on all the courses of third year first semester.
References
The reading materials provided by the Course Teachers for all the courses of third year first semester.
Course code : ECO 301 Credit : 3.0
Rationale
● Understanding principles of economics has immense importance for scientific solution of the problems of resource
allocation. By conducting this course students will be acquainted with a thorough grounding in the basic principles
of economics and an exposure to a range of applications of the theory in real world problems.
Course Objectives
The learning objective of this course is to provide a self-contained introduction to economics principles, develop an
understanding of fundamental concepts in micro and macroeconomic analysis, understating cryptocurrency and
equip students with a range of appropriate analytical skills including descriptive and graphical methods for solving
real world problems.
1. Introduction
Definition of economics; nature and scope of economics; micro versus macroeconomics; economic good
versus free good.
Concepts of demand and supply; law of demand and supply; determinants of demand and supply; movement
along demand and supply curves; shifting of demand and supply curves; market demand curve; market
equilibrium; shift of equilibrium; consumers’ surplus and producers’ surplus.
Factors of production; production function; total, average and marginal products; stages of production; law of
diminishing return; returns to scale; isoquant, isocost line and producers’ equilibrium. Concept of cost; Short-
run and long-run cost; Fixed and variable cost; Total, average and marginal cost; Shape of and inter-
relationship between different types of cost curves; Concept of – total, average and marginal revenue.
GNP, GDP, NNP, NI; circular flow of income; inflation; unemployment; business cycle; fiscal policy;
monetary policy.
Concept of firm and industry; measuring the size of firms: small, medium and large scale firms; concept of
optimum firm; input-output analysis of inter-industry relation, study of major industrial countries:
background, effects, current economic situation; industrialization in Bangladesh; government measurement;
Types of pollutant; sources of pollution; pollution heaven hypothesis; scope of environmental damage;
damage function; environmental quality; sustainable development; risk analysis; pollution reduction versus
Definition; types of resources; relation between economics and ecology; categories of resources on the basis
of degree of economic importance and discovery; theory of optimal harvest of renewable resources; forest
and energy resource of Bangladesh; Concepts of environmental economics; Material Balance Model; role of
economics in environmental managements; cost-benefit analysis in environmental decision making.
7. Cryptocurrency
Recommended Books
3. CRYPTOCURRENCY: The Complete Basics Guide For Michael Horsley 1st CreateSpace 2017
Beginners. Bitcoin, Ethereum, Litecoin and Altcoins, Independent
Trading and Investing, Mining, Secure and Storing, ICO Publishing
and Future of Blockchain and Cryptocurrencies Platform
4. Mastering Bitcoin: Programming the Open Blockchain Andreas M. 2nd O'Reilly Media 2017
Antonopoulos
Course code : CSE 303 Credit : 3.0
Rationale
Computer graphics is one of the most exciting and rapidly growing computer fields and has many applications,
including user interfaces, data visualization, computer-aided design, motion pictures and image processing. This
unit concentrates on fundamentals of computer graphics and addresses the knowledge and skills in computer
graphics development which are essential for computing professionals.
Course Objectives
The goal of this course is to provide an introduction to the theory and practice of computer graphics and data
visualization. The course will assume a good background in programming in C or C++ and a background in
mathematics including familiarity with the theory and use of coordinate geometry and of linear algebra such as
matrix multiplication. There is a choice of both breadth and depth in the intertwined topics of graphic,
computational geometry, geometric modeling and data visualization.
● Understand fundamental theories and algorithms in computer graphics such as geometric projections and
transformations, view and projection models, and different lightning models and algorithms for rendering
polygon-based objects
● Derive and apply geometric view and projection models and transformations of homogeneous coordinates in
computer graphics
● Derive and apply basic rendering techniques and algorithms in polygon-oriented computer graphics such as
lightning models, line and polygon cutting algorithms
● Describe and relate various visual effects such as antialiasing, texture mapping.
1. Graphics Overview
Display devices, Raster refresh graphics display, use of frame buffer and look-up table. Device coordinate,
normalized device coordinate and world coordinate system
2. Graphic I-O Devices and Scan Conversion
Raster scan graphics: Bresenham’s line and circle generation algorithms, character generation, half-toning,
antialiasing, Random scan displays, raster refresh graphics displays, interactive devices, logical functioning
of graphic I-O devices, output devices. Scan-conversion of a point, a line, a circle, an ellipse, arcs and
sectors, a polygon, a character, region fillings, aliasing effects, anti-aliasing, image compression, recursively
defined drawings.
Overview of tools and techniques of graphics programming using OpenGL, MATLAB, C/C++, JAVA. The
nature of computer animation, simulation, kinematics, parametrics, dynamics, metamorphosis, displacement,
animation, problems in animation, techniques of animation.
The pinhole camera, recursive ray-tracer, parametric vector representation of a ray, ray-surface intersection,
execution efficiency, anti-aliasing, additional visual effects. Simple geometric forms, wireframe models,
curved surfaces, curve design, polynomial basis functions, the problem of interpolation and approximation,
curved surface design, transforming curves and surfaces, quadratic surfaces, terrain generation, fractal
geometry methods
6. Hidden Surface
Depth comparisons, Z-buffer algorithm, back-face removal, the Painter’s algorithm, scan-line algorithm,
subdivision algorithm, hidden-line elimination, rendering of mathematical surfaces, Warnock’s algorithm,
Weiler-Atherton algorithm.
Light models, shading, interpolation techniques: constant, Gouraud and Phog, ray tracing, computer
ergonomics, information structure, introduction to graphics kernel system.
Recommended Books
1. Interactive Computer Graphics Ed. Angel, Dave Shreiner 7th Pearson 2014
3. Schaum's Outline of Computer Zhigang Xian, Roy A. 2nd The McGraw-Hill 2015
Graphics Plastock Companies
4. Computer Graphics: Theory and Zhigang Xian 1st CreateSpace Independent 2018
Practice with OpenGL
Rationale
Computer graphics is one of the most exciting and rapidly growing computer fields and has many applications,
including user interfaces, data visualization, computer-aided design, motion pictures and image processing. This
unit concentrates on the hands on experience of the fundamentals of computer graphics which are essential for
computing professionals.
Lab Objectives
Lab Outcome
8. Curve generation 3
9. Image Editing and Manipulation – Basic Operations on image using any image editing 2
software, Creating gif animated images, Image optimization.
Standalone desktops – 30 Nos. or Server supporting 30 C, C++, Java, OpenGL, LuxRender, 3ds Max, Blender,
terminals or more, 2GB HDD or greater, 4GB of RAM Carrara, Cinema 4D, DAZ Studio, Maya, Poser,
for animation SketchUp, XSI, Microsoft windows 8/10(64/32 bit)
Adobe Flash Professional version 6
Rationale
Computational Geometry rests on a solid foundation built in the last three decades, which has given the community
a firm grasp of the fundamental issues arising in questions of visibility, proximity, intersection, and
multidimensional searching, as well as shape analysis, reconstruction, and modeling. This unit concentrates on the
fundamental solutions requiring meeting a number of challenges, including how to reason about shapes at different
levels of resolution and how to cope with high dimensions.
Course Objectives
▪ The primary goal is to develop algorithms and data structures for solving problems stated in terms of basic
geometrical objects: points, line segments, polygons, polyhedra etc. This course will introduce basic tools and
algorithms and address fundamental problems such as convex hulls, polygon triangulation, range search, Voronoi
diagrams, Delaunay triangulations etc.
1. Geometric Fundamentals
Introduction, Algorithm and complexity of fundamental geometric objects, geometric data structures,
Geometric Preliminaries, mathematical models of computation and lower bounds.
Point-location, Orthogonal Range Searching, interval and segment trees, data structures for nearest
neighbors, range searching, multi-dimensional search trees(k-d trees).
3. Convex Hulls
Preliminaries, Problem Statement and Lower Bounds, Convex Hull Algorithms in the Plane, Graham's Scan,
Jarvis's March, QUICKHULL techniques, Dynamic Convex Hull, Convex Hull in 3D
4. Triangulations
Polygon triangulations and art gallery theorem, Planar Triangulations, Greedy Triangulations, Partitioning a
Polygon into Monotone Pieces, Triangulating a Monotone Polygon, Delaunay Triangulation
5. Intersections
Intersections of linear objects: two lines, two line segments, n line segments, two convex polygons, general
polygons, etc, Application Areas, Planar Applications: Intersection of Convex Polygons, Star-shaped
Polygons; 3D Applications: Intersection of 3D Convex Polyhedra; Intersection of Half-spaces
6. Linear Programming
7. Proximity Problem
A Collection of Problems, A Computational Prototype: Element Uniqueness, Lower Bounds, The Closest-
Pair Problem: A Divide-and-Conquer Approach, The Voronoi Diagram, Proximity Problems Solved by the
Voronoi Diagram
Recommended Books
3. Handbook of Discrete and Jacob E. Goodman, Joseph O'Rourke 1st CRC Press 2017
Computational Geometry
4. Discrete and Computational Satyan L. Devadoss and Joseph --- Princeton Uni. 2012
Geometry O'Rourke Press
Rationale
Computer systems play an integral role in all facets of the engineering profession. Systems users are always in need
of faster, more powerful, yet cheaper computer systems. This course provides an understanding of the processor-
level components of computer systems, their design and operation, and their impact on the overall performance of
the systems.
Course Objectives
The learning objective of this course is to provide a clear idea about computer organization and architecture:
instruction formats and construction; addressing modes; memory hierarchy (cache, main memory and secondary
memory) operation and performance; simple pipelines; basic performance analysis; simple OS functions,
particularly as they relate to hardware; virtual memory; computer I/O concepts, including interrupt and DMA
mechanisms; inter-computer communication concepts
1. Introduction
Instruction codes, formats, cycle, timing etc; Addressing modes; Types of instruction; RISC characteristics;
CISC characteristics.
2. Central Processor
Instruction Sets & Operands, Fetch-Execute Cycle, Simple Pipelining, Control Unit Operation
3. Computer Arithmetic
Different types of data representation; Addition and subtraction; Multiplication algorithms; Division
algorithms.
4. Memory Organization
Main memory; Auxiliary memory; Associative memory; Cache memory; Virtual memory; Memory
management requirements and hardware.
5. Input-Output Organization
Input-Output Interfaces; Data transfer, Interrupts; Direct Memory Access (DMA); Input-output channel.
7. Data-Level Parallelism
Recommended Books
3. Essentials of Computer Organization and Linda Null 5th Jones & Bartlett 2018
Architecture Learning
Rationale
The operating system provides an established, convenient, and efficient interface between user programs and the
bare hardware of the computer on which they run. This unit focuses on the basic operating system abstractions,
mechanisms.
Course Objectives
The goal of this course is to provide an introduction to the internal operation of modern operating systems. Besides,
the course will introduce the students to modern operating systems design. Both practical and theoretical aspects of
Operating Systems will be studied. In particular, the course will cover processes and threads, mutual exclusion,
CPU scheduling, deadlock, memory management, and file systems.
1. Overview
2. Hardware concepts
Hardware concepts related to OS, CPU states, I/O channels, memory hierarchy, microprogramming
3. Process
The concept of a process, operations on processes, process states, concurrent processes, process control block,
process context, Process control, Interrupt processing, operating system organization, OS kernel FLIH,
dispatcher. UNIX process control and management, PCB, signals, forks and pipes
4. CPU Scheduling
Problems of concurrent processes, critical sections, mutual exclusion, synchronization, deadlock, Mutual
exclusion, process co-operation, producer and consumer processes. Semaphores: definition, init, wait, signal
operations. Use of semaphores to implement mutex, process synchronization etc., implementation of
semaphores.
Principles, requirements and design of memory management system, program loading and linking. virtual
memory, page table, translation lookaside buffer, segmentation, software implementation, load control, paging
and segmentation, address mapping, virtual storage management, page replacement strategies, storage
allocation.
Direct memory access. Design issues. I/O buffering. Disk I/O. Disk cache. Example systems. File
management systems, File organization and access, file directories. Sharing of files. Record blocking.
Secondary storage management, file systems protection and security; design and implementation
methodology. Example systems.
Recommended Books
3. Operating Systems, Internal and design principles William Stallings 9th Pearson 2017
Rationale
The operating system provides an established, convenient, and efficient interface between user programs and the
bare hardware of the computer on which they run. This unit focuses on the basic operating system abstractions,
mechanisms, and their implementations.
Lab Objectives
● Learn shell programming and the use of filters in the UNIX environment.
● Be exposed to programming in C using system calls.
● Learn to use the file system related system calls.
● Be familiar with implementation of CPU Scheduling Algorithms, page replacement algorithms and Deadlock
avoidance.
Lab Outcome
After completing this Laboratory course, the students will be able to:
2. Shell programming 3
High configuration PCs equipped with required software C, C++, Java, Equivalent complier, Microsoft windows
Rationale
Web Design and Programming involve the standards for building and Rendering Web pages, including HTML,
CSS, SVG, device APIs, and other technologies for Web Applications (“WebApps). The Web Design and
Programming Lab-I curriculum is an introduction to the design, creation, and maintenance of web pages and
websites which will help the students to evaluate website quality, learn how to create and maintain quality web
pages, learn about web design standards and why they're important, and learn to create and manipulate images.
Lab Objectives
This course is an introduction to programming for the World Wide Web. We will cover all the major pieces of how
websites work. This will include the relationship between clients and servers, how web pages are constructed, and
how the internet works. We’ll examine several technologies in depth:
Lab Outcome
● Detail knowledge of the relationship between client and server and client-site and server-side programming.
● Practical knowledge of languages of HTML, CSS, Java Scripts, Ajax, and PHP/C# language
● Hands-on experience of design and development of web application.
High configuration PCs equipped with required software phpStorm and Visual Studio 2013 or later
Rationale
Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an
application, system, or business by applying object-oriented programming, as well as using visual modeling
throughout the development life cycles to foster better stakeholder communication and product quality. This unit
focuses on the basic concepts of OOAD which will help to create a model of the system's functional requirements
that is independent of implementation constraints.
Lab Objectives
After completing this Laboratory course, the students will be able to:
● Show the importance of systems analysis and design in solving complex problems.
● Show how the object-oriented approach differs from the traditional approach to systems analysis and
design.
● Construct various UML models (including use case diagrams, class diagrams, interaction diagrams, state
chart diagrams, activity diagrams, and implementation diagrams) using the appropriate notation.
● Recognize the difference between various object relationships: inheritance, association, whole-part, and
dependency relationships.
● Show the role and function of each UML model in developing object-oriented software
3. Develop an IEEE standard SRS document. Also develop risk management and project 3
plan (Gantt chart). / Preliminary Project Plan
7. Identity the conceptual classes and develop a domain model with UML Class 3
diagram.
9. Using the identified scenarios find the interaction between objects and represent them 3
using UML Interaction diagrams.
11. Identify the User Interface, Domain objects, and Technical services. Draw the partial 3
layered, logical architecture diagram with UML package diagram notation.
High configuration PCs equipped with required software Umbrello, ArgoUML, IntelliJ IDEA, IBM Rational
Rose XDE.