Courses Catalog for Bachelor Degree - 2026
A — Common Foundation Courses
CSC 111
Computer Programming 1
This course introduces fundamental programming concepts and systematic problem-solving techniques. It emphasizes algorithmic thinking using flowcharts before transitioning to structured programming in Python. Students learn to analyze problems, design solutions, and implement them.
Starting Out with Python, Tony Gaddis, Pearson, latest edition.
CSC 113
Computer Programming 2
This course continues the coverage of the fundamental concepts of Object-Oriented Programming started in Programming I (CSC 111). It covers more advanced concepts and topics such as relationships between classes, inheritance, polymorphism, abstract classes, error handling, interfaces, generics and data structures.
1. An Introduction To Object-Oriented Programming With JAVA, Latest Edition, C. Thomas WU, McGraw-Hill Higher Education.
2. Java Programming: From Problem Analysis to Program Design, 4th Edition by D.S. Malik.
CSC 212
Data Structures
Fundamental concepts of data structures. Performance measurement of algorithms. Implementation and use of lists, stacks, queues, priority queues, trees, heaps, hash tables and graphs. Recursion. Students will do programming assignments.
Data Structures and Algorithms in Java, 6th edition, by M.T. Goodrich and R. Tamassia. John Wiley and Sons, Inc.
CSC 227
Operating Systems
This is an introductory course in Operating Systems. As such, it is intended to cover many of the concepts related to most of the actual Operating Systems. Although the study of a particular Operating System is out of the scope of this course, nevertheless, we will cover most of the concepts found in any existing Operating System. We will review computer system and operating system structures, processes and threads (concepts of, communication, synchronization and deadlocks), CPU Scheduling, memory management and virtual memory.
Operating Systems Concepts, 9th Edition by Abraham Silberschatz et al, John Willey & Sons, latest edition.
IT 210
Information Technology Fundamentals
This course provides an introduction to the fundamental principles of information technology and its pillars. It introduces students to the discipline of IT and its applications in industry. Topics include: techniques used in problem solving, solution representation, and ethical issues regarding legal, privacy and intellectual property rights concerns and their application to information technology.
Michael J. Quinn; Ethics for the Information Age; Addison-Wesley; latest edition.
IT 214
User Experience Design
This course provides an introduction to the field of Human-Computer Interaction (HCI) and an overview of software architectures used in modern interfaces. The course will describe and apply theoretical concepts for analyzing observed problems in interfaces, models and frameworks from the field. The interaction design process, rules and principles that support the usability will be described and applied theoretically and in practice via interaction prototypes. A variety of user interface evaluation techniques (e.g. GOMS, heuristic evaluation, User-Centered Design and contextual design techniques) in the field of HCI will be covered and applied according to usability and accessibility standards. The course will also cover principles of universal design.
1. Yvonne Rogers, Helen Sharp, Jennifer Preece, Interaction Design: Beyond Human Computer Interaction, Wiley, latest edition.
2. Alan Dix, Janet E Finlay, Gregory D Abowd, Russell Beale, Human Computer Interaction, Pearson, latest edition.
IT 216
Physics for IT
This course aims at covering the fundamental principles behind computer and network technologies. It is divided into three main sections. The first section focuses on electronics and digital circuits, semiconductors and the use of transistors and Integrated circuits in building digital circuits, digital electronics and the binary system. The second section focuses on electromagnetic waves, the different types of signals, frequency spectrum, signal propagation and amplification, analogue/digital conversion and modulation techniques. The third section covers force, motors and magnetic fields, conversion of mechanical/electrical energy, and motion principles.
1. Alexander, C. K., & Sadiku, M. N. O. Fundamentals of electric circuits. McGraw Hill. Latest edition.
2. Kumar, A. A. Fundamentals of digital circuits (latest ed.). PHI Learning.
IT 222
Database Principles
Characteristics of the database approach. Database concepts and architecture; Data models, schemas and instances; Program data independence, Database languages and interfaces. Data models for database systems; The E-R DM, Relational DM and Relational Algebra. Relational model constraints; Domain, key, and integrity constraints. SQL-relational DB language; Data definition, queries, update statements, and views in SQL. Database design; functional dependencies, Normal forms. Introduction to OO databases.
T. Connolly and C. Begg; Database Systems: A practical approach to design implementation and management; Latest Edition; Addison Wesley.
IT 324
Information Security
This course defines information security. Topics include security services and its mechanisms, such as confidentiality, integrity, availability and non-repudiation, security policies, access control models, authentication methods, types of attacks (including social engineering, man in the middle, DoS…etc), malware, security principles (such as separation of duties, need to know…etc), basic principles of hashing, symmetric & asymmetric cryptography, digital certificates & PKI, Email security through S/MIME & PGP, Web Security, overview of firewalls and Intrusion detection system, Operating System security, physical security, risk assessment, incidence response, disaster recovery, business continuity and a general look into computer forensics.
1. Security + Guide to NETWORK SECURITY Fundamentals, Mark Ciampa, Thomson Course Technology, latest edition.
2. Introduction to CRYPTOGRAPHY and NETWORK SECURITY, Behrouz A. Forouzan, McGraw-Hill International Edition, latest edition.
IT 328
Network Principles
This course provides an introduction to computer networks, including the Internet. It covers basic concepts and theory of computer networks and describes network technologies, architectures, protocols and standards in the different layers of the TCP/IP Internet suite of protocols. It introduces the basics of the physical layer and describes the architecture and design of local area networks including Ethernets. Topics include, but are not limited to, routing, addressing, process communication, reliability and network performance. The course provides theoretical background and hands on experience.
James Kurose, Keith Ross; Computer Networking: A Top-Down Approach Featuring the Internet; Addison Wesley; latest edition.
IT 330
Web Applications Engineering
This course provides a comprehensive introduction to web programming, covering both front-end and back-end development for building real-world web applications. Students learn web design principles, responsive design, client-side scripting, server-side programming and asynchronous client-server communication. The course emphasizes hands-on experience and enables students to develop full-stack web applications.
1. Learning Web Design. Jennifer Robbins, O'Reilly Media; latest edition.
2. Fundamentals of Web Development, by Randy Connolly and Ricardo Hoar. Latest edition.
IT 426
Artificial Intelligence Systems
This course introduces students to the wide field of Artificial Intelligence (AI) with emphasis on its use to solve real world problems. Students will be trained to get a basic and solid understanding of various fundamental topics of Artificial Intelligence including searching, knowledge representation and reasoning, rule-based systems and machine learning. This course is also an opportunity for students to discover AI based technologies. It should review how AI techniques have been incorporated by companies to enhance traditional business applications. An exposure to Python or another AI language would be beneficial for students. On completion of this module, students should relate what they have learned to what impact AI is making to society.
IT 428
Machine Learning and Data Mining
This course is an introductory course on data mining. It introduces the basic concepts and the fundamental principles of data mining with a focus on two major data mining functions: pattern discovery and cluster analysis. It also introduces the methods, implementation techniques, and applications of data mining.
1. Data Mining: Practical Machine Learning Tools and Techniques by Ian H. Witten, Eibe Frank, Mark A. Hall, Christopher J. Pal, Elsevier.
2. Data Mining and Machine Learning: Fundamental Concepts and Algorithms by Mohammed J. Zaki, Wagner Meira Jr., Cambridge University Press, latest edition.
IT 481
Introduction to IoT
The course provides an overview of key Internet of Things (IoT) concepts and explores its potential. It introduces IoT architectures, applications, standards and regulations. It describes the typical components of IoT device, and the different IoT design considerations, constrains and challenges. It presents technologies relevant to the design and development of IoT including object identification, localization, sensing & actuation, data and security. It also explores the IoT effect on society and businesses, and describes the trends for the future.
1. Neera Batra, Sonali Goyal, "IoT Fundamentals with a Practical Approach", CRC press, latest edition.
2. Rolando Herrero, "Fundamentals of IoT Communication Technologies", Springer. Latest edition.
IT 336
Introduction to Gameplay Programming
This course introduces the fundamentals of gameplay programming, focusing on the interaction between game objects and the game loop. Topics include game engines, scripting, physics, input handling, and basic AI for games.
IT 327
Practical Software Engineering
This course covers the fundamentals of software engineering, including software process models, understanding system requirements, effective methods of design using object-oriented design methodology, architectural design, and interface design. The course will also introduce students to different approaches to software development, system integration, system validation and verification techniques, software evolution process, software maintenance, managing the code, documentation, configuration management, and software quality management including software measurements and metrics. The course will combine a strong technical focus with a capstone project providing the opportunity to practice software engineering knowledge, skills, and practices.
1. A Guide to the Project Management Body of Knowledge: (Pmbok Guide); Project Management Institute; latest edition.
2. Information Technology Project Management; Kathy Schwalbe; latest edition; Cengage Learning.
IT 424
Introduction to Project Management
This course introduces students to the concepts and methodologies of Project Management (PM). Students will learn and apply basic project management concepts including planning, scheduling, work breakdown structures and project control, quality and risk management approaches and strategies, various cost estimation paradigms including estimation by analogy and algorithmic cost estimation techniques.
1. A Guide to the Project Management Body of Knowledge: (Pmbok Guide); Project Management Institute; latest edition.
2. Information Technology Project Management; Kathy Schwalbe; latest edition; Cengage Learning.
IT 427
IT Entrepreneurship & Innovation
This course will focus on teaching the basics of Innovation & Entrepreneurship in Information Technology, market analysis and customer engagement as well as open innovation. It will also tackle the creation of startups and managing their growth.
Yevgeniy Brikman. Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams. "O'Reilly Media, Inc.", latest edition.
IT 492
Practical Training
Students join a company or an IT center in a government or private sector on a full-time basis for at least 8 weeks in the last summer prior to their graduation. The aim of the practical training is to gain experience by applying knowledge and skills they acquire in the program in real-life and in team working. The training is evaluated by the training supervisor at the Organization and comprehensive reports are sent to the IT department.
IT 496
Project 1
This course is the first of a two-course sequence (IT496 and IT 497) in which the students will develop a complete software system using agile methodologies (an incremental approach). Students will work in teams; with an assigned supervisor to guide them through the software development process. Each team must select and identify a real-world problem, define the problem domain, elicit user and system requirements, analyze current solutions, and finally design and implement the first release of the system. Teams should demonstrate the ability to use new tools and programming languages. The graduation project committee provides support seminars for the students during the course. At the end of the course, each team should present a demo of the software system developed (release-1), discussing important design and development decisions. They should also submit a formal report documenting the system design and development. Team work, leadership, communication and writing skills are all important ingredients for a successful project.
IT 497
Project 2
This course is the second of a two-course sequence (IT496 and IT 497). The teams, with the guidance of their supervisor will continue the design and development of new increments for the second release of the software system (Release-2). Teams should demonstrate the ability to use new tools and programming languages. The graduation project committee provides support seminars for the students during the course. At the end of the course, each team should present a demo of the final software system, discussing important design and development decisions. They should also submit a final report, which documents the complete system design and development, as well as required admin guides and user manuals. Team work, leadership, communication and writing skills are all important ingredients for a successful project.
B — General Information Technology Track (GIT)
IT 362
Principles of Data Science (Core #1)
This course introduces students to the basics of Data Science, an essential emerging subject in the Information Technology field. It builds the foundation for other data management courses. It introduces the whole data science cycle from data collection, to exploratory data analysis, predictive and descriptive modeling, data interpretation and communication. Students will have exposure to hands-on state of the art tools.
1. Igual, L., & Seguí, S. (latest edition). Introduction to data science: A Python approach to concepts, techniques and applications. Springer.
2. Ozdemir, S. (latest edition). Principles of data science: Learn the techniques and math you need to start making sense of your data. Packt Publishing.
IT 371
Application Security (Core #2)
This course introduces students to the application engineering and design processes and how to integrate and apply cyber security tools and techniques in these processes. Topics include the methodology of secure application design, development and testing; application security best practices, methodologies and techniques; analysis of application-based attacks and defenses; and .Net security frameworks.
1. Tarandach, I., & Coles, M. J. Threat Modeling: A Practical Guide for Development Teams. O'Reilly Media, latest edition.
2. William Stallings; Lawrie Brown, Computer Security: Principles and Practice, Pearson, latest edition.
IT 471
Cyber Security Governance (Core #3)
This course covers issues concerning management of risks, which both digital information and network assets in an organization are exposed to, and provides information and guidelines that can help with the establishment of a framework to assure that information security strategies are aligned with the objectives of the business and are consistent with legal and regulatory obligations. Topics include existing risk management frameworks, models, processes and tools to equip students with the theory, science and practical knowledge to deal appropriately with risk in an enterprise.
IT 472
Cybercrime and Digital Forensics
This course covers fundamentals of digital forensics, cybercrime scene analysis and electronic discovery. Digital forensics uses tools and techniques to collect and preserve evidence of computer crimes. Digital forensics focuses on the reconstruction of events that have led to the system corruption, with the goals of recovering critical data, aiding authorities in tracking those who may have caused the security breach, and learning techniques used by hackers to improve the protection of systems and prevent similar breaches in the future. Topics include file systems and storage analysis, data hiding techniques, network forensics; projects involving using, understanding, and designing digital forensic tools; anti-forensics; legal issues and standards.
B. Nelson, A. Philips, C. Steuart; Guide to Computer Forensics and Investigations; Course Technology, latest edition.
IT 462
Big Data Systems
This course introduces key concepts and state-of-the-art big data systems. Main topics to be covered include but not limited to: fundamentals of data storage systems, big data platforms, cluster computing and distributed file systems of intensive data.
1. M. Kleppmann and C. Riccomini, Designing Data-Intensive Applications, Sebastopol, CA, USA: O'Reilly Media, latest edition.
2. J. S. Damji, B. Wenig, T. Das, and D. Lee, Learning Spark: Lightning-Fast Data Analytics, Sebastopol, CA, USA: O'Reilly Media, latest edition.
IT 463
Advanced Machine Learning Systems
This course covers advanced machine learning systems, focusing on the engineering aspects of building reliable, scalable, and deployable machine learning systems. Topics include MLOps, model deployment, monitoring, and scalability.
IT 469
Human Language Technologies
In this course, students will be exposed to methods for processing human language speech/text and the underlying computational properties of natural languages. Students will explore natural language knowledge at different levels including phonetics, morphology, syntax, semantics, pragmatics and discourse levels. The course also introduces students to the evaluation techniques in the field of human language technologies. In addition to building applications to process written and/or spoken language.
IT 477
Applied Network Security
The course covers theory and practice of network security giving detailed study of symmetric and asymmetric cryptography algorithms, pseudorandom functions and generators, hashing algorithms, message authentication codes, Key management through Diffie-Hellman key agreement & Kerberos, entity authentication through CHAP. The course also provides the students with a closer look into security protocols at different network layers such as SSL/TLS, IP Sec, VPNs, network security devices and designing secure networks. Through the use of lectures, hands-on tutorials and labs, the key components of Network Security will be discussed and demonstrated.
Network Security Essentials: Applications and Standards, by William Stallings, Prentice Hall, latest edition.
IT 468
Applied Computer Vision
This course will introduce a number of fundamental concepts in computer vision and expose students to a number of real-world applications. The students will gain hands-on experience by applying cutting-edge computer vision algorithms.
IT 465
Data Analytics & Visualization
This course introduces the main principles in data analytic and visualization. It provides students with statistical and quantitative analysis, extensive use of data, exploratory and predictive models, business intelligence (BI), and information visualization. During the course, students will practice design, develop, analyze and visualize different types of data using most recent tools based on data type.
IT 489
Selected Topics in IT
This course provides insight into current and emerging topics within the field of IT. Students are introduced to state-of-the-art technologies, industry trends, and innovative solutions that address contemporary challenges in information technology.
C — Game Design and Development Track (GDD)
IT 335
Gameplay Systems & Interactive Design (Core #1)
This course focuses on the foundational systems that define gameplay experience. Students examine animation, interface design, and 3D modeling principles. Additional topics include how games manage interaction with remote systems, structure of real-time applications, and testing techniques for validating behavior. The course encourages students to think critically about how system design supports immersion, emotion, and user engagement.
https://guides.github.com/introduction/git-handbook/
IT 333
Prototyping & Game Data System (Core #2)
A studio-style course in which students collaboratively develop a playable game prototype. Topics include structured data formats (e.g., JSON, XML), and relational data storage. The course emphasizes translating technical systems into meaningful player interactions, and encourages iterative development practices that align user feedback with gameplay design.
https://guides.github.com/introduction/git-handbook/
IT 431
Game Architecture & System Design (Core #3)
This course covers the architecture and system design of games, including engine architecture, rendering pipelines, physics engines, and networking.
IT 433
UI/UX for Interactive Systems
This course explores the design of user interfaces and user experiences for interactive systems, with a focus on games and immersive applications. Topics include usability, accessibility, and player engagement.
IT 432
Online Game System & Infrastructure
This course covers the infrastructure and systems required for online games, including networking, servers, scalability, and security.
IT 439
Interactive AI for Game Development
This course explores the application of artificial intelligence techniques in game development, including pathfinding, decision-making, procedural content generation, and player modeling.
IT 435
Tools Development for Game Production
This course covers the development of tools used in game production, including level editors, asset pipelines, and scripting tools.
IT 436
Game Graphics & Visual Effects
This course covers the principles and techniques of computer graphics and visual effects for games, including rendering, shading, animation, and particle systems.
IT 437
Science Foundations for Game Development
This course covers the mathematical and scientific foundations relevant to game development, including linear algebra, physics simulation, and numerical methods.
IT 438
Testing & Optimization
This course covers testing and optimization techniques for games, including performance profiling, debugging, and quality assurance.
D — Internet of Things Track (IoT)
IT 384
Edge and Cloud Computing (Core #1)
This course introduces students to edge and cloud computing paradigms, covering architectures, resource management, virtualization, and the integration of edge devices with cloud services.
IT 382
IoT Security and Privacy (Core #2)
This course covers security and privacy challenges in IoT systems, including authentication, encryption, secure communication protocols, and privacy-preserving techniques.
IT 385
IoT Big Data Analytics (Core #3)
This course covers big data analytics techniques for IoT data, including data ingestion, processing, storage, and analysis using cloud and edge computing platforms.
IT 363
Mobile Computing and Satellite Systems
This course provides an overview of existing and emerging mobile computing techniques and applications and explains challenges that are unique to the design, implementation, and evaluation of mobile computing. It describes several related technologies like context awareness and localization schemes. It also introduces mobile communication and the GSM system and its evolution encompassing 3G, 4G, 5G. It introduces satellite systems and its main applications. The course will also train students with hand-on experiences in developing mobile applications in a broad range of areas.
Mobile Computing by Kamal, Raj. Oxford University Press, latest edition.
IT 488
Digital Twin Systems and Applications
This course introduces the principles and practices of Digital Twin Technology within the context of the Internet of Things (IoT). Students will learn how to create virtual models that mirror physical systems in real-time using sensor data, cloud services, and analytical tools. The course covers digital twin architecture, communication protocols, data synchronization, visualization, and predictive analytics. Applications in smart cities, healthcare, logistics, and industry 4.0 are explored. Students will work on a hands-on project to design and deploy a basic digital twin using IoT devices and cloud platforms.
1. Digital Twin Technology and Applications - Edited by A. Daniel, Srinivasan Sriramulu, N. Partheeban, Santhosh Jayagopalan, latest edition.
2. Handbook of Digital Twins - Edited by Zhihan Lyu, latest edition.
IT 483
IoT Services & Applications
This course introduces students to the design, implementation, and deployment of IoT-enabled applications across key sectors such as smart cities, healthcare, logistics, agriculture, energy, and education. It focuses on the design, development, deployment, and operation of scalable smart applications using cloud-native and DevOps practices. Students learn to engineer end-to-end smart systems that integrate IoT data sources, cloud services, microservices architectures, frontend dashboards, and monitoring tools. The course emphasizes hands-on development of smart services using containerization, CI/CD pipelines, and real-time cloud platforms such as Google Cloud.
Cloud-Native DevOps: Building Scalable and Reliable Applications by Mohammed Ilyas Ahmed, latest edition.
IT 365
Robotics Systems
This course introduces students to modern robotic systems, including mobile robots, autonomous drones, and self-driving vehicles, with a strong emphasis on sensing, perception, control, and decision-making. Students will learn how robotic systems interact with their environments through embedded sensors, real-time data processing, and intelligent actuation. The course also explores the integration of AI techniques such as machine learning, computer vision, and path planning to enable autonomy.
1. Peter Corke, "Robotics, Vision and Control", springer, latest edition.
2. Francis X. Govers, "AI for Robotics", Packt Publishing, latest edition.
IT 487
Green Computing & Sustainability
This course explores the principles and practices of sustainable and energy-efficient computing through the use of IoT and cloud technologies. Students will learn how intelligent systems can monitor, optimize, and reduce energy consumption across different sectors such as buildings, agriculture, transportation, and data centers. Topics include green cloud infrastructure, energy-aware IoT design, carbon footprint measurement, and environmental data analytics.
1. Green Computing for Sustainable Smart Cities by Neha Sharma et al., springer publisher, latest edition.
2. Green Computing: Tools and Techniques for Saving Energy, Money, and Resources by Bud E. Smith, latest edition.
IT 486
Selected Topics in Networks & IoT
This course will cover advanced topics in networking and IoT according to the state of the art in the area.
Courses Catalog for Master Degree
A — Core Courses
IT 505
Research Methods
The course will introduce topics and issues in professional and research practice for computing professionals in an academic context. This will include the philosophy of research, qualitative and quantitative research, accessing and evaluating research materials, assessing outcomes and dissemination. Topics to be covered include: introduction to research; research process, research methods, paper and report writing; speaking and presentations; research tools, communication skills, critical thinking, introduction to technical writing, teamwork and team communications, oral communications and presentation skills.
IT 502
Advanced Topics in Web Technologies
This course explores technologies, programming languages and environments that underpin the development of modern web applications. It builds on student's previous programming and data management experience to develop and demonstrate technologies in action. Topics and techniques evolve from year to year to stay at the technological front end of the rapidly changing web and internet fields.
This course includes concepts, principles, and methods in current client and server-side web technologies. The focus is rather on advanced topics in emerging web Technologies and the latest or current technology used in the market. These include extension of Web standards, Web toolkits and development environments, current backend Web frameworks, frontend web frameworks and combination of different Web technologies. This course follows a student-centered and project-based learning approach. Web technologies will be presented in the lecture by student groups. The presented technologies are further investigated and applied in hands-on sessions as well as small student projects carried throughout the course.
IT 506
Advanced Topics in Internet of Things
This course is designed to teach theoretical and practical aspects of the Internet of Things (IoT). It covers a review of the IoT reference model, systems architecture, embedded systems, and IoT protocol stack. Also, it explains the data analytics in IoT, which includes: big data, data processing, streaming, machine learning for IoT, and caching of IoT data. Also, it covers the security aspects of IoT systems and discuss different challenges, use case scenarios and future trends in this field. The course helps students conduct research and understand the state-of-the-art developments in the IoT field. It also provides practical coursework to design and implement IoT solutions.
IT 549
IT Project Management
This course is designed to provide students with the skills and knowledge necessary to effectively manage IT projects. It covers topics such as project planning and integration, project scope, time, cost, stakeholders, human resources, communication, quality assurance and risk management. The course also provides project management software tools and techniques. Students will gain an understanding of the principles of project management and how they can be applied in the IT environment.
IT 507
Advanced Topics in Cloud Computing
This course provides an overview of the different methodologies, tactics, and tools used to build a well-architected cloud infrastructure. Topics include resource virtualization, resource management and scheduling, cloud migration, cloud networking and interoperability, security and alternative cloud architectures.
IT 593
Thesis Proposal Preparation
In this course, students develop a research proposal for their thesis. Students are guided by their research supervisors in selecting a research idea relevant to Information Technology, planning the research and preparing the research proposal. The components of the research proposal include the research aim and objectives, methods, timeline in addition to a thorough review of the literature to gain an understanding of key concepts relevant to the research topic.
IT 600
Thesis
The course provides the student with the opportunity to undertake original research at depth level and contribute to the existing body of knowledge in a specific area of information technology under the supervision of a faculty member from the IT department. Throughout the course, the student is expected to develop advanced knowledge and skills in the selected research field, gain experience in conducting independent research, and learn to communicate the research findings in a professional manner.
IT 596
Graduation Project (1)
For the non-thesis option, students should complete a project in the last two semesters of the program. This project is offered for students who are interested in developing practical or real-world applications in an area of Information Technology (IT) in preparation for professional practice. In IT 596, the project idea is registered with a faculty member from the IT department as the student supervisor.
Through this course, students can partner with organizations or companies to collect data, challenges, or requirements. This partner can be the project client that needs the developed solution and will use the final product in the following semester. Having a partner or client is not mandatory in this course but rather recommended. Upon completion of this course, students should have conducted their research to fully understand the problem, investigated the literature to identify the current gaps, and propose a general solution to be developed in the following semester. By the end of the semester, the student should submit a complete report about their work so far and present their findings and proposed solution (public presentation). The main goal of this course is to bring together all learned skills and knowledge and apply concepts learned through the program.
IT 597
Graduation Project (2)
This course is continuous to IT596 course, in which students implement, test, verify, and validate the proposed solution and expected results. Upon completion of this course, students should submit a complete report about their solution with the validation results and present their results in technical settings (public presentation).
The main goal of this course is to apply practical skills and knowledge learned through the program and produce their final application/product.
B — Elective Courses
IT 501
Advanced Topics in Computer Networks
The course will cover a wide range of advanced topics in both wired and wireless networks. Covered topics include: review of OSI layered architecture, multimedia networking, software-defined Networking (SDN), cognitive networks, programmable networks, mobile ad hoc networks (MANETs), and wireless sensor networks. In the process of learning network architectures and protocols, students will evaluate the performance of various design concepts.
IT 504
Selected Topics in Information Technology
This course covers the topics: introduction to special topics of current interest of the field in Information Technology.
IT 531
Advanced Networks Security
Topics will reflect the current research in network security. Students will learn about security flaws in the network infrastructure protocols. Topics include: DNS security, denial of service protection, cryptography, anonymity and privacy enhancing technologies, malware containment, wireless network security, Network Security protocols, email security, firewalls architectures, virtual private networks, and Intrusion Detection Systems.
IT 533
Ubiquitous & Pervasive Computing
This course will introduce students to the area of ubiquitous and pervasive computing (UPC). Topics to be covered include: overview of ubiquitous and pervasive computing, mobile and social computing, networked appliances, sensors and context information, intelligent/smart spaces, human computer interaction issues, security and privacy problems in UPC and real-world applications of UPC. Students will practically learn how to build, deploy and evaluate UPC systems.
IT 536
Bioinformatics
This course is an overview of the fundamental algorithmic approaches in analyzing the large datasets generated from experiments in molecular biology. It introduces the students to the basis of evolutionary genomics and how to apply modern bioinformatics tools and methods to develop the most effective and useful computational tools for genomics data analysis. The course will cover phylogeny, transcriptomics analysis and comparison of genomics tools to solve the practical challenges in bioinformatics.
IT 537
Mobile Computing
This course introduces the main aspects of mobile computing – software, hardware and embedded sensors, and communication networks with main focus on distributed mobile applications. It discusses several topics related to mobile applications including context awareness, localization and location-based services, mobile data management and mobile middleware.
IT 539
Semantic Web
The course will focus on understanding the fundamentals of the Semantic Web, including its principles, components, and technologies. Students will learn how to create and use RDF and OWL models, as well as domain-specific standards and ontologies (formal specifications of how to represent objects and concepts) to represent and query data, and how to integrate Semantic Web technologies into web applications. The course will also cover other topics, such as Linked Data and Knowledge Graphs.
IT 540
E-Government
This course will introduce students to e-government and its impacts and different types. It also will highlight the challenges of e-government implementation and how to overcome these challenges, the benefits and economic advantages of successful e-government implementation and the socio-technical infrastructure required for e-government.
Moreover, it will investigate the design and evaluation of e-government services. Furthermore, it will explore the technology and data aspects of e-government. Lastly, recent research in e-government will be addressed to emphasize the applications of the emerging technologies in this domain.
IT 543
Usability & User Experience in Information Technology
This course introduces students to the fundamentals of User Experience (UX) and usability (UX). The course covers a series of methods and tools in two areas: design, and evaluation. Methods and tools to design may include requirements analysis, use cases, scenarios, sketching, prototyping toolkits, and sequential storyboards. Method and tools to evaluate designs may include heuristic inspections, walkthroughs, usability testing, analytics, predictive models, and lean validation. More practical topics may include design thinking, UX strategy, UX ethic, agile and Lean UX, building a UX portfolio, and institutionalization of UX.
IT 544
Interactive Multimedia Applications
The course covers an overview of the hypermedia/interactive multimedia technology through working with various hypermedia/interactive multimedia tools and applying them in developing interactive multimedia-based applications.
IT 545
E-Business
This course covers the topics: introduction to E-business, evolution of E-business, E-business management, E-business activities, applications in E-business, E-business technology infrastructure; strategic, managerial, operational and technical factors in the development of an organization's E-business competencies and capabilities; E-Commerce, common techniques to enhance business processes; ethics, challenges and regulatory environments for conducting E-business models, current business and technology trends including the individual, business and societal implications of E-business, influence of E-business on the market creation and web business relations.
IT 547
Open-Source Technologies
This course will cover the fundamentals of Free and Open-Source software development. Topics to be addressed include: Licensing, Linux, Methodologies, frameworks, typical software development tools, applications, and techniques for managing remote servers. Students will work on a significant development project involving free and open-source software and learn how to participate in open-source projects effectively.
IT 548
Information Visualization
This course will provide introduction of the relevant concepts, issues and practices in this diverse field including a brief history of data/ information visualization; principles of visual literacy; an overview of contemporary systems and techniques used in information visualization; common applications of information visualization; and considerations in analyzing and evaluating applications in information visualization.
IT 552
Big Data Analytics
An introduction to data analytics: how to convert data into information. Tasks required to answer an analytic question, make predictions or make decisions starting from raw data. Covers topics in data preparation, identification of patterns and structures, modeling, statistical analysis, learning, and mining. In addition, an overview of advanced topics is made, including time series analysis and text analysis.
IT 553
Virtual Reality Technologies
This course provides an overview of virtual reality technologies. It introduces virtual reality systems and their components. It describes the basics of virtual reality world generators such as the geometry of virtual worlds and visual rendering. It explores visual perception and how it is used in virtual reality systems. It describes user interaction mechanisms, and some concepts in evaluating a virtual reality system. The course also provides hands-on-experience by building a virtual reality game.
IT 554
Health Informatics Applications
This course will cover the critical role of the e-Health and Health information technology systems in the planning, operation and management of health care organizations, standards and interoperability, decision support systems, health informatics specialties, organizing health information, analysis and design, selection, implementation and evaluation of health information technologies in a variety of settings such as health systems, hospitals and medical practices.
IT 555
Recommender Systems
Recommender systems offer personalized access to online information in product catalogs, social media networks, and document collections, among other applications. This course provides an in-depth introduction to the field of recommender systems. It introduces the fundamental concepts and techniques in designing and evaluating these systems. Students will be given a hands-on experience with implementing recommender systems using an open-source toolkit and conducting experimental evaluations on real-world data. Topics will cover various approaches for building recommender systems including collaborative, content-based, and hybrid methods; and evaluation metric.
IT 556
Engineering Intelligent IT Applications
This course will cover the engineering aspects of building reliable AI systems. The course will follow Machine Learning Model Operationalization Management (MLOps) framework for developing real-world machine learning systems that are deployable, reliable, and scalable. It starts by considering all stakeholders of each machine learning project and their objectives. Different objectives require different design choices, and this course will discuss the tradeoffs between these choices. This course will involve lectures, seminar-style discussions, hands-on exercises, and student presentations. Students will be responsible for paper readings, and completing a hands-on project.
IT 557
Enterprise Management Applications
The course provides students with a foundation in enterprise-wide IT systems and their characteristic domains such as business processes management, configuration and integration of enterprise systems, and change management in enterprise systems. Thus, enable companies to achieve their strategic, tactical, and operational goals.
Students will learn about the IT capabilities needed by companies to coordinate their activities and strategic attributes addressed by different extensions of enterprise management systems such as business process re-engineering, supply chain management, customer relationship management, cloud enterprise system and enterprise system project life cycle. The course will also provide hands-on experience using industry-standard enterprise software application.
IT 558
Natural Language Processing for Arabic Language
The course covers the fundamentals of natural language processing (NLP) with an emphasis on Arabic. It includes foundational NLP concepts and ideas, such as regular expressions, n-gram models, part-of-speech tagging, syntactic parsing, and semantic representations (including word embeddings).
The course will cover an understanding of various NLP applications such as sentiment analysis, information retrieval, summarization and machine translation. The course will also introduce cutting-edge research progress in NLP, including multilingual, cross-lingual methods and state of the art techniques for effectively modeling human language.
IT 559
Cyber Security
This course introduces cybersecurity and its main goals. It explains the security of cloud and IoT, their main concepts, and security issues. Also, it covers cybercrime including malware and spyware by exploring their various types, characteristics, and current detection and defense techniques.
The course investigates modern cryptographic algorithms and their application in secure systems. In addition, Access control topics including its implementation, authorization, and authentication are provided. The course covers significant risk management concepts and security policies to support private and governmental sectors.
IT 560
Social Computing
Social networking platforms and other online interaction and content generation mediums have introduced a powerful tool for people to communicate and exchange information. Social computing lies at the intersection of computational systems and social behavior. This course aims to develop a broad understanding of the current state of online social systems. It discusses how and why social computing works, the real-world opportunities and challenges in current social computing systems. Moreover, it introduces methods for analyzing and understanding how people use social computing technologies and their societal implications. The course will also introduce students to the science and social science of network analysis.
IT 561
Information Retrieval and Web Search
The aim of the course is to provide an introduction to the core principles and techniques used in modern Information Retrieval (IR). Topics include retrieval models (e.g., Boolean, vector space, probabilistic, and learning-based methods), search evaluation, retrieval feedback, and applications of search engine technologies; summarization and recommendation systems.