itcsbanner.jpg

Courses

Discrete Mathematics

This course aims to study propositional and predicate logic and their applications in Computer Science, get students acquainted with mathematical thinking, learn methods of proving theorems in Computer Science, study and implement graph algorithms, and weight the outcomes of the course through its use in practical applications in different computer science branches
MATH 113

Probability and Statistics

This course introduces the basic concepts of probability and statistics and their applications.
MATH 202

Differential Equations

This course is an introductory course in Ordinary Differential Equations (ODEs). It provides an introduction to the theory, solution, and applications of ODEs in different fields.
MATH 223

Linear Algebra

This course presents the fundamentals of linear algebra and its applications with emphasis on solving linear systems of equations, vector spaces and the eigenvalue problem.
MATH 321

Physics I

The aim of this module is to explore the topics of engineering physics, for engineering and computer science students.
PHYS 101

Electronics and Electrical Circuits

This course will provide the students with strong understanding of electric circuits with emphasis on the techniques for analyzing electric circuits in steady state and in transient state as well. It also demonstrates basic knowledge and understanding the basic properties of semiconductors, doping, pn junction and analyzing diode and transistor circuits.
ECEN 111

Introduction to Artificial Intelligence

This course aims to introduce the main concepts of Artificial Intelligence. It allows students to understand the importance of AI and its related fields. The course enables students to know different knowledge representation techniques. At the end of the course, students should master different search and control strategies.
AIS 201

Machine Learning

This machine learning course aims to give students a more specialized understanding of machine learning techniques, algorithms, and applications. This course will cover advanced machine learning topics, foster critical thinking, and develop practical skills for addressing real-world challenges. Through a combination of theoretical concepts, hands-on projects, and real-world case studies, students
AIS 301

Data Mining and Analytics

This course enables students to acquire expertise in employing several techniques and tools for effective data mining. The course encompasses a comprehensive exploration of key topics such as clustering for targeted analysis, classification for outcome prediction, ranking algorithms for prioritization, and similarity search for information retrieval. Additionally, students delve into association
AIS 331

Introduction to Computational Thinking and Problem-Solving

This course aims to introduce students to the fundamental principles of computer science and computational thinking without assuming prior programming experience. Students will learn how to approach problem-solving methodically, how to structure and represent problems, and how to design algorithmic solutions using control flow, data flow concepts, and basic modeling techniques. Emphasis is placed
CSCI 101

Fundamentals of Computing I

This course aims to introduce students to the essential principles and practices of computer programming. Designed for students with little or no prior programming experience, the course provides a strong foundation in programming, basic algorithms, and software design. Students will learn to analyze and solve multidisciplinary problems, design and implement small-scale programs using a prime
CSCI 102

Fundamentals of Computing II

This course aims to build upon the foundational programming and problem-solving skills developed in the first semester. This course focuses on the principles of software engineering, object-oriented programming, and the design and implementation of basic data structures and algorithms. Students advance their computational thinking skills through the development of larger, modular, and maintainable
CSCI 103

Data Structures and Algorithms

The course aims to offer a rigorous introduction to the theory and practice of data structures and fundamental algorithms. Students will explore the design, analysis, and implementation of both classical and advanced data structures used in solving computational problems efficiently. Emphasis is placed on algorithmic efficiency, trade-offs between data structures, and the development of reusable
CSCI 204

Logic Design

The student is introduced to the basic content necessary to study computer hardware.
CSCI 211

Computer Architecture

The aim of this course is to provide students with a thorough introduction to computer architecture, where they learn the basic hardware structure of a programmable computer and the basic laws underlying performance evaluation.
CSCI 212

Database Systems

This course introduces the basics of database systems analysis and design. You will be introduced to the internal organization of a database system, and the main tasks of a database developer.
CSCI 221