0% found this document useful (0 votes)
39 views15 pages

Syllabus 2 2

Uploaded by

zakia.syeed51
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views15 pages

Syllabus 2 2

Uploaded by

zakia.syeed51
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Dept.

of Computer Science and Engineering


Jahangirnagar University
Syllabus for B.Sc. (Hons.) in Computer Science and Engineering
(Effective from 2018-19)

Detail Syllabus
of
Second Year Second Semester

Course code : CSE 250 Credit : 1.0

Title : Viva-Voce Prerequisite : None

Type : Viva-Voce Contact hours : -

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

Students Learning Outcomes

After successful completion of this course, students should be able to:


● Expose their views orally in different situations on diverse fields of Computer Science and Engineering

# Title and Descriptions

The viva-voce will be held on all the courses of second year second semester.

References

The reading materials provided by the Course Teachers for all the courses of second year second semester
Course code : STAT 251 Credit : 3.0

Title : Introduction to Probability and Statistics Prerequisite : None

Type : Theory Contact hours : 39

Rationale

The theory and methods of Statistics play an important role in all walks of life, society, medicine and industry.
They enable important understanding to be gained and informed decisions to be made, about a population by
examining only a small random sample of the members of that population. The statistical inferences about a
population are subject to uncertainty. Probability theory is the branch of mathematics that deals with modelling
uncertainty, and so to understand statistics, we must understand uncertainty, and hence understand probability. It is
important because of its direct application in areas such as genetics, finance and telecommunications. It also forms
the fundamental basis for many other areas in the mathematical sciences including statistics, modern optimisation
methods and risk modelling.

Course Objectives

● Basic idea about probability and probability distribution.

● Application of probability and probability distribution in real life example.

● Find the different characteristics of probability distribution.

● Understand the basic concept of sampling and gather knowledge about how to apply different sampling
techniques in any sample.

● Introduce the basic data summary techniques, their presentations and interpretation, concept of randomness and
how to make inference under these conditions.

Students Learning Outcomes

After successful completion of this course, students should be able to:

● Identify the role of probability and probability distribution and calculate and interpret probability of any given
event.

● Understand underlying concept of random variable and their usage and laws of probability and the use of
Bayes theorem and formulate the concept of a statistical distribution.

● Be able to calculate the distribution of a function of a random variable and to use probability distribution in
different practical situation and as well as find different properties of the distribution.

● Use and extend knowledge of statistical inference techniques and their applications in real -life situations.

Course Description

# Title and Descriptions


1 Introduction to Statistics and Data Description

Field of Statistics, Data, Graphical Presentation of Data, Numerical Description of Data: Measures of Central
Tendency, Measures of Variation, Correlation and Regression Analysis.

2 Introduction to Probability

Review of set, Experiments and Sample Spaces, Events, Probability Definition and Assignment, Tree Diagram,
Multiplication Principe, Conditional probability, total probability, and Bayes’ Theorem and its Application to
Engineering problems. One-Dimensional Random Variable and its Function. Distribution function, Discrete
Random Variable, Continuous Random Variables, Chebyshev’s Inequality.

3 Joint Probability Distributions

Joint Distribution for Two-Dimensional Random Variables, Marginal Distributions, Conditional Distributions,
Conditional Expectation, Regression of the Mean, Independence of Random Variables, Covariance and
Correlation, the Distribution Function of Two-Dimensional Random Variables, Functions of two Random
Variables.

4 Discrete and Continuous Distribution

Bernoulli Trials and the Bernoulli Distribution, Binomial Distribution, Mean and Variance of the Binomial
Distribution, Application of the Binomial Distribution, the Geometric Distribution, Development from a
Poisson, process, Mean and Variance of the Poisson Distribution.

Continuous Distributions: Uniform Distribution, Mean and Variance of the Uniform Distribution,
Distribution, Mean and variance of the Uniform Distribution, Distribution, Mean and Variance of the
Exponential Distribution , The Gamma Distribution, The Weibull, Relay.

