Course Code: CSC 111 | Course Name: Computer Programming 1 | Credits (lecture +lab +tutorial): 4 (3+2+1) | Pre-requisites: CT 101 | Level: 3 | Co-requisites: | 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 Name: Computer Programming 2 | Credits (lecture +lab +tutorial): 4 (3+2+1) | Pre-requisites: CSC 111 | Level: 4 | Co-requisites: | 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 | رقم المقرر و رمزه: 212 عال | Course Name: Data Structures | اسم المقرر: هياكل البيانات | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: CSC 113 | Level: 5 | Co-requisites: | 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 Name: Operating Systems | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: CSC 212 | Level: 6 | Co-requisites: | 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: IT 210 | Course Name: Information Technology Fundamentals | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: | Level: 3 | Co-requisites: | 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: IT 214 | Course Name: User Experience Design | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: CSC111 | Level: 4 | Co-requisites: | 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: IT 219 | Course Name: Physics for IT | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: | Level: 3 | Co-requisites: | 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: IT 222 | Course Name: Database Principles | Credits (lecture +lab +tutorial): 3 (2+2+1) | Pre-requisites: IT210 | Level: 4 | Co-requisites: | 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: IT 223 | Course Name: Computer Organization & Architecture | Credits (lecture +lab +tutorial): 3 (3-0-2) | Pre-requisites: Math 151 + IT219 | Level: 4 | Co-requisites: | 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: IT 312 | Course Name: Web Applications Engineering | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: CSC 111 | Level: 5 | Co-requisites: | 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: IT 320 | Course Name: Practical Software Engineering | Credits (lecture +lab +tutorial): 4 (3-2-1) | Pre-requisites: IT 214 | Level: 6 | Co-requisites: IT 329 | 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: IT 324 | Course Name: Information Security | Credits (lecture +lab +tutorial): 3 (3-0-2) | Pre-requisites: | Level: 5 | Co-requisites: IT 328 | 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: IT 326 | Course Name: Data Mining | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: | Level: 5 | Co-requisites: CSC212 | 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: IT 328 | Course Name: Network Principles | Credits (lecture +lab +tutorial): 4 (3-2-0) | Pre-requisites: IT 219 | Level: 5 | Co-requisites: | 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: IT 329 | Course Name: Advanced Web Technologies | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: IT 328+ IT 312 | Level: 6 | Co-requisites: | 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 Name: Introduction to Project Management | Credits (lecture +lab +tutorial): 3 (2-2-0) | Pre-requisites: IT 320 | Level: 7 | Co-requisites: | 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 Name: Artificial Intelligence Systems | Credits (lecture +lab +tutorial): 3 (3+0+2) | Pre-requisites: CSC212 + Math 244 | Level: 7 | Co-requisites: | 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 Name: IT Entrepreneurship & Innovation | Credits (lecture +lab +tutorial): 3 (3-0-0) | Pre-requisites: IT 320 | Level: 8 | Co-requisites: | 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 Name: Practical Training | Credits (lecture +lab +tutorial): 2 (2-0-0) | Pre-requisites: completing at least 90 credit hours | Level: 7 | Co-requisites: | 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 Name: Project 1 | Credits (lecture +lab +tutorial): 3 (3-0-0) | Pre-requisites: IT320, CSC212 + completing at least 90 credit hours | Level: 7 | Co-requisites: | 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 Name: Project 2 | Credits (lecture +lab +tutorial): 3 (3-0-0) | Pre-requisites: IT 496 | Level: 8 | Co-requisites: | 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. |
Course Code: IT 362 | Course Name: Principles of Data Science | Credits (lecture +lab +tutorial): 3 (3+0+2) | Pre-requisites: CSC212 | Level: 6 | Co-requisites: | 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 Name: Practical Machine Learning | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 326 | Level: 7 | Co-requisites: | 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 Name: Big Data Systems | | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 326 | Level: 8 | Co-requisites: | 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 Name: Data Analytics & Visualization. | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT362 | Level: 8 | Co-requisites: | 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 Name: Selected Topics in Data Science and Artificial Intelligence | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: IT 362 | Level: 8 | Co-requisites: | 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 Name: Advanced Artificial Intelligence | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT426, IT461 | Level: 8 | Co-requisites: | 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 Name: Applied Computer Vision | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 461 | Level: 8 | Co-requisites: | 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 Name: Human Language Technologies | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 461 | Level: 8 | Co-requisites: | 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. |
Course Code: IT 371 | Course Name: Application Security | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 324 | Level: 6 | Co-requisites: IT 329 | 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 Name: Cyber Security Governance | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: IT 324 | Level: 7 | Co-requisites: | 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 Name: Cybercrime and Digital forensics | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 371 | Level: 8 | Co-requisites: | 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 Name: System Security | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 371 | Level: 8 | Co-requisites: | 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 Name: Network Security | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT 324 | Level: 8 | Co-requisites: | 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 Name: Information Assurance Compliance and Audit | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: IT 471 | Level: 8 | Co-requisites: | 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 Name: Selected Topics in Cyber Security | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: IT 371 | Level: 8 | Co-requisites: | Course Description: - This course covers new emerging Cyber Security methodologies, frameworks, technologies, research, … etc.
|
Course Code: IT 381 | Course Name: Wireless & Mobile Computing | Credits (lecture +lab +tutorial): 3 (2+2+1) | Pre-requisites: IT 328 | Level: 6 | Co-requisites: | 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 Name: Introduction to IoT | Credits (lecture +lab +tutorial): 3 (3+0+2) | Pre-requisites: IT 328 | Level: 7 | Co-requisites: | 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 Name: Sensor and Ad hoc Networks | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT381 | Level: 8 | Co-requisites: | 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 Name: IoT Services & Applications | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT481, IT312 | Level: 8 | Co-requisites: | 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 Name: Cloud Computing | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: IT328 | Level: 8 | Co-requisites: | 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 Name: Robotics fundamentals | Credits (lecture +lab +tutorial): 3 (2+2+0) | Pre-requisites: | Level: 8 | Co-requisites: | 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 Name: Selected Topics in Networks &IoT | Credits (lecture +lab +tutorial): 3 (3+0+1) | Pre-requisites: IT481 | Level: 8 | Co-requisites: | Course Description: - This course will cover advance topics in networking and IOT according to the state of the art in the area.
|
|