Course Title: Parallel Computing Credit: 3
Course No: CSIT.421 Number of period per week: 3+3
Nature of the Course: Theory + Lab Total hours: 45+45
Year: Fourth, Semester: Eighth
Level: B. Sc. CSIT
1. Course Introduction
In a parallel computation, multiple processors work together to solve a given problem.
While parallel machines provide enormous raw computational power, it is often not
easy to make effective use of all this power. This course will describe different
techniques used to solve the problems, in order to develop efficient parallel algorithms
for a variety of problems. We will also pay much attention to practical aspects of
implementing parallel code that actually yields good performance on real parallel
machines.
2. Objectives
At the end of this course, you should be able to accomplish the objectives given below.
Describe different parallel architectures; inter-connect networks, programming
models, and algorithms for common operations such as matrix-vector
multiplication.
Given a problem, develop an efficient parallel algorithm to solve it and analyze
its time complexity as a function of the problem size and number of processors.
Given a parallel algorithm, implement it using MPI, OpenMP, pthreads, or a
combination of MPI and OpenMP.
Given a parallel code, analyze its performance, determine computational
bottlenecks, and optimize the performance of the code.
3. Specific Objectives and Contents
Specific Objectives Contents
Unit I: Parallel Programming (5)
To understand basics of parallel 1.1. Introduction to parallel programming, data
programming. parallelism, functional parallelism,
To explain Flynn’s classification pipelining
and parallel algorithm cdesign 1.2. Flynn's taxonomy, parallel algorithm design –
model task/channel model , Foster's design
To design elementary parallel methodology
algorithms. 1.3. case studies: boundary value problem, finding
the, maximum – Speedup and efficiency,
Amdahl's law, Gustafson Barsis's Law, Karp-Flatt
Metric, Isoefficiency metric
Unit II: Message Passing Programming (10)
To explain message passing 2.1. The message-passing model, the message-passing
programming model. interface, MPI standard, basic
To understand MPI interface and concepts of MPI: MPI_Init, MPI_Comm_size,
use common methods provided MPI_Comm_rank, MPI_Send, MPI_Recv,
by it
MPI_Finalize,
To handle timing issues in MPI
2.2. Timing the MPI programs: MPI_Wtime,
programs.
MPI_Wtick, collective, communication:
To write simple programs using
MPI. MPI_Reduce, MPI_Barrier, MPI_Bcast,
MPI_Gather, MPI_Scatter
2.3. case studies: the sieve of Eratosthenes, Floyd's
algorithm, Matrix-vector multiplication
Unit III: Shared Memory Programming (10)
• To understand shared memory 3.1. Shared-memory model, OpenMP standard, parallel for
model of parallel programming loops, parallel for pragma,
and OpenMP standard. private variables, critical sections
• To explain loops, critical 3.2. Reductions, parallel loop optimizations, general, data
section, function, etc in parallel parallelism, functional parallelism
programming 3.3. Case studies: the sieve of Eratosthenes, Floyd's
• To write simple programs by algorithm, matrix-vector multiplication, distributed
using shared memory paradigm. shared-memory programming, DSM primitives
Unit IV: Parallel Algorithms I (10)
To understand basic principles 4.1. Monte Carlo methods, parallel random number
of parallel algorithms generators, random number
To understand principles of distributions
Monte Carlo method in 4.2. Case studies: Matrix multiplication, row-wise
algorithm design block-stripped algorithm,
To design parallel algorithms in Cannon's algorithm, solving linear systems,
specified topics.
back substitution, Gaussian elimination,
iterative methods, conjugate gradient method
Unit V: Parallel Algorithms II (10)
To design parallel algorithm for 5.1. Sorting algorithms: quicksort, parallel quicksort, hyper
sorting data quicksort, sorting by regular
To design searching and FFT sampling
parallel algorithms 5.2. Fast fourier transform, combinatorial search, divide
and conquer, parallel backtrack search, parallel branch
and bound, parallel alpha-beta search.
Course Title: Advanced Database Design Credit: 3
Course No: CSIT.423.2 Number of period per week: 3+3
Nature of the Course: Theory + Lab Total hours: 45+45
Year: Fourth, Semester: Eighth
Level: B. Sc. CSIT
1. Course Introduction
Advanced database design is the course that focuses on principles and algorithms of designing
database management systems. This course covers concepts of file structures, indexing, query
processing and optimization techniques used by database management systems. Besides this,
course has given emphasis on techniques of handling transaction, concurrency, and recovery.
2. Objectives
Upon completion of the course, the student can:
Understand techniques and algorithm used in DBMS design
Demonstrate each techniques and algorithm used in DBMS design.
Optimize queries by creating alternative evaluation plans.
Develop small scale DBMS.
3. Specific Objectives and Contents
Specific Objectives Contents
Unit I: Storage and File Structures (8 hr)
Understand access characteristics 1.1. Physical Storage Media: Memory Hierarchy, Physical
of disks and performance Characteristics of Disks, Performance Measures of
parameters Disks, Optimization of Disk Block Access, RAID
Discuss role of buffer manager in 1.2. Storage Access, Buffer Manager, Buffer Replacement
performance of DBMS’ Policies
Exemplify different file 1.3. File Organization: Fixed Length Records, Variable
organization used by database Length Records, Organization of Records in Files,
management systems Data Dictionary Storage
Unit II: Indexing and Hashing (8 hr)
Understand need and importance 2.1. Basic Concepts, Types of Indices, Factors for
of indices Evaluating Indices,
Discuss different type of indices 2.2. Ordered Indices, Primary Indices (Dense and Sparse),
critically Multilevel Indices, Index update, Secondary Indices,
Explain hashing and its Secondary Indices, B+ Tree Index
applications critically 2.3. Static Hashing, Hash File Organization, Hash
Functions, Bucket Overflow handling, Hash Indices,
Dynamic Hashing, Index definition in SQL
Unit III: Query Processing (8 Hrs)
Understand steps of query 3.1. Steps Involved in Query Processing, Measure of
processing Query Cost
Exemplify algorithms used in 3.2. Select Operation: Basic Algorithms, Selection using
performing different SQL indices, Selection involving comparisons,
operations Implementation of Complex Selections
Discuss and exemplify process 3.3. Join Operation: Nested Loop Join, Block Nested
of evaluating SQL expressions Loop Join, Indexed Nested Loop Join
3.4. Other Operations: Duplicate Elimination, Projection
Set Operations, Outer Join, Aggregation
3.5. Evaluation of Expressions, Materialized Evaluation,
Pipelining Evaluation
Unit IV: Query Optimization (8 Hrs)
Discuss importance of optimizing 4.1. Basic Concepts, Estimating Statistics of Expression
queries Result, Catalog Information
Exemplify size estimation of 4.2. Selection Size Estimation, Join Size Estimation, Size
relations and its use in query Estimation of other operations, Estimating Number of
optimization Distinct Values
Demonstrate transformation rules 4.3. Transformation of Relational Expressions,
used in query optimization Equivalence Rules, Examples of Transformations
Understand and compare cost 4.4. Cost Based Query Optimization, Heuristic Query
base and heuristic query Optimization, Optimization of Nested Queries
optimization
Unit V: Transaction Management (4 Hrs)
Understand basic concept of 5.1. Basic Concepts, ACID Properties, Transaction States,
transaction and interleaved Concurrent Execution
processing 5.2. Schedules, Types of Schedule on the Basis of
Discuss need of serailizable Serializability, Testing Conflict Serializability, Types
schedules of Schedule on the Basis of Recoverability
Exemplify serializability test 5.3. Commit and Rollback
procedure
Unit VI: Concurrency Control(5 Hrs)
Understand need of concurrency 6.1. Lock Based Protocols, Timestamp Based Protocols,
control Thomas write Rule
Discuss different protocols used 6.2. Validation Based Protocols, Granularity, Multiversion
in controlling concurrency and Protocols
exemplify each of them 6.3. Deadlock Prevention (wound-wait and wait-die),
Exemplify techniques of handling Deadlock Detection, Recovery from Deadlocks
deadlocks
Unit VII: Recovery System(4 Hrs)
Discuss need of recovery 6.4. Types of Failures, Recovery Schemes, Log File,
techniques Write Ahead Logging
Exemplify log based recovery 6.5. Log Based Recovery Techniques (undo/redo, no-
schemes undo/redo, undo/no-redo), Check pointing, Shadow
Explain shadow paging technique Paging
of recovery 6.6. Recovery in concurrency
Course Title: Cloud Computing Credit: 3
Course No: CSIT.424.4 Number of period per week: 3+3
Nature of the Course: Theory + Lab Total hours: 45+45
Year: Fourth, Semester: Eighth
Level: B. Sc. CSIT
1. Course Introduction
The course introduces the ideas and techniques underlying the principles of cloud computing.
This course covers a series of current cloud computing technologies, including technologies for
Infrastructure as a Service, Platform as a Service, and Software as a Service. This course is
designed to introduce the concepts of Cloud Computing as a new computing paradigm. The
students will have an opportunity to explore the Cloud Computing various terminology,
principles and applications. The course will expose students to different views of understanding
the Cloud Computing such as theoretical, technical and commercial aspects.
2. Objectives
The primary learning outcomes are that the students will be able to: Explain the core concepts of
the cloud computing paradigm: how and why this paradigm shift came about, the characteristics,
advantages and challenges brought about by the various models and services in cloud computing,
Discuss system virtualization and outline its role in enabling the cloud computing system model,
Analyze various cloud programming models and apply them to solve problems on the cloud.
The main objective of this course is:
- To provide students with the fundamentals and essentials of Cloud Computing.
- To provide students a sound foundation of the Cloud computing so that they are able to
start using and adopting Cloud Computing services and tools in their real life scenarios.
- To provide the knowledge about the SOA, cloud security and cloud disaster management
3. Specific Objectives and Contents
Specific Objectives Contents
Unit I: Introduction (9 Hrs)
Understand basics cloud 1.1. Cloud, Cloud computing, Components of cloud
framework computing, Characteristic features of cloud computing,
Understand concepts of cloud 1.2. Evolution of cloud computing, Challenges for the cloud
computing computing, Benefits of cloud computing,
Understand the features of 1.3. Grid computing, Cloud Computing vs Grid Computing,
cloud computing Distributed Computing in Grid and Cloud,
Understand the cloud 1.4. Cloud deployment models: Public, Private, Hybrid,
Community,
deployment models 1.5. Cloud Service Models: IaaS, PaaS, SaaS,
1.6. Challenges for cloud computing, Legal issues in cloud
computing.
Understand concepts of Unit II: Virtualization (5 Hrs)
virtualization and it approaches 2.1. Basic Concepts of virtualization, Hardware
Explore concepts of virtualization, Server virtualization, Storage
virtualization in cloud virtualization, Data Centre virtualization OS
environment virtualization, Para virtualization,
2.2. Role of virtualization in enabling cloud services, Cloud
computing as a virtualized service.
Understand the cloud migration Unit III: Cloud Migration(4 Hrs)
and its need 3.1. Cloud Migration and its types, Need for Cloud
Explore the cloud migration Migration,
model 3.2. Model of Migration into a cloud,
Determine the risks during 3.3. Migration risks in Cloud and Mitigation.
cloud migration
Understand various cloud Unit IV: Cloud Service Models (15 Hrs)
service models 4.1. Infrastructure-as-a-Service (IaaS),
4.2. Platform-as-a-Service (PaaS), Key Characteristics of
Understand and analyze various PaaS,
aspects of the cloud service 4.3. Software-as-a-Service (SaaS): SaaS Implementation
models Issues, Key Characteristics of SaaS, Benefits of the
SaaS Model,
Explore the real world cloud 4.4. Communication-as-a-Service (CaaS): Advantages of
services CaaS,
4.5. Monitoring-as-a-Service (MaaS),
4.6. Jericho Cloud Cube Model,
4.7. Amazon’s Web Services,
4.8. Cloud Computing from the Google Perspective,
4.9. Window Azure and Online Services.
Understand Service Oriented Unit V: SOA and Cloud (4 Hrs)
Architecture (SOA) 5.1. Service Oriented Architectures (SOA),
Explore significance of SOA in 5.2. Combining the cloud and SOA
Cloud Computing 5.3. Characterizing SOA,
5.4. Importance of SOA to cloud computing
Understand security in cloud Unit VI: Cloud Security (8 Hrs)
Understand risk assessment in 6.1. Cloud Security Challenges, Dimensions of Cloud
cloud Security: Security & Privacy, Compliance, and Legal or
Explore various intrusion Contractual Issues,
detection mechanisms in cloud 6.2. Risk Management, Security Monitoring, Incident
environment. Response Planning, Security Architecture Design,
Understand how to handle Vulnerability Assessment, Data and Application
cloud disasters and how to Security, Virtual Machine Security,
mitigate the disaster 6.3. Handling Disasters in Cloud, Disaster Recovery,
Disaster Recovery Planning, Disaster Management.
Course Title: E-Governance Credit: 3
Course No: CSIT.425.2 Number of period per week: 3+3
Nature of the Course: Theory + Lab Total hours: 45+45
Year: Fourth, Semester: Eighth
Level: B. Sc. CSIT
1. Course Introduction
This course is aimed to understanding the concept of e-Governance to better delivery of
government services to citizens, improved interactions with business and industry, citizen
empowerment through access to information, efficient government management and resulting
benefits can be less corruption, increased transparency, greater convenience, revenue growth and
cost reductions.It cover the concept of e-Governance, different model of e-Governances and
maturity levels, infrastructure and readiness for e-governance, data ware house and data mining
for e-government services, initiatives in Nepal and recent trends of e-Government issues. Student
will be analysis the major e-governance case study of Nepal and best case studies of aboard.
2. Objectives
After completion of course, Students will be able to:
Understands the basic principle of e-Governance and importance of digital world.
Analysed the different model of digital governance and its maturity levels.
Define the e-Readiness to successful implementation of e-Governance and analyse
current situation of Nepal.
Determine the importance of data mining and data warehouse and open data in e-
Governance.
Analyse the situation of e-Governance in Nepal.
Analyse the case study about different e-Government Projects.
3. Specific Objectives and Contents
Specific Objectives Contents
Define e-Governance and Unit I: Concept of e-Governance(10Hrs.)
importance 1.1. Definition of e-Governance
Explore changing nature of e- 1.2. Importance of e-Governance
Governance services 1.3. Evolution of e-Governance: Its scope and Contents
List out the present global 1.4. Present Global Trends of Growth in e-Governance
trends of e-Governance 1.5. Differentiate Between e-Government and e-Governance
Compare government and
governance
Analyze the different digital Unit II: e-Governance Models(15 Hrs.)
model of e-Governance 2.1. Model of Digital Governance
List of level of maturity model 2.1.1 Broadcasting Dissemination Model
and its parameters. 2.1.2 Critical Flow Model
Justify e-Governance toward 2.1.3 Comparative Analysis Model
good governance. 2.1.4 Mobilization and Lobbying Model
2.1.5 Interactive-Service Model/ Government-to-Citizen-to-
Government (G2CG2G)Model
2.2. Evolution of e-Governance and Maturity Models
2.3. Characteristics of Maturity Model
2.4. Key Focus Area
2.5. Toward good governance through e-Governance Model
Identify the e-Readiness Unit III: e-Governance Infrastructure, Stage in Evolution and
parameters to success of e- Strategic for Success (15)
government. 3.1. e-Readiness
Analyzed the situation of e- 3.1.1 Data System Infrastructure
Governance readiness in Nepal 3.1.2 Legal Infrastructure Preparedness
3.1.3 Institutional Infrastructure Preparedness
3.1.4 Human Infrastructure Preparedness
3.1.5 Technical Infrastructure Preparedness
3.2. Evolutionary Stage in e-Governance
Describe the importance of Unit IV:Application of Data Warehouse and Data Mining in
data warehouse and mining in Government (5Hrs.)
e-Government services. 4.1. National Data Warehouses
Explore the area of data ware 4.2. Area for Data Warehouse and Data Mining
house and data mining on 4.3. Big data in e-Governance
governance services.
Understand the open standards Unit V: e-Governance of Nepal (10Hrs.)
and GA of Nepal 5.1. Evolution of e-Governance in Nepal
Review the status of 5.2. Government Enterprises Architecture(GEA)
government data center in 5.3. E-Government Master plan
Nepal 5.4. GIDC and Data Centre
Describe the e-Government 5.5. Electronic Traction Act 2063
related Act and policies of 5.6. Information Communication Technology Policy 2072
government of Nepal. 5.7. Digital signature
Understand recent trends in e- Unit VI:Recent Trends in e-Governances (15Hrs.)
Governance 6.1. e-Government 2.0: Next Generation Governance
Describe e-Democracy 6.2. e-Democracy 2.0
Describe internet governance 6.3. Open Data: Definition, Principle, uses
Understands the web standard 6.4. Mobile Governance
to e-Governance. 6.5. Open Standards for Web Presence
6.6. Government Cloud Services and Open Sources
Analyze the case study of case Unit VII: Case Study (20Hrs.)
study of Nepal 7.1. ICT Development Project ADB in Nepal
Analyzed selected case study of 7.2. National ID in Nepal
successful e-Government 7.3. Government Electronic Procurement System of Nepal
project. (GEPSON)
Create the report of case study 7.4. IT park Kavre, Banepa
7.5. e-Village/Tele Centre in Nepal
7.6. Smart City in Nepal
7.7. Digital India Project in India