5 Recurrent problems; Manipulation of sums; Number theory; Special numbers; Generating functions.

Recursive definition and structural induction, state machines and invariants, recurrences; generating functions.

6 Discrete Probability Theory

Elementary graph theory, integer congruences, asymptotic notation and growth of functions, permutations and
combinations, counting principles, discrete probability.

7 Stochastic Processes and Queueing

Discrete-Time Markov Chains, Classification of States and Chains Continuous-Time Markov Chains, The Birth-
Death Process in Queueing. Considerations in Queueing Models, Basic Single-Server Model with Constant
Rates, Single Server with Limited Queue Length, Multiple Servers with an Unlimited Queue, Other Queueing
Models.

Recommended Books

Probability and statistics in William W Hines, Douglas C Montgomery, John Wiley


1. 2008
engineering David M Goldman Connie M Borror 4th & Sons
Comprehensive mathematics Guerino Mazzola, Gérard Milmeister and, Springer
2. 1st 2006
for computer scientists Jody Weissmann
Probability and Statistics
with Reliability, Queuing
3. Kishor S. Trivedi 2nd Wiley 2001
and Computer Science
Applications

Course code : CSE-253 Credit : 3.0

Title : Digital Logic Design Prerequisite : N/A

Type : Theory Contact hours : 39

Rationale
● Digital logic is the representation of signals and sequences of a digital circuit through numbers. It is used to create
circuits and logic gates, as well as to check computer chips. It is the basis for digital computing and provides a
fundamental understanding on how circuits and hardware communicate within a computer. Knowledge of digital
logic lends itself to many different computer technology design and engineering professions.
● Digital logic design techniques form the basis of all digital integrated circuits. Understanding the methods and
components are critical both to hardware designers but also software developers who will utilize these hardware
components. It is important to know the principles of digital information representation and presents the common
components and design methodologies needed to design more advanced systems.

Course Objectives

● Introduce the concept of digital and binary systems.

● Introduce the principles and methodology of digital logic design at the gate and switch level, including both
combinational and sequential logic elements.

● Discuss the manipulation and design combination of operators to form higher level functions (multiplexer,
counter) and memory element (flip-flop).

Students Learning Outcomes


● After successful completion of this course, students should be able to:
● Represent numbers and perform arithmetic in bases 2, 8, 10, and 16.
● Encode symbols and numbers in binary codes.
● Add and subtract using 2’s complement code.
● Evaluate and simplify logical functions using Boolean algebra.
● Represent logical functions in Canonical form.
● Analyze and design combinatorial circuits.
● Simplify combinatorial circuits using Karnaugh maps.
● Implement functions with NAND-NAND and NOR-NOR logic.
● Analyze and design modular combinatorial logic circuits containing decoders, multiplexers, demultiplexers, 7-
segments display decoders and adders.
● Use the concepts of state and state transition for analysis and design of sequential circuits.
● Use the functionality of flip-flops for analysis and design of sequential circuits.
● Introduce computational problem-solving technique.

# Title and Descriptions

Introduction
1
Binary digits, logical levels, digital waveforms and timing diagram.

Number System
2 Binary, octal & hexadecimal; Addition, subtraction, multiplication and division; Codes: BCD, gray codes;
error detecting codes and error correcting codes.

Logic Circuits
3 Gates; Boolean Algebra; De Morgan’s theorem; Sum of products and product of sums; Mapping
technique; Karnaughmap; Minimization of logic circuits.

Combinational Circuits
4 Half and full Adders, Subtractor, Encoders and decoders; Comparators; Parity generator; Multiplexers;
Demultiplexers.

Sequential Circuits
5 S-R, J-K, D and T Flip-flops and Latches; Register; Asynchronous and synchronous counter, Counter
applications, Memory.

Converters
6
Analog to Digital (A/D) and Digital to Analog (D/A) conversion techniques.

Recommended Books

