Available courses

Course Description

The purpose of this course is to enable students to know how to build successful software
•Products using appropriate process models that are ready to meet the challenges of twenty-first century.
•Students can use their software engineering knowledge to develop a clear understanding of
•Requirements and lead to the specification of requirements and design representation for software to be built.

Course Objectives

•To understand the software process models and software engineering practice
•To understand measurement, planning and self-direction as key ingredients for successful software process
•To understand why agile methods are important for current modern economy
•To understand requirement engineering is a solid foundation for design and construction
•To understand the requirement modeling that describe what the customer requires, establish a basic for the creation of software design, valid requirements when the software is built

Learning Assessments

•Final exam         - 60%
•Tutorial              - 10%
•Quiz                   - 10%
•Project               - 20%

Course Assessment

  • Exam - 60%
  • Tutorial and Quiz - 15%
  • Project - 25% (to practice the SE disciplines)

  1. Software Requirement Specification (SRS) Report-8%
  2. Software Design Documentation (UML) Report-8%
  3. Developing Small Software Project-9%

  • The pass grade for this course is C (50)

Assessment Plan 

  • Exam – 60%
  • Quiz – 10% 
  • Tutorial – 10% 
  • Practical Lab – 20% (SQL, Triggers, store procedures)

Reference Text Books Images


Course Organization

The expected learning outcomes for the course will be assessed through six forms of activity:

1. Attending the lectures

2. Preparing for and participating in the recitations.

3. Assignments

4. Reading the text

5. Quiz

6. Exams

The Design and Analysis of Computer Algorithms

Assessment

Assignment 10%

Tutorial 10%

Quizzes / Moodle 15%

Class Participation 5%

Paper based Exam 60%

                     

Code: CS-4125

Course: Software Project Management

Text Books:

(1) Roger. S. Pressman, “Software Engineering, A Practitioner’s Approach”, 8th edition, 2015

(2) Iron Sommerville, “Software Engineering”, Global Edition, 10th edition, 2016

(3) Rajib Mall, “Fundamentals of Software Engineering”, Fourth Edition, 2014

                                                        Course Assessment

                                    This course should assess the student as follows:

                                                      Exam – 70%

                                                     Tutorial – 20%

                                                     Quiz – 10%

                                   The pass grade for this course is – C (50)

 


Course Objectives
1. to recognize the critical thinking required for IELTS
2. to develop four skills in English Language learning as well as key grammar and vocabulary

 Student Learning Outcomes
- Students are able to get motivation in their language learning and apply what they have learned in their real-life situations.
 - Students can have complete preparation for the IELTS exam when they want to have further studies overseas.

Topics Covered
1. Receptive skills like reading and listening can be efficient by Authentic Texts.
2. Four skills with grammar and vocabulary input are informed by publications related to the Common European Framework of Reference.
Course Objectives

The objective of this course is to provide the concept of computer graphics application, understand techniques and algorithms of 2D and 3D computer graphics including viewing, transformation, lighting, modeling, rendering and animation.

Course Contents:
• Overview of computer graphics system and applications
• Output primitives
• Attributes of output primitives
• 2D and 3D geometric transformations
• 3D viewing, object representation
• 3D visible surface identification and rendering
• Computer animation

Learning Outcomes

On successful completion of this course, students will be able to:
• design and Implement the algorithms to draw the line and circle
• apply different geometrical transformations such as translation, scaling, rotation, reflection, and shear in 2D and 3D
• understand 2D viewing and various clipping algorithms
• understand the object representation and visible identification methods in 3D
• design animation sequences
• gain skills to study the advanced concepts and techniques of computer graphics
Course Description

This course covers Applications of Recurrence Relations, Solving Linear Recurrence Relations, Generating Functions, Modeling Computation: Languages and Grammars, Finite-State Machines with Output, Finite-State Machines with No Output, Language Recognition and Turing Machines.

Course Outcomes

After completing the course, the student will be able to:
1. Model, compare and analyse different computational models using combinatorial methods.
2. Apply rigorously formal mathematical methods to prove the properties of languages, grammars, and automata.
3. Construct algorithms for different problems and argue formally about correctness on different restricted machine models of computation.
4. Identify the limitations of some computational models and possible methods of proving them.

Major Topics Covered in the Course

1. Modeling With Recurrence Relations, Solving Linear Homogeneous and Nonhomogeneous Recurrence Relations, Counting Problems and Generating Functions
2. Phrase Structure Grammars, Derivation Trees, Backus-Naur Form, Finite State Machines with output and no output.
3. Deterministic and Nondeterministic Finite State
4. Using Turing Machines to Recognize Sets
Course Objectives
This course intended to provide a thorough discussion of the fundamentals of operating system designs, to relate these to contemporary design issues, and to learn the current directions in the development of operating systems.

 Course Outline
A state-of-the-art survey of operating system principles that cover fundamental technology as well as contemporary design issues, such as concurrency, deadlock, virtual memory management, real-time systems, multiprocessor scheduling, embedded OSs, virtualization techniques.

