Courses Catalog for Bachelor Degree
A - Common Foundation Courses
Course Code: CSC 111 | Course Title: Computer Programming 1 |
Credits: 4 | Pre-requisites: CT 101 |
Level: 3 | |
Course Description: Introduction to computers and programs. Programmer’s algorithm, byte code and Java Virtual Machine. Java program’s structure, constants, variables and built-in data types. The arithmetic, assignment, increment and decrement operators. Classes and object definition, UML representation of a class, declaration of objects (Instance variables), primitive types and reference types. Relational and logical operators, Boolean expressions, conditional statements, loop statements. Object oriented principles, encapsulation and information hiding, methods and the message passing principles, setters, and getters. Methods in depth, passing parameters, constructors, setters. Arrays, usefulness of arrays, declaration of arrays, access to array elements, operations on arrays. |
Course Code: CSC 113 | Course Title: Computer Programming 2 |
Credits: 4 | Pre-requisites: CSC 111 |
Level: 4 | |
Course Description: 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. |
Course Code: CSC 212 | Course Title: Data Structures |
Credits: 3 | Pre-requisites: CSC 113 |
Level: 5 | |
Course Description: 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. |
Course Code: CSC 227 | Course Title: Operating Systems |
Credits: 3 | Pre-requisites: CSC 212 |
Level: 6 | |
Course Description: 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. |
Course Code: IT210 | Course Title: Information Technology Fundamentals |
Credits: 3 | Pre-requisites: - |
Level: 3 | |
Course Description: 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. |
Course Code: IT214 | Course Title: User Experience Design |
Credits: 3 | Pre-requisites: CSC111 |
Level: 4 | |
Course Description: 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. |
Course Code: IT219 | Course Title: Physics for IT |
Credits: 3 | Pre-requisites: - |
Level: 3 | |
Course Description: 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. |
Course Code: IT222 | Course Title: Database Principles |
Credits: 3 | Pre-requisites: IT210 |
Level: 4 | |
Course Description: 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. |
Course Code: IT223 | Course Title: Computer Organization & Architecture |
Credits: 3 | Pre-requisites: Math 151 + IT219 |
Level: 4 | |
Course Description: This course introduces students to computer organization and architecture. Topics include: data representation, digital logic, fundamental building blocks (logic gates, flip-flops, decoders, encoder, multiplexer, arithmetic functions, counters, registers), register transfer notation, memory, bus and CPU (datapath and control unit) design. |
Course Code: IT312 | Course Title: Web Applications Engineering |
Credits: 3 | Pre-requisites: CSC 111 |
Level: 5 | |
Course Description: This course introduces students to the wide field of Web Programming with emphasis on its use to build real world web applications. Students will be trained to get a basic and solid understanding of various fundamental topics of front-end web programming including web design principles, and client-side scripting. It also introduces the latest technologies in front end web development frameworks and responsive web design. On completion of this course, students should relate what they have learned to what impact the web is making to society. |
Course Code: IT320 | Course Title: Practical Software Engineering |
Credits: 4 | Pre-requisites: IT 214 |
Level: 6 | |
Course Description: 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. |
Course Code: IT324 | Course Title: Information Security |
Credits: 4 | Pre-requisites: - |
Level: 5 | |
Course Description: 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. |
Course Code: IT326 | Course Title: Data Mining |
Credits: 3 | Pre-requisites: - |
Level: 5 | |
Course Description: 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. |
Course Code: IT328 | Course Title: Network Principles |
Credits: 4 | Pre-requisites: IT 219 |
Level: 5 | |
Course Description: 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. |
Course Code: IT329 | Course Title: Advanced Web Technologies |
Credits: 3 | Pre-requisites: IT 328+ IT 312 |
Level: 6 | |
Course Description: This course extends students’ web development capabilities by focusing on back-end web technologies and enhancing students’ knowledge in advanced and emerging web development concepts. The course covers asynchronous client-server communication, server-side development and explores methodologies for web-based information exchange (i.e. Web services and web application programming interfaces APIs). Throughout the course, emphasis is placed on exposure to up-and-coming technologies relating to the web, providing hands-on experience, and discussion of practical implications of such emerging technologies. |
Course Code: IT 423 | Course Title: Introduction to Project Management |
Credits: 3 | Pre-requisites: IT 320 |
Level: 7 | |
Course Description: 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. |
Course Code: IT 426 | Course Title: Artificial Intelligence Systems |
Credits: 3 | Pre-requisites: CSC212 + Math 244 |
Level: 7 | |
Course Description: 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. |
Course Code: IT 427 | Course Title: IT Entrepreneurship & Innovation |
Credits: 3 | Pre-requisites: IT 320 |
Level: 8 | |
Course Description: 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. |
Course Code: IT 479 | Course Title: Practical Training |
Credits: 2 | Pre-requisites: completing at least 90 credit hours |
Level: 7 | |
Course Description: 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. It may be for a longer time if taken on part-time basis. 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. |
Course Code: IT 496 | Course Title: Project 1 |
Credits: 3 | Pre-requisites: IT320, CSC212 + completing at least 90 credit hours |
Level: 7 | |
Course Description: 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. |
Course Code: IT 497 | Course Title: Project 2 |
Credits: 3 | Pre-requisites: IT 496 |
Level: 8 | |
Course Description: 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 (Relese-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 - Data Science and Artificial Intelligence (DS)
Course Code: IT 362 | Course Title: Principles of Data Science |
Credits: 3 | Pre-requisites: CSC212 |
Level: 6 | |
Course Description: 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. |
Course Code: IT 461 | Course Title: Practical Machine Learning |
Credits: 3 | Pre-requisites: IT 326 |
Level: 7 | |
Course Description: This course introduces students to the basic concepts, techniques, and algorithms in Machine Learning (ML), with more emphasis on practical applications using real problems and data sets. It covers different types of learning algorithms, such as supervised and unsupervised learning. Students will learn how to analyze models’ performance using different techniques and tackle some common performance problems such as over- and under- fitting. |
Course Code: IT 462 | Course Title: Big Data Systems |
Credits: 3 | Pre-requisites: IT 326 |
Level: 8 | |
Course Description: 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. |
Course Code: IT 465 | Course Title: Data Analytics & Visualization |
Credits: 3 | Pre-requisites: IT 362 |
Level: 8 | |
Course Description: 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. |
Course Code: IT 466 | Course Title: Selected Topics in Data Science and Artificial Intelligence |
Credits: 3 | Pre-requisites: IT 362 |
Level: 8 | |
Course Description: The course provides insight into selected state of the art relevant topics within data science and artificial intelligence. Students will be introduced to the most recently practical experience with data analysis and optimization, and industry related algorithms and technologies. |
Course Code: IT 467 | Course Title: Advanced Artificial Intelligence |
Credits: 3 | Pre-requisites: IT426, IT461 |
Level: 8 | |
Course Description: In this course students will be exposed to advanced topics in Artificial Intelligence. Also, an introduction to robots and their applications will be also covered including real world case studies from business and industry. The course also covers the ethical issues related to AI. |
Course Code: IT 468 | Course Title: Applied Computer Vision |
Credits: 3 | Pre-requisites: IT461 |
Level: 8 | |
Course Description: 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. |
Course Code: IT 469 | Course Title: Human Language Technologies |
Credits: 3 | Pre-requisites: IT461 |
Level: 8 | |
Course Description: 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. |
C - Cyber Security (CYS)
Course Code: IT 371 | Course Title: Application Security |
Credits: 3 | Pre-requisites: IT 324 |
Level: 6 | |
Course Description: 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. |
Course Code: IT 471 | Course Title: Cyber Security Governance |
Credits: 3 | Pre-requisites: IT 324 |
Level: 7 | |
Course Description: 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. |
Course Code: IT 472 | Course Title: Cybercrime and Digital forensics |
Credits: 3 | Pre-requisites: IT 371 |
Level: 8 | |
Course Description: 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. |
Course Code: IT 473 | Course Title: System Security |
Credits: 3 | Pre-requisites: IT 371 |
Level: 8 | |
Course Description: Course topics are related to securing and hardening different operating systems, virtual machine infrastructures, access control, and assuring security of systems. |
Course Code: IT 474 | Course Title: Network Security |
Credits: 3 | Pre-requisites: IT 324 |
Level: 8 | |
Course Description: The course covers theory and practice of network security giving detailed study of identification and authentication methods, authentication and key exchange protocols such as: Diffie-Hellman key agreement. The course also provides the students with a closer look into security protocols at different network layers such as SSL/TLS, SSH, IPSec and https. Also, it covers security in email servers, proxy servers, wireless and mobile, security in network components, using network defenses and designing secure networks. Through the use of lecture, and hands-on tutorials and labs, the key components of Network Security will be discussed and demonstrated. |
Course Code: IT 475 | Course Title: Information Assurance Compliance and Audit |
Credits: 3 | Pre-requisites: IT 471 |
Level: 8 | |
Course Description: This course covers the principles, approaches and methodologies in auditing information systems to ensure the processes and procedures are in compliance with relevant laws and regulatory provisions especially in the context of information systems security. The aim of the course is to build an understanding of the process for conducting IT audit of information systems and related controls to meet business objectives. |
Course Code: IT 476 | Course Title: Selected Topics in Cyber Security |
Credits: 3 | Pre-requisites: IT 371 |
Level: 8 | |
Course Description: This course covers new emerging Cyber Security methodologies, frameworks, technologies, research, … etc. |
D - Networks & IOT Engineering (NIE)
Course Code: IT 381 | Course Title: Wireless & Mobile Computing |
Credits: 3 | Pre-requisites: IT 328 |
Level: 6 | |
Course Description: This course will examine the area of mobile and wireless networking, looking at the unique network protocol challenges and opportunities presented by wireless communication and host or router mobility. Although, this course will touch on some of the important physical layer properties of radio and infrared communications, it will focus on network protocols above the physical layer, with an emphasis on the media access control, network, and transport protocol layers. |
Course Code: IT 481 | Course Title: Introduction to IoT |
Credits: 3 | Pre-requisites: IT 328 |
Level: 7 | |
Course Description: 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. |
Course Code: IT 482 | Course Title: Sensor and Ad hoc Networks |
Credits: 3 | Pre-requisites: IT 381 |
Level: 8 | |
Course Description: This course provides an introduction to ad hoc and sensor networks and describes the fundamentals behind their design and their role in ubiquitous and pervasive computing. It explains Wireless Sensor Networks (WSNs) architecture, sensor node hardware and operating systems, protocols, and applications. It covers several issues and challenges like data aggregation, information dissemination, power management, localization, coverage and self-organization. A primary focus of this course is to give students hands-on programming experience with various sensors and sensing platforms. |
Course Code: IT 483 | Course Title: IoT Services & Applications |
Credits: 3 | Pre-requisites: IT481, IT312 |
Level: 8 | |
Course Description: This course introduces development technologies, standards and applications for the Internet of Things (IoT). It also introduces the Web of Things and describes how to design and implement scalable, flexible, and open IoT solutions using web services and technologies. It describes the Web of Things layered architecture and introduces several protocols. Moreover, it examines various WoT applications such as smart homes, smart buildings, smart cities, smart health and smart education and discusses IoT smart concepts like smart sustainability, smart mobility, smart spaces and green computing. Also, it explains big data analytics for IoT including enabling technologies, types of IoT data analytics, and challenges. The module provides hands-on expertise in designing and developing IoT web services and APIs. |
Course Code: IT 484 | Course Title: Cloud Computing |
Credits: 3 | Pre-requisites: IT328 |
Level: 8 | |
Course Description: This course presents the Cloud infrastructure, architecture, and different service models (Saas, Paas and Iaas). A comprehensive study of the Cloud reference model is provided, including: storage technologies, virtualization, resources control, services orchestration. The course also covers important concerns regarding Cloud deployment: security, business continuity and service management. |
Course Code: IT 485 | Course Title: Robotics fundamentals |
Credits: 3 | Pre-requisites: - |
Level: 8 | |
Course Description: This course provides an overview of robot mechanisms, dynamics, and intelligent controls. Topics include planar and spatial kinematics, motion planning; mechanism design for manipulators, multi-rigid-body dynamics, Topics also include robots programming tools such as control design, actuators, and sensors, localization, mapping, and navigation. |
Course Code: IT 486 | Course Title: Selected Topics in Networks &IoT |
Credits: 3 | Pre-requisites: IT481 |
Level: 8 | |
Course Description: This course will cover advance topics in networking and IOT according to the state of the art in the area. |
Courses Catalog for Master Degree
A - Core Courses
Course Code: IT 505 | Course Title: Research Methods |
Credits: 3 | Pre-requisites: - |
Level: 1 | |
Course Description: 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. |
Course Code: IT 502 | Course Title: Advanced Topics in Web Technologies |
Credits: 3 | Pre-requisites: - |
Level: 1 | |
Course Description: This course explores technologies, programming languages and environments that underpin the development of modern wen 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 we 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.
|
Course Code: IT 506 | Course Title: Advanced Topics in Internet of Things |
Credits: 3 | Pre-requisites: - |
Level: 2 | |
Course Description: 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. |
Course Code: IT 549 | Course Title: IT Project Management |
Credits: 3 | Pre-requisites: - |
Level: 2 | |
Course Description: 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. |
Course Code: IT 507 | Course Title: Advanced Topics in Cloud Computing |
Credits: 3 | Pre-requisites: - |
Level: 3 | |
Course Description: 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. |
Course Code: IT 593 | Course Title: Thesis Proposal Preparation |
Credits: 1 | Pre-requisites: 18 units + )IT 505( |
Level: 3 | |
Course Description: 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. |
Course Code: IT 600 | Course Title: Thesis |
Credits: 6 | Pre-requisites: IT 593 |
Level: 4 | |
Course Description: 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. |
Course Code: IT 596 | Course Title: Graduation Project (1) |
Credits: 3 | Pre-requisites: 18 units+ (IT 505 ) |
Level: 3 | |
Course Description: 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-word 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.
|
Course Code: IT 597 | Course Title: Graduation Project (2) |
Credits: 3 | Pre-requisites: IT 596 |
Level: 4 | |
Course Description: 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
Course Code: IT 501 | Course Title: Advanced Topics in Computer Networks |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 504 | Course Title: Selected Topics in Information Technology |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: This course covers the topics: introduction to special topics of current interest of the field in Information Technology.
|
Course Code: IT 531 | Course Title: Advanced Networks Security |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. | |
Course Code: IT 533 | Course Title: Ubiquitous & Pervasive Computing |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 536 | Course Title: Bioinformatics |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 537 | Course Title: Mobile Computing |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 539 | Course Title: Semantic Web |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 540 | Course Title: E-Government |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 543 | Course Title: Usability & User Experience in Information Technology |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 544 | Course Title: Interactive Multimedia Applications |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 545 | Course Title: E-Business |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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.
|
Course Code: IT 547 | Course Title: Open-Source Technologies |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 548 | Course Title: Information Visualization |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 552 | Course Title: Big Data Analytics |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 553 | Course Title: Virtual Reality Technologies |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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, d some concepts in evaluating a virtual reality system. The course also provides hands-on-experience by building a virtual reality game.
|
Course Code: IT 554 | Course Title: Health Informatics Applications |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 555 | Course Title: Recommender Systems |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 556 | Course Title: Engineering Intelligent IT Applications |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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. |
Course Code: IT 557 | Course Title: Enterprise Management Applications |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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.
|
Course Code: IT 558 | Course Title: Natural Language Processing for Arabic Language |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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.
|
Course Code: IT 559 | Course Title: Cyber Security |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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.
|
Course Code: IT 560 | Course Title: Social Computing |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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.
|
Course Code: IT 561 | Course Title: Information Retrieval and Web Search |
Credits: 3 | Pre-requisites: - |
Level: - | |
Course Description: 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.
|