1. Digital Fundamentals, PHI, 2006. Thomas L. Floyd Prentice Hall 2010

Logic and Computer Design


2. Mano and Kime 4th Prentice Hall 2008
Fundamentals

Digital Systems, Pearson R. J. Tocci, N. S. Widmer and G. L.


3. 5th Prentice Hall 2010
. Moss

Course code : CSE-254 Credit : 1

Title : Digital Logic Design Laboratory Prerequisite : N/A


Type : Laboratory Work Contact hours : [26/52]

Rationale

● This

Course Objectives
● Introduce the fundamentals of digital logic design through the use of a large number of design problems.

● Describe the relationship between abstract logic characterizations and practical electrical implementations.

Students Learning Outcomes


● After successful completion of this course, students should be able to:
● Understand the basic software tools for the design and implementation of digital circuits and systems.
● Analyze the operation of a flip-flop and examine relevant timing diagrams.
● Analyze the operation of counters and shift registers.
● Design and operate practical digital logic circuits.
● Familiarize with fundamental principles of digital design.
● Design classical hardware design for both combinational and sequential logic circuits.

Lab Course Description

Exp. # Title
1 Verification of basic logic gates. Verify the universality of NAND and NOR gates.
2 Verification of Boolean laws and rules. Implementation of some Boolean expressions.
3 Implementing Boolean expression using only NAND or NOR gates
4 Design and implementation of half adder and full adder circuits.
5 Design and implementation of decoder and encoder circuits.
6 Design and implementation of comparator and code converter circuits.
7 Design and implementation of multiplexer and demultiplexer circuits.
8 Design and implementation of flip-flop circuits
9 Design and implementation of asynchronous and synchronous counter circuits
10 Design and implementation of shift register circuits

Hardware and Software Requirements

H/W Requirements S/W Requirements


Digital Logic Design Trainer Board VHDL

Course code : CSE-255 Credit : 3.0

Title : Database Systems Prerequisite :

Type : Theory Contact hours : 39

Course Objectives
● To provide general concepts of database management systems.
● To give basic knowledge of designing a database.
● To introduce students with database security.
● To prepare students for facing future challenges of database.

Students Learning Outcomes


At the end of the course the students will be able to
● Learn primary concept of database systems.
● Analyze and Design data model.
● Implement database in MySQL/Oracle etc.
● Get fundamental concept of views and authorization.
● Get some basic concepts of advanced databases.

Course Description

# Descriptions
1 Introduction
Database system concept; Purpose of database system; View of data; Data models; Conventional file processing;
Transaction management; Storage management; Database administrator.
2 Database Model
Entity-relationship model; Relational model, Network model; Hierarchical model, Database languages,
Relational algebra, Integrity constraint, Generalization and Specialization, Developing an ER Diagram.
3 Structured Query Language
Basic Structure of SQL, String operations, Different set operations, Aggregate functions, Handling NULL
values, Nested Subqueries, View definition, Modification of the Database: Deletion, Insertion and Update
operations, Domain Types in SQL, Alteration of Table Structure.
4 Database Design
Functional dependencies and normal forms; Object-oriented databases; Distributed database; multimedia
database, object-relational database, Intelligent database.
5 File System Structure & Data Warehouse
File organization and retrieval; File indexing; Hashing. Basic concepts of data warehouse and data mart.
6 Transactions
Introduction to transaction, ACID Properties, Transaction State, Schedule, Conflict Serializability and View
Serializability.
7 OLTP and NoSQL Systems
Basic Concepts of OLAP, Comparison between OLAP and OLTP, Introduction to NoSQL Systems.

Recommended Books
1. Database System Concepts Abraham Silberschatz Professor, 6th McGraw-Hill
Henry F. Korth , S. Sudarshan Education
2. Database Systems: Introduction to Databases Nenad Jukic, Susan Vrbsky , Svetlozar 1st Prospect
and Data Warehouses Nestorov Press
3. Jump Start MySQL: Master the Database That Timothy Boronczyk 1st SitePoint
Powers the Web
4. Oracle Database 12c Hands-On SQL and Satish Asnani (Author) 2nd Prentice-Hall
PL/SQL

Course code : CSE-256 Credit : 1


Title : Database Systems Laboratory Prerequisite : [Prerequisite]

Type : Laboratory Work Contact hours : 26

Lab Objectives
● To train students to use DBMSs (e.g., MySQL, Oracle, etc.)
● To give practical experience in retrieving information from a database system efficiently and effectively.
● To develop ability to design, develop/create, and manipulate a relational database using a DBMS.

Lab Outcome
At the end of the course the students will be able to:
▪ Design and implement a database schema and populate the database.
▪ Formulate queries using SQL statements/commands..
▪ Familiarize with the concepts of database technologies.

Lab Course Description


Exp. # Title
1 Working with database designing tools (e.g. for E-R diagram drawing.).
2 Setting up a DBMS (MySQL).
3 Creating and populating a database.
4 Retrieving and updating data/information from and to a database.
5 Working with multiple tables in a database.
6 Connection to and Programming (front end and Back end) a database with PHP (also optionally with
other tools.).
7 Performing Database Backup and replication.
8 Case studies – Database Design-I
9 Case studies – Database Design-II
10 Case studies – Database Design-Normalization
11 Case studies – Database Design-BCNF
12 Case studies – Database Security
13 Case studies – Database Security
14 Case studies – Database Design- RAID
15 Case studies – Working with Multiple Databases
16 Case studies – Working with Multiple Databases
17 Working with Oracle.
18 Working with MS Access/ any other DBMSs.

Hardware and Software Requirements


H/W Requirements S/W Requirements

Computers, etc. DMBSs(e.g. MySQL/Oracle/MS Access etc.)

Course code : CSE-257 Credit : 3.0

Title : Algorithms II Prerequisite : C/C++/Java,


Data Structures

Type : Theory Contact hours : 39

Course Objectives

Upon completion of this course, students will be able to do the following:


● Analyze the asymptotic performance of algorithms.
● Write rigorous correctness proofs for algorithms.
● Demonstrate a familiarity with major algorithms and data structures.
● Apply important algorithmic design paradigms and methods of analysis.
● Synthesize efficient algorithms in common engineering design situations.

Students Learning Outcomes

After successful completion of this course, students should be able to:


● Argue the correctness of algorithms using inductive proofs and invariants.
● Analyze worst-case running times of algorithms using asymptotic analysis.
● Describe the advanced divide-and-conquer paradigm and explain when an algorithmic design situation calls
for it. Derive and solve recurrences describing the performance of divide-and-conquer algorithms.
● Describe the advanced dynamic-programming paradigm and explain when an algorithmic design situation
calls for it and analyze them.
● Explain the advanced graph algorithms and their analyses. Employ graphs to model engineering problems,
when appropriate.
● Compare between different data structures. Pick an appropriate data structure for a design situation.

# Title and Descriptions

1 Algorithmic Thinking Overview

Statistics: Mean, Median, Variance, Correlation; Probability:Independent event, Mutually Exclusive Event,
Not mutually exclusive events, Conditional Probability, Inverse Probability, Expected Value

2 Branch and Bound

Analyzing Algorithms, Asymptotic notation, functions and running times, Amortized Analysis

3 Advanced Divide and Conquer

Property, Recurrence ,Solving Recurrence: Subtitution Method, Master Method,Recursion Tree Method,
Proof of Master Method; Strassen’s Matrix Multiplication; FFT and DFT; Matrix Exponentiation

4 Advanced Dynamic Programming

Property, Problems: Edit Distance, Subset Sum, Matrix Chain Multiplication, Optimal Binary Search Tree

5 Advanced Data Structures

Sparse Table; Segment Tree, Trie, Lowest Common Ancestor, Splay Tree, Red Black Tree

6 Network Flow and Matching

SCC, Articulation Point and Bridge using (Tarjan algorithm), Flow networks, Ford-Fulkerson method, Max
Flow Min Cut Problem, Dinic’s Algorithm, Maximum Bipartite Matching, Stable Marriage Problem, Weighted
Bipartite Matching, Min Cost Max Flow, The naïve string matching algorithm, String Matching with Finite
Automata, The Knuth-Morris-Pratt algorithm; The naïve string matching algorithm, String Matching with
Finite Automata, The Knuth-Morris-Pratt algorithm

7 Hashing and others

Direct-address tables, Hash tables, Hash functions, Open addressing; Computational Geometry: Line-segment
property and operations, Convex Hull; Game Theory: Nim, Poker Nim, Hackenbush, Approximation
algorithms, The Travelling Salesman Problem, The vertex-cover problem, The set-cover problem; P, NP, NP-
hard, NP-Complete Problems

Recommended Books
Thomas H. Cormen,
Introduction to Algorithms Charles E. Leiserson, The MIT
1. 3rd Edition ●
Ronald L. Rivest, Press
Clifford Stein

The MIT
2. Algorithms Unlocked Thomas H. Cormen 1st Edition ●
Press

Introduction to the Design and


3. Anany Levitin 3rd Edition Pearson
Analysis of Algorithms

Course code : CSE-258 Credit : 1

Title : Algorithms-II Laboratory Prerequisite : C / C++ / Java

Type : Laboratory Work Contact hours : 26

Lab Objectives

Upon completion of this course, students will be able to do the following:


● Analyze the asymptotic performance of algorithms.
● Demonstrate a familiarity with major algorithms and data structures.
● Apply important algorithmic design paradigms and methods of analysis.
● Synthesize efficient algorithms in common engineering design situations.

Lab Outcome

After successful completion of this course, students should be able to:


● Analyze worst-case running times of algorithms using asymptotic analysis.
● Implement the advanced divide-and-conquer paradigm and explain when an algorithmic design situation
calls for it. Derive and solve recurrences describing the performance of divide-and-conquer algorithms.
● Implement the advanced dynamic-programming paradigm and explain when an algorithmic design
situation calls for it and analyze them.
● Implement and compare between different data structures. Pick an appropriate data structure for a design
situation.
● Implement the advanced graph algorithms and their analyses. Employ graphs to model engineering
problems, when appropriate.

Exp. # Title and Description


1 Computational complexity
2 Strassen’s Matrix Multiplication, Exponentiation and Chain Multiplication
3 Multiplication using FFT.
4 Edit Distance and Subset Sum
5 Offline RMQ problem
6 Dictionary search using TRIE
7 Lowest Common Ancestor
8 Splay Tree
9 Self-Balancing Binary Search Tree Red Black Tree
10 SCC, Articulation point and Bridge detection using Tarjan algorithm
11 Ford-Fulkerson Algorithm, Maximum Bipartite Matching and Stable Marriage Problem
12 Dinic’s Algorithm
13 Weighted Bipartite Matching
14 Knuth-Morris-Pratt algorithm String matching algorithm
15 Hashing for string matching
16 Convex Hull
17 Nim and its variations

Hardware and Software Requirements

H/W Requirements S/W Requirements

Intel® Pentium® 4 Processor 1.60 GHz, 256K Cache, Code Blocks / InteliJ / Net beans / Eclipse
400 MHz FSB / updated computers

Course code : CSE-259 Credit : 3.0

Title : Data and Telecommunication Prerequisite :

Type : Theory Contact hours : 39

Rationale

Data communication, which is the transmission of digital data through a network or to a device external to the
sending device, is the cornerstone of modern telecommunications. Data communication networks can affect
businesses by being the foundations for distributed systems in which information system applications are divided
among a network of computers. Data communication networks facilitate more efficient use of computers and
improve the day-to-day control of a business by providing faster information flow.
Course Objectives
● Introduce the concept of data communication.
● Introduce the digital and analogue representations and channels.
● Describe the notion of Information and their transmission behavior over the communication channel.
● Introduce digital signal transmission and encoding techniques.