Learning Outcomes
Computer Science students gain knowledge of real-world design choices with case studies in Linux, UNIX, Android, and Windows 10. Students are able to keep pace with a complex and rapidly changing field through the comprehensive coverage of the latest trends and developments in operating systems.
Course Description

The course aims to motivate fourth year students the topic of information security awareness. At the outset, the professional environment of information security and brief history of security are introduced. After this, the basic model of information security consisting of assets, vulnerabilities, threats, and controls are explained. The rest of the course is devoted to characterizing assets, vulnerabilities and threats and responding to them using security controls. At the end of the course, students will have an awareness of how information security concerns have evolved in our society and how they can use contemporary frameworks to respond to these concerns in a professional environment.

The course comes with a full set of end-of-chapter exercises. There are four kinds of exercises at the end of every chapter:
1. Traditional end-of-chapter questions are designed to improve student understanding and recall of common topics in information security.
2. An example case at the end of each chapter allows students to apply the knowledge in the chapter to business contexts.
3. A critical thinking exercise introduces students to analogous situations and relates the ideas from the chapter to this situation.
4. Finally each chapter has a detailed hands-on activity using a customized distribution of the CentOS Linux OS to be installed as a virtual machine using virtual box.

Course Outcomes

Students who complete the course will be able to
 Understand how information security and assurance is important and impact of organizations, and the importance of system administration for information security.
 Provide the element of basic security model, relationships between the elements of the basic information security model and common classification of information security controls.
 Get clear understanding of the different aspects of threats including: threat models, and vulnerabilities and their relevance to threats.
 Describe the important of assets in organizations and to examine how these assets can be identified and classified based on their alignment to the organization’s mission.
 Be aware of asset management issues including life cycle and ownership.

Prerequisites by Topic

- None

Major Topic Covered in the Course

 Introduction
 The Basic Information Security Model
 Asset Identification and Characterization
 Threats and Vulnerabilities

Course Description

The main purpose of this course is to describe the importance role of management
information system in business today and present the process stage how to organize to become the management information system. This course also provides the ethics and discipline concerning with the information system.

Course Objective
To understand the role of information system in business today

To understand the different kind of approaches to information system

To understand how information system impact organizations and business firms

To understand the ethical and social issues related to information systems

Learning Outcomes
The students who complete the course will be able to

Get knowledge how are information systems transforming business and their relationship to
globalization
Demonstrate the feature of organization and the impact of information system on organization
Identify the opportunities for strategic information system on organization

Explain the relation of ethical, social and political issues and information system

Major Topic covered in the course
Information Systems in Global Business Today

Information Systems, Organizations and Strategy

Ethical and Social Issues in Information System

Reference Book
Kenneth C.Laudon, Jane P.Laudon “Management Information System”, 12th Edition

Course Description
Regardless of the software development approach, from the classic waterfall to extreme programming (XP), all of the experts agree that quality software development requires both analysis and design. The Unified Modeling Language (UML) provides a common, standard notation for recording both analysis models and design artifacts. This course delves into the processes of both object-oriented analysis and object-oriented design using UML as the notation language. The course will be supported by practical lectures involving the development of object-oriented design for a real world application.

Course Objective
 To understand the importance of modeling in the software development life cycle
 To understand the usage of UML notation and symbols
 To analyze and design systems and software solutions using the object-oriented  approach
 To Employ the UML notation to create effective and efficient system designs

Learning Outcomes

 Gain a working knowledge Star UML
 Apply knowledge of OOAD to design an object-oriented system that can be implemented in an object-oriented language
 Learn the meaning of every UML notation and when to use them
 Learn the industry best practices to build UML
 Interpret any UML diagram effectively
 Increase the knowledge of software development productivity

Major Topic covered in the course
 Introduction to UML
 Modelling with Objects
 Class and Object Diagrams
 Interaction Diagrams
 Business Modelling
 Analysis
 Design
 Implementation
 State Charts
 Component Diagram
Course Objectives

The aim of this subject is to present and discuss concepts and challenges of e-business, including a balanced coverage of both the technical and the management aspects of a successful e-business. It covers business strategies and technologies involved in the design and deployment of business on the Internet and World Wide Web.

Course Outcomes

Students should be able to discuss modern computing infrastructure from the
perspective of the internet and organizations. They would have the knowledge of
theoretical and practical issues of conducting business over the internet and Web.
Also gain the general principles revealed through practical exploration of specific
tools, techniques, and methods in e-business.

Major Topics Covered

1 Introduction to digital business and e-commerce
2 Marketplace analysis for e-commerce
3 Managing digital business infrastructure
4 E-environment
5 Digital business strategy
6 Supply chain management
7 E-procurement
8 Digital marketing
9 Customer relationship management
10 Change management
11 Analysis and design
12 Digital business service implementation and optimization
Course Objectives

1. to recognize the critical thinking required for IELTS
2. to develop four skills in English Language learning as well as key grammar and vocabulary

Student Learning Outcomes

- Students are able to get motivation in their language learning and apply what they have learned in their real-life situations.
- Students can have complete preparation for the IELTS exam when they want to have further studies overseas.

Topics Covered

1. Receptive skills like reading and listening can be efficient by Authentic Texts.
2. Four skills with grammar and vocabulary input are informed by publications related to the Common European Framework of Reference.
Course Description

This course also provides the Security and integrity, transaction management, recovery management of Database management system and also provides the distributed databases. It exposes the student to the fundamental concepts and techniques in database management system and also provides a foundation for research in databases. The course uses a problem-based approach to learning.

Course Objectives

➢ To apply the security and integrity constraints of Database Management System
➢ To understand the concept of a database transaction and related database facilities, including
concurrency control, journaling, backup, and recovery, and data object locking and protocols
➢ To understand the distributed databases and their functions.
➢ To design and implement the security and integrity constraint on a small database project for real-world application

Learning Outcomes

At the end of this module, the successful student will:
➢ Be able to write Security and integrity constraints on relational databases and tables
➢ Be able to explain the database transaction, concurrency control, and recovery protocols
➢ Be able to understand the distributed databases and their problems and benefits
➢ Be able to design and implement the constraint on a real-world application

Prerequisite course

➢ Fundamental of database management System
➢ Basic Understanding of Structured Query Language

Major topic covered in the course

➢ Security
➢ Integrity
➢ Concurrency
➢ Recovery
➢ Distributed Databases
Course Description

This course covers Applications of Recurrence Relations, Solving Linear Recurrence Relations, Generating Functions, Modeling Computation: Languages and Grammars, Finite-State Machines with Output, Finite-State Machines with No Output, Language Recognition and Turing Machines.

Course Outcomes

After completing the course, the student will be able to:
1. Model, compare and analyse different computational models using combinatorial methods.
2. Apply rigorously formal mathematical methods to prove the properties of languages, grammars, and automata.
3. Construct algorithms for different problems and argue formally about correctness on different restricted machine models of computation.
4. Identify the limitations of some computational models and possible methods of proving them.

Major Topics Covered in the Course

1. Modeling With Recurrence Relations, Solving Linear Homogeneous and Nonhomogeneous Recurrence Relations, Counting Problems and Generating Functions
2. Phrase Structure Grammars, Derivation Trees, Backus-Naur Form, Finite State Machines with output and no output.
3. Deterministic and Nondeterministic Finite State
4. Using Turing Machines to Recognize Sets
Course description:

The course “Introduction to embedded systems” provides students with the basis for studying the other courses of the Module “Embedded microprocessor systems”. It forms basic skills in embedded
systems design. Those skills is usable in designing digital control units for consumer electronics, industrial automation, telecommunication systems, etc. This course includes lectures, laboratory work and group project.

Course objective:

▪ To make students familiar with the basic concepts and terminology of the target area, the embedded
systems design flow.
▪ To give students an understanding of the embedded system architecture.
▪ To acquaint students with methods of executive device control and to give them opportunity to apply and test those methods in practice;

Learning outcomes At the end of the course student will be able to:
▪ understand basic concepts in the embedded computing systems area;
▪ determine the optimal composition and characteristics of an embedded system;
▪ design and program an embedded system at the basic level;
Course Objectives

▪ To conceptualize the basics of organizational and architectural issues of a digital
computer.
▪ To study the different ways of communicating with I/O devices and standard I/O
interfaces.
▪ To study the hierarchical memory system including cache memories and virtual
memory.
▪ To study various classes of instruction: data movement, arithmetic, logical, and
flow control.
▪ To appreciate how conditional operations are implemented at the machine level.
▪ To understand the way in which subroutines are called and returns made.
▪ To understand parallelism both in terms of a single processor and multiple
processors.

Learning Outcomes

The major outcomes of this course can be listed as
▪ Ability to perform computer arithmetic operations and control unit operations.
▪ Interpret the difference between hardwired and micro-programmed design approaches in CPU control unit design.
▪ Ability to understand the concept of I/O organization.
▪ Ability to conceptualize instruction level parallelism.
▪ Demonstrate the organization of memory hierarchy.
▪ Understand parallelism both in terms of a single processor and multiple processors.
▪ Understand how computer hardware has evolved to meet the needs of multi-processing systems.
Course Description:

This Course focuses towards the introduction of network security using various
cryptographic algorithms. Underlying network security applications.

Course Objectives:

▪ To lay a foundation on Security in Networks, Classical Cryptosystem and Block
Cipher Modes of Operation, System Security, Malicious Softwares.
▪ To design various Private and Public key Cryptosystem for encryption, key
exchange and hashing,
▪ To analyze various Private and Public key Cryptosystem for encryption and key
exchange
Course Description

The focus of the course is to provide a set of practices the students can deploy immediately to secure their computers and to maintain safe security practices. The lectures cover the necessary security concepts and methods to prevent security breaches and what to do if such a breach is detected. The students will learn about securing popular computer platforms and applications running on these platforms.

Course Objectives

▪ introduce concepts of Computer security;
▪ provide an overview of principles and practices of Cybersecurity;
▪ study Denial of Service Attack, Cyber Stalking, Fraud, and Abuse
▪ present properties of malicious software;
▪ study tools and techniques used to defend computer systems; and
▪ Be able to understand and follow security and privacy policies