Information Technology - Semester II
Information Technology - Semester II
Information Technology - Semester II
School of Education
December 2022
Core Courses
Course Objectives
In this course, students will be able to:
• aware of multifarious instructional system design theories and its application.
• explore of instructional design and instructional system design model
• Design and develop instructions as per ID models
Module Outline:
Note: References regarding above-mentioned models and readings will be provided later.
Occupational Courses
ITEX 104 Database System
Course Title: Database System Course Code: 104
Semester: II
Credit Hours: 3 (2+1)
Nature of the course: T/P
1. Course Description and Goals
This course covers the fundamental concepts about database management system. The main
objective of this course is to make the learners familiar with different database systems to be
dealt with in real world scenarios. The course begins from the historical development of
database systems to its implementation in relational system and conclude with knowledge on
crash recoveries. It aims at making the learners familiar for using various database systems,
and database programming using SQL. Learners will be at least able to design a database
system required at their working place.
2. Learning Outcomes
On completion of this course, the students will be able to:
a) understand the basic concepts of database management system.
b) design a simple database system and normalize it
c) use SQL programming language to design queries
d) understand and plan recovery mechanism in case of failure
3. Content with specific objectives
Specific objectives Contents
Unit One: Introduction to DBMS (5 Hrs.)
1. understand the idea of DBMS 1. Concepts of DBMS
2. gather idea of different 2. Application of DBMS
databases in modern market 3. Historical development of database systems (File
3. understand the development of system, Hierarchical, Network, Relational)
database systems 4. Database Architecture
4. understand the concept of 5. Data Abstraction
abstraction, independence 6. Data Independence
5. understand the idea of schema 7. Schema and Instances
and instances and implement
in real life example
1. Understand the concept of Unit Two: Data Modelling (7 hrs.)
entity-relationship model 1. Logical, Physical and Conceptual
2. E-R model
2. implement the ideas of entities, 3. Entities, keys, attributes, relationship
keys, attributes in real life 4. Constraints
examples 5. E-R diagram practices
3. understand constraints and
implement in real example
4. to be able to design ER
diagrams in real world scenario
1. Understand the concept and use Unit Three: SQL (7 hrs.)
of SQL 1. Introduction to SQL
2. categorize DDL, DML, DCL 2. Basic structure of queries
and implement with examples 3. DDL, DML, DCL
3. implement aggregate functions 4. Set Operations
4. understand and implement 5. Aggregate Functions – GROUP BY, HAVING
nested subqueries etc.
5. understand the concept of 6. Nested Subqueries
different types of views 7. Relations (Joined, derived)
8. Views
1. Understand the concept of Unit Four: Relational Algebra and Calculus (7 hrs.)
relational algebra 1. Introduction to Relational Algebra
2. understand the concept of 2. Selection and Projection
relational calculus 3. Set Operations
3. understand various operations 4. Renaming
and functions in relational 5. Joins, Division
algebra 6. Introduction to Relational Calculus
4. understand various activities 7. Tuple Relational Calculus
withing the relational calculus 8. Domain Relational Calculus
domain 9. Calculus vs Algebra
1. understand the concept of Unit Five: Normalization (6 hrs.)
normalization 1. Introduction to Normalization, importance
2. understand the concept of 2. Non loss decomposition
decomposition 3. Functional Dependencies
3. understand and implement the 4. 1NF,2NF,3NF, BCNF, DKNF,
concept of functional 5. Features of a good relational database design
dependencies
4. normalize to different extent for
real world scenarios 1NF, 2NF,
3NF, BCNF, etc
1. understand the concept and Unit Six: Hashing and Indexing (6 hrs.)
importance of hashing and 1. Basic Concepts
indexing 2. Ordered Indices
2. understand various types of 3. B+ Tree, B_ Tree Indexing
hashing techniques 4. Static Hashing, Dynamic Hashing
3. understand various types of 5. Comparison of Ordered Indexing and Hashing
indexing techniques
1. understand the concept of Unit Seven: Transaction Management and
transaction Concurrency Control (5 hrs.)
2. define and understand ACID 1. ACID properties
properties 2. Concurrent Executions
3. understand serializability 3. Serializability, recoverability
4. understand the concept of 4. Lock-based Protocols (2PL, Deadlocks)
deadlock and its prevention 5. Timestamp Based Protocols
5. understand lock-based and
timestamp-based protocols
1. understand the concept of Unit Eight: Crash Recovery (5 hrs.)
crashing 1. Failure Classification
2. classify different types of 2. Recovery and Atomicity
failures 3. Log-based Recovery
3. understand various process of 4. Advance Recovery System, Remote Backup
recovery systems
9. Major Teaching and Learning Strategy
The course is designed to be implemented both theoretically and practically. Learners and
facilitators both should be involved in classroom activities. Practical demonstration of
SQL queries should be done, and students' knowledge should be assessed on timely basis.
Group discussions and participation in group is recommended mostly for depth
understanding of the subject matter. Facilitator is responsible for developing classroom
materials required for teaching-learning process, use of multimedia is recommended as
visuals/images would prove more fruitful for student involvements. Facilitator should
atleast demonstrate the use of MySQL/ MongoDB or any other database that are most
popular in the software market.
10. Assessment Plan
a. In-semester
b. End-semester
11. References
2. Learning Outcomes
On completion of this course, the students will be able to:
e) understand the basics and principles of digital circuitry
f) identify and understand various digital components and hardware in circuit design
g) explain the implementation and functions of various components like registers, flip
flops, counters
h) explore the design and development of other complex circuits by self-study
3. Content with specific objectives
Specific objectives Contents
Unit One: Introduction (6 hrs.)
6. Explain the basic difference 1. Digital Signals, Digital Waveforms
between digital and analog 2. Digital Logic, Digital Operations
quantities 3. Digital IC, Computers
7. Show how voltage levels are 4. Clock Waveforms
used to represent digital 5. Number Systems and conversions
quantities 6. Binary arithmetic
8. Understand various parameters 7. Different types of Coding (ASCII, BCD, Gray
of a pulse waveform like rise code, Excess 3 Code)
time, fall time, pulse width,
frequency, period, duty cycle
9. Understand number system
concepts, use and conversion
10. determine 1's and 2's
complement of a binary
number
11. apply arithmetic operations to
binary numbers
12. Understand various coding
ideas
1. Differentiate between latch and Unit Four: Counter and Registers (13 hrs)
flip-flop 1. Flip flops: RS, JK, JK master-slave, D & T flip
2. Differentiate between level flops (level trigger, edge trigger, excitation table)
triggering and edge triggering 2. Synchronous and Asynchronous Counters
with their features 3. Ripple Counter
3. Explain RS, JK, JK master- 4. Ring Counter
slave, D&T flip-flops with 5. Modulus Counter
their logic diagram, graphical 6. Decade Counter
symbol, characteristics table, 7. A digital Clock
excitation table 8. Types of Registers
4. How SISO, SIPO, PISO and 9. Serial in Parallel Out
PIPO shift registers operate 10. Serial in Serial Out
5. Explain ripple counter with 11. Parallel in Parallel Out
circuit, state, and timing 12. Parallel in Series Out
diagram 13. Shift Registers
6. explain ring counter with
circuit, state, and timing
diagram
7. Explain modulus counter with
circuit and state diagram
1. define finite state machine Unit Five: Sequential Circuits and design (7 hrs.)
with examples 1. Concept of state, state diagram
2. explain Mealy and Moore 2. Transition Tables, redundant states
models of finite state machines 3. Using flip flops to realize the synchronous
3. describe state, state diagram models
and state table of sequential 4. Asynchronous Sequential Circuits concepts and
circuit design
4. understand and describe the
design procedure of sequential
machines
5. use the flip flops to realize the
synchronous machines
6. understand the basics of
asynchronous sequential
circuits
1. to understand the basic Unit Six: Introduction to ALU Design (4 hrs.)
working of a processor 1. CPU overview
2. describe the functions and 2. ALU
working of ALU 3. Bus architecture
3. to describe bus architecture 4. Designing a basic ALU
4. to design a basic ALU using
logic gates and simple
components.
18. Major Teaching and Learning Strategy
The facilitator and the learners will both develop their level of understanding and
information about the subject matter. The digital design components should be explored
as practically as possible. Learners need to be more enthusiastic to learn the theories and
participate in its implementation to design digital circuits to their best knowledge.
Group discussions and participation in group is recommended mostly for depth
understanding of the subject matter. Facilitator is responsible for developing classroom
materials required for teaching-learning process, use of multimedia is recommended as
visuals/images would prove more fruitful for student involvements.
19. Assessment Plan
a. In-semester
b. End-semester
20. References
a. Brain Holdsworth, “Digital Logic Design”, Elsevier Science, Latest Edition
b. M. Morris Mano, “Digital Logic & Computer Design”
c. Donald P. Leach, Albert Paul Malvino and Goutam Saha, “Digital Principles and
Applications” Tata McGraw-Hill
ITEX 103 Object Oriented Programming
Course Title: Object Oriented Programming Course Code: ITEX 103
Semester: II
Credit Hours: 3 (2+1 )
Nature of the course: T/P
1. Course Description and Goals
The course covers the concepts of Object-Oriented Programming using C++ programming
language. The main objective of this course is to deliver and to make learners understand
the basic concepts of OOP, release the peculiarity of Object-Oriented Paradigm and
implement these concepts in real world projects. It covers the OOP concepts like objects,
classes, polymorphism, overloading, inheritance, exceptions, file handling and more.
2. Learning Outcomes
On completion of this course, the students will be able to:
i) understand the specialty and importance of Object-Oriented Approach
j) implement the programming features of OOP
k) create programs and projects using C++ programming language
l) learn any other OOP language based upon the basics delivered through this course
3. Content with specific objectives
Specific objectives Contents
Unit One: Introduction to OOP (5 Hrs)
1. Compare procedure and 8. Software Crisis and emergence of OOP
object oriented programming 9. Procedural vs OOP Languages
concept 10. Features of OOPs
2. Describe the feature of object- 11. Programming structures in C++
oriented programming. 12. Basic programming terminologies: tokens, data
3. List different types of OOPs types, operators etc.
4. Compare coding structure of 13. Programming Construct
C and C++. Control Structures
5. Understand the details of C++
program structure.
6. Revise the concepts of control
structures in C++
1. understand the basics of classes Unit Two: Object and Classes (9 hrs.)
and objects 21. Introduction to Objects and Classes
2. be able to initialize objects in 22. Defining a class with data members and member
accordance to its class functions
3. implement the use of this 23. Access specifiers
operator 24. Initializing objects
4. understand the idea of access 25. Static Data Members
specifiers 26. Static Member Functions
5. understand and implement the 27. this operator
use of constructor and 28. Constructor
destructors in C++ 29. Destructor
1. To understand and demonstrate Unit Three: Operator Overloading (7 hrs.)
the use of operator overloading 1. Introduction to operator overloading
in C++ 2. Overloadable operators
2. implement unary operator 3. Syntax and rules of operator overloading
overloading 4. Unary operator overloading
3. implement binary operator 5. Binary Operator overloading
overloading 6. Operator overloading with Member and non-
4. implement the concept of member functions
operator overloading in 7. Overloading binary operator using a friend
member functions and non- function
member functions
1. understand and implement the Unit Four: Inheritance (8 hrs.)
concept of inheritance 1. Introduction to inheritance
2. understand base class and 2. Base class and derived class
derived classes 3. Derived class constructor
3. implement constructors and 4. Derived class destructor
destructors for derived class in 5. Single inheritance and multiple inheritance
C++ 6. Virtual Base Classes and Abstract Classes
4. understand concept of abstract 7. Public, Private and Protected access and control
class and virtual base class
5. implement use of access
specifiers in C++ programs
1. Understand the concept of Unit Five: Polymorphism (9 hrs.)
polymorphism 1. Introduction to polymorphism
2. implement new and delete 2. New and Delete operator
operators 3. Pointer to objects
3. understand and implement 4. Pointer to derived class
virtual functions in C++ 5. Virtual Functions
programs 6. Friend Functions
4. understand the concept of 7. dynamic cast operator
dynamic binding 8. typed operator
1. Understand the idea of Unit Six: Templates (5 hrs.)
templates and frameworks 1. Concept of templates
2. to implement class templates in 2. Class templates
C++ 3. Function Templates
3. understand function templates 4. Concept of Frameworks
1. Understand the idea of error Unit seven: Exception Handling (5 hrs.)
and exceptions 1. Error Handling
2. implement ideas to handle 2. Exception handling constructs (try, catch, throw)
exceptions in C++ 3. Multiple exception handling
3. implement rethrowing an 4. Catching all exceptions
exception in C++ 5. Exception with arguments
4. handle various types of 6. Re-throwing an exception
exceptions in C++ 7. Handling uncaught and unexpected exceptions
8. Major Teaching and Learning Strategy
This course is designed to be implemented in both practical and theoretical basis.
Understanding the basics under facilitators guidance and supervision by being involved
in classroom activities will be used to complete the theoretical requirements.
Implementation of the theoretical knowledge in the computer room or in personal
computers will entertain the practical requirements of the course. Both the learner and
the facilitator are expected to progress in developing depth knowledge regarding the
subject matter in time to come.
9. Assessment Plan
a. In-semester:
Students' evaluation will be carried out throughout the semester according to their
performance and participation in classroom activities related to the course. The
classroom activities may include two or more of any of the following:
1. presentations
2. project works
3. practical
4. group discussions
5. knowledge sharing
6. internal examinations/tests etc.
b. End-semester
10. References
c. Deitel and Deitel, C++ How to Program, Latest Edition, Pearson Publication.
d. Joyce Farrell, Object-oriented programming using C++, Fourth Edition,
Cengage Learning
e. Daya Sagar Baral and Diwakar Baral, “The Secrets of Object-Oriented
Programming in C++”, Latest Edition.
ITEX 121: Computer Maintenance and Troubleshooting
Course: Computer Maintenance and Troubleshooting Code: ITEX 121
Credit Hours: 2 Nature: Theory and Practical
Course Descriptions:
The course helps learners develop fundamental knowledge and understanding relating to
computer hardware, Troubleshooting & General PC Problems, Operating system installation
and restore and backup.
Objectives/Learning Outcomes:
• Understanding computer hardware
• Understand the computer microprocessor
• Assembling and dissembling of computer
• Familiarity of computing devices troubles and handling
• Operating system installation and restore.
• Safe and smooth operation of computing devices
COURSE Description Hours
References:
1. Learn the Basics of Linux, David Maxwell
2. Laptop Repair Complete Guide; Including Motherboard and Component Level Repair!
Garry Romaneo.
3. Laptop Chip Level Repair Classroom Notes, http://laptoprepaircourse.in
4. Computer Basics: Basic Troubleshooting Techniques (gcfglobal.org)
Course Title: ITEX 120 Probability and Statistics Semester: Second
Credit Hours: 3
This course aims to explore the application of probability and statistics for computer
application. Students will use the techniques and strategies of statistical modeling and apply in
computing field. The objective of the course is to provide students with a clear understanding
of the basic statistical concepts and tools and to enable them to use these tools as Necessary
Avenue forengineering professions and scientific knowledge.
2. Learning Outcomes
On completion of this course, the students will be able to:
• Relate statistics with computing
• Analyze different statistical models for data analysis
• Use the concept of probability and statistics in modeling mathematical data.
3. TLMs: PowerPoint slides, Video lectures, Reference book
4. Assessment: Project work, data analysis, Demonstration, Numerical Assignments.
1. Introduction to Statistics and Data Description (8)
● Graphical Presentation of Data
i. Dot Plots and Scatter Plots
ii. The frequency Distribution and Histogram
iii. The Stem-and-leaf Plot
iv. The Box Plot
v. The Pareto Chart
● Numerical Description of Data
i. Measures of Central Tendency: Mean, Median, Mode, Mean of
combinedgroups, Comparison of mean, median and mode.
ii. Measures of Dispersion: Range, Quartile deviation, Standard
deviation &Variance, Coefficient of Variation, Skewness and
Kurtosis\
2. Probability (6)
● Introduction
● A Review of Sets
● Random experiment, Sample space and Events (simple and composites),
Mutuallyexclusive and Collectively exhaustive events, Independent events
● Probabilities definition and Assignment
● Finite Sample Space and Enumeration
● Conditional probability
● Partitions, Total probability, and Bayes' theorem and its applications
3. One Dimensional Random Variables (3)
● Introduction
● The Distribution Function
● Discrete and Continuous Random variable
● Some Characteristics of Distributions (mean, variance)
8. Estimation (4)
● Point Estimation, Interval estimation
● Properties of Estimators
● Single-Sample Confidence Interval Estimation (mean and variance)
● Two-Sample Confidence Interval Estimation (mean and variance)
9. Tests of Hypotheses (4)
● Introduction
● Tests of Hypotheses on a Single-Sample (mean and variance)
● Tests of Hypotheses on two Samples (mean and variance)
Textbook:
1. Probability and Statistics in Engineering, 4th Edition, by William W. Hines, Douglas
C. Montgomery, David M. Goldsman, and Connie M. Borror, John Wiley and Sons,
Inc, 2003.