Students Learning Outcomes


● After successful completion of this course, students should be able to:
● Understand the fundamental concepts of data communications and networking
● Identify different components and their respective roles in a data communication system.
● Apply the knowledge, concepts and terms related to data communication and networking.
● Explain the role of line codes in a data communications network.
● Describe the features and functions of multiplexing and modulation.

# Title and Descriptions

Information and Communication Channel

1. Basics on Probability, Information Theory, Hartley’s and Shannon theorem on information, Self-
information, Types of communication channel, Analog and digital communication, Digital signal
nomenclature.

Pulse Code Modulation and Companding


2.
Analog to digital conversion, Sampling of continuous signal, Quantization of sampled signal, Pulse code
modulation, Companding principle and laws.

Pulse Modulation Techniques


3.
Pulse amplitude modulation (PAM), Pulse width modulation (PWM), Pulse position modulation (PPM),
Conversion of PWM to PAM, Differential pulse code modulation (DPCM) and Delta modulation.

Line Coding
4.
Unipolar, Polar, Bipolar line coding, Nonreturn-to-zero, return-to-zero, Manchester coding (Split phase);
Scrambling technique: Bipolar with 8 Zeros Substitution (B8ZS), High Density Bipolar 3 zeros (HDB3).

Multiplexing techniques

5. Frequency-division multiple access (FDMA), Time-division multiple access (TDMA), Code-division


multiple access (CDMA); Digital modulation techniques: Frequency shift keying (FSK), Phase shift
keying (PSK)

Data link layer


6.
Framing: byte stuffing, bit stuffing; Error control: Automatic repeat request (ARQ); Flow control: Stop
and wait protocol, Sliding window protocol.
ATM and Frame Relay

Asynchronous transfer mode (ATM) multiplexing, Architecture of ATM network, Virtual connection,
7.
ATM switching, ATM protocol hierarchy, ATM cell format; X.25 Overview, X.25 layers, X.25 call setup,
Frame relay: Frame relay devices, Frame relay layers, Address formats, Comparison of X.25 and frame
relay.

Recommended Books

Title Authors Edition Publisher Year of


Publication

1. Data Communication and B. Forouzan 5th Edition McGraw-Hill 2012


Networking

2. Data and Computer W. Stallings 10th Edition Prentice Hall


Communication

3. Data Communications P. C. Gupta Prentice Hall of


India

4. Communication Systems S. Haykin LPE

Course code : CSE-260 Credit : 1

Title : Data and Telecommunication Prerequisite : Basic MATLAB Programming


Laboratory

Type : Laboratory Work Contact hours : 26

Rationale
● Data communication, which is the transmission of digital data through a network or to a device external to the sending
device, is the cornerstone of modern telecommunications. Data communication networks can affect businesses by
being the foundations for distributed systems in which information system applications are divided among a network
of computers. Data communication networks facilitate more efficient use of computers and improve the day-to-day
control of a business by providing faster information flow.

Lab Objectives

To understand the differences between analog and digital communication, the importance of modulation and
techniques and noises.

Lab Outcome
● After successful completion of this course, students should be able to:
After completion of the course, a student gets clear understanding of digital communication. He is also able to grasp
the necessity of different techniques for meaningful data transmission.

Exp. # Title Contact Hours


1 AM and FM modulation and demodulation 3
2 Verification of Gibb’s phenomenon using rectangular and saw tooth wave 3
3 Quantization technique of an analog signal 3
4 Simulation of binary data communication 3
5 Signal modulation technique: a. Data modulation b. Analog modulation 3
6 Differential pulse code modulation and Delta modulation 3
7 Huffman coding 3
8 Simulation of a digital communication system 3
9 SNR of a communication channel 3

Hardware and Software Requirements

H/W Requirements S/W Requirements

Computer systems with i-core processors and 8GB Matlab


RAMs.

You might also like