itcsbanner.jpg

Courses

Analysis and Design of Algorithms

This course aims to introduce students to the techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include dynamic programming, greedy algorithms, amortized analysis, graph algorithms, graph and tree traversal, and shortest paths. Advanced topics may include network flow, computational geometry, and number-theoretic algorithms.
CSCI 231

Web and Mobile Development

The course aims to provide the students with skills for application development on the Internet. The student will learn about the Web and Mobile as development platforms using web and mobile programming language.
CSCI 306

Operating Systems

The Operating System course aims to give students an in-depth comprehension of the fundamental operating system principles, concepts, and techniques. This course gives students the knowledge and skills to design, implement, and manage operating systems effectively. Students should be able to comprehend the tradeoffs involved in designing and managing various operating systems and analyze, evaluate
CSCI 313

Software Engineering

The course aims to develop a broad understanding of the discipline of software engineering. It seeks to complement this with a detailed knowledge of techniques for the analysis and design of software systems. It aims to set these techniques in an appropriate engineering and management context.
CSCI 321

Introduction to Data Science

This course prepares students to gather, describe, and analyze data, and use advanced statistical tools to make decisions on operations, risk management, finance, marketing, etc. Analysis is done targeting economic and financial decisions in complex systems that involve multiple partners.
CSCI 331

Introduction to Computer Networks

This course explores the fundamentals of communications and computer networks. Students will learn to identify various communication devices and network technologies to be able to design and manage local networks effectively. Additionally, they will delve into local computer networks and their applications, discovering how computer networks play a crucial role in diverse sectors of society.
CSCI 341

Digital Image Processing

The course aim is to provide a solid background in the fundamentals of 1D and 2D digital processing. The course covers many of the major topics in the field, including audio and image representation, 1D and 2D linear systems theory and Fourier analysis, digital filtering, image registration, and image segmentation.
CSCI 351

Introduction to Quantum Computing

To introduce the student to the emerging field of quantum computing from the point of view of CS. The course aims to provide the necessary principles to grasp the essence of quantum computing while using the ‘language’ of computer scientists. The intense focus for the course is on the systems and application aspects.
CSCI 361

Introduction to Cloud Computing and IoT

This course aims to analyze the trade-offs between deploying applications in the cloud and over the local infrastructure. Compare the advantages and disadvantages of various cloud computing platforms. Identify security and privacy issues in cloud computing. The students will also explore the interconnection and integration of the physical world and cyber space. They are also able to design and
CSCI 442

Introduction to Cybersecurity

This course aims to present introductory technical and managerial knowledge to effectively design, engineer, and manage the overall security posture of an organization.
CSEC 211

Introduction to Cryptography

The objective of this course is to introduce the students to different types of modern encryption and hash functions algorithms. It aims to develop the ability of the students to use these algorithms to enhance information security.
CSEC 311

Blockchain Applications

The objective of this course is to introduce the students to the new Blockchain technology. It aims to develop the ability of the students to use this emerging technology in different modern life applications.
CSEC 312

Operating Systems Security

The objective of this course is to introduce the students to different issues in operating system security. This course deals with security concepts and procedures applied in operating systems. Students will examine security concepts that are uniquely implemented into operating systems.
CSEC 321

Network Security Fundamentals

The objective of this course is to introduce the underlying principles and techniques for network and communication security.
CSEC 341

Fundamentals of Digital Forensics

The objective of this course is to provide a general introduction to the concepts, theories, principles, and practice of digital forensics. The aim of this course is to introduce the students to how to plan and execute a digital forensics investigation.
CSEC 431

Incident Response Handling and Malware Analysis

This course aims to equip students with the essential knowledge and practical skills required to effectively detect, respond to, and manage cybersecurity incidents and malware analysis. It emphasizes the development of structured and systematic approaches to incident handling, from preparation to recovery. Also, the students will be introduced to malware concepts and analysis. It is intended to
CSEC 433