Mathematics and Statistics for IT
The course introduces fundamentals of mathematics and statistics that IT professionals need. The course overs relevant topics in statistical sampling, descriptive statistics, functions, relations, sets, probability of events, research questions and hypothesis, logic, and their applications in IT. The course also introduces basic terminologies of trees, and graph theory.
Introduction to Computer Programming
This course is the first contact of the students with the programming, it starts with the basic theoretical component which allows them to understand what an algorithm and its major components, structure and elements is. Then students gradually start building flowcharts, algorithms, pseudo code, and coding using C language.
This course introduces students to the concepts, techniques and procedures for writing simple programs in C. It covers steps for developing a computer program, input/output instructions, constants, variables and data types, operators, selections and iteration control statements, and arrays. In addition, this course introduces the concepts of modular programming through in-built and user defined functions in C programming.
Software Project Management
The Software Project Management course introduces students to the general concepts and techniques of project management. Students will learn the concepts of project selection, project management structures, and the definition of projects. In addition, this course demonstrates estimating project times and costs and developing a project plan. Students are further introduced to the main stages needed in the development of information software projects and the methods used to manage them taking into consideration the interaction between IT applications and organizational processes.
Introduction to Computer Architecture
This course introduces the concept of computer as a set of hardware, software and data components integrated through different architecture models. The described hardware components include the processor, the memory and the input/output interfaces while the software components include the operating system, the utility software and low to high level programming languages focusing on the assembly language. The course presents the data representation at the machine level and introduces the concepts of digital logic.
In addition, the students will be given an overview of the evolution of computers and the associated technologies together with a presentation of future technological trends.
Introduction to Database Management System
This course presents the basic concepts and principles of the relational database model in addition to the database system architectures. The course also introduces the basic concepts of the relational algebra along with suitable examples. The entity-relationship model is detailed with all its components including the entities, attributes and relationships. Finally, this course introduces the main parts of the Structured Query Language (SQL) such as DDL, DML and DCL.
Computer Programming and Problem Solving
This course is the second course for the student to study computer programming using C language. It covers static data structures, modular programming techniques, library functions, user-defined functions, header files, structure, preprocessor directive, pointer, files and streams, and dynamic data structures.
Introduction to Computer Networks
In this course students are going to be introduced the basic computer network concepts and elements. Students will be taught the characteristics of network models, topologies, network devices, data transmission, and communication protocols going through more detail about IP addressing. Students will be introduced to network simulation tools to apply their theoretical knowledge to practical aspects. This course will also explore the concept of the basic network data security and privacy.
Introduction to Operating Systems
This course introduces the core concepts of operating systems and its functions such as memory management, process management and scheduling, handling concurrency and synchronization, file systems, input and output device management. The course also covers the role of operating systems in management of security and privacy of users and network functions.
Software Development Process
This course presents an introduction to the models, processes and techniques used in developing software systems. It covers the whole lifecycle of software systems from the project proposal and the requirements analysis until the release and the maintenance. The students are introduced to the techniques commonly used in fact finding, requirements analysis, software design, verification and validation, and software maintenance.
This course introduces the principles of network security in terms of protecting networks from different types of malicious and social engineering attacks by using different methods such as authentication, authorization, and encryption. The course discusses the security of servers, wired and wireless devices, data transmission as well as responding and mitigating the different kinds of threats.
System Analysis and Design
The Systems Analysis and Design course introduces the principles and design techniques of object oriented development approaches. It focuses on the UML modeling language and its different diagrams. In addition, the course presents different validation techniques allowing the software designer to check the quality of its models and the satisfaction of the requirements as defined in the system specification.
This course introduces concepts and technologies behind domain based enterprise networks. The course covers installation, configuration and administration of enterprise network operating system and protocols, and services such as active directory, group policies, data storage, backup and disaster recovery to the level required to effectively administer a secured domain based enterprise networks.
This course presents mapping rules to convert conceptual and logical designs to physical design. It also introduces the principles of normalization and denormalization taking into consideration of various techniques which are applied to the different normal forms. The course also addresses the concepts of the PL/SQL procedural language including functions, procedures, cursors, packages and triggers. In addition, this course discusses database problems and potential solutions and how to improve database performance, productivity, and portability through different integration patterns with DBMSs and programming languages in accordance with software application requirements.
Management Information System
The Management of Information Systems course introduces students to different types of information systems that help organizations to achieve their business objectives. This course also provides detailed infrastructure of an information system. Security and ethical aspects of information systems are also covered.
This course will enable students to understand multimedia authoring, concepts, techniques and tools. Students will learn the skills needed to understand the theory of multimedia and to build a medium-sized system as a team and enable them to use multimedia-authoring tools to incorporate video, images, sound and animations into their work.
Distributed Information Management
Global organizations are inherently distributed. The information systems infrastructure builds on computer networks to achieve and facilitate distribution. This course investigates the architectures, processes, communication, consistency and fault tolerance. This includes distributed IT infrastructure, standards, operating systems, network naming and communication for end user in distributed systems.
Web Design and Programming
Object Oriented Programming
This course introduces the fundamental concepts of object-oriented programming using Java language. This course covers object-oriented principles such as class, object, encapsulation, overloading methods, static methods, inheritances and polymorphism, overriding methods, abstract classes, interfaces. This course also teaches good practices of GUI design during design and implementation of projects based on OOP approach.
IT Project Management
The course presents and discusses topics in managing projects within an organization context including all project processes and phases, starting from the initiating and planning phase until the final closing phase. The course also discusses different topics in project management, including project integration, scope, time, cost, and risk management. The course develops the student’s practical skills and incorporates the use of Microsoft Project software in managing different IT projects.
Information Security Management
This course focuses on the managerial aspects of information security and assurance. Topics covered include access control models, information security governance, and information security program assessment and metrics. Coverage on the foundational and technical components of information security is included to reinforce key concepts. The course includes up-to-date information on changes in the field, such as national and international laws and international standards like the ISO 27000 series.
This course provides an interdisciplinary perspective for E-Commerce and the main issues which surround it. In addition, it highlights the need for careful consideration and understanding of the different dimensions when designing E-Commerce systems. The course aims at equipping the student with a capacity to develop strategic approaches to e-commerce issues which require a technological solution, as well as operational policies within a business that can help to improve and protect its competitive effectiveness. Critical appraisal skills regarding the impact of e-business solutions on enterprises are developed in this course such as technology infrastructure, strategies, marketing, E-supply chains and some technical issues i.e. payment mechanism, security, and support.
C# Programming in the .NET Framework
This course introduces .Net framework and .NET Core using C#, with an aim to develop Graphical User Interface (GUI). It covers the syntax and good coding practices in C# to write code behind the interfaces of the applications.
This course enables the students to implement object-oriented techniques to develop C# application using I/O files and streams, and databases. Database connectivity, datasets and data binding, data storage and retrieval in data files and databases, handling of exceptions related to files and databases are also covered in this course.
Advanced Database Design
This course covers the development of database systems with a focus on the design and implementation of different data warehouse architectures. The whole design process is detailed, from the requirements and the conceptual level to the logical and the physical levels. The course covers different adjacent topics such as big data, database administration and web services.
User Interface Design
This course covers issues of user interface design as part of the software development process together with cognition theory and its relevance to user interface design. The course will also cover usability requirements specification and evaluation of user interface design.
The course develops an understanding of user interface design as a multi-disciplinary subject. This course develops an understanding of needs and abilities of users and their impacts on designing the user interfaces. This course also covers various phases of user interface design such as data gathering, data analysis, designing, prototyping , construction and evaluation.
This course introduces students to the theoretical and practical concepts of computer graphics and its requirements in terms of hardware and software. The course also covers the underlying mathematical principles required for grasping 2D and 3D graphics concepts. This course introduces students to OpenGL graphics libraries to write codes to generate 2D and 3D scenes. Functions required to add interactivity to the 2D and 3D scenes are also covered in the course.
In this course students are going to be introduced with wireless communication and wireless data transmission. Students will be taught about the Radio frequency and new technologies is being used in wireless networks, such as 4G (LTE) and 5G. Students will also be taught Wireless PAN, MAN and WAN. Students will be introduced to network simulation tools to apply their theoretical knowledge to practical aspects.
Contemporary Issues in IT
This course introduces the student to theoretical and technological aspects of a variety of trending IT Topics such as professional, social, ethical, privacy, security and reliability concerns, cloud computing, mobile computing, ambient computing, autonomous systems, DevOps, and blockchain. covering both. The emerging technologies and methodologies are presented along with an introduction to digital transformation and how to succeed in integrating emerging information technologies in business environment.
Quality Management for IT
This course examines concepts, tools, and techniques used in the management and measurement of quality. It focuses on how firms add value and compete with quality. Topics include quality assurance, control and management, different perspectives and strategies for continuous improvement of quality, total quality management, quality tools and quality standards. In addition, the course covers IT related quality issues, specifically, in software systems, communication networks, cloud deployment and management of critical infrastructure.
This is a supervised course that requires a minimum of 240 hours of industry-based training in Information Technology or related fields. It offers several benefits to the students, including the opportunity to earn credits while exploring a career in Information Technology and a chance to apply concepts learned in the academic program to real problems faced by the organizations. The student's performance throughout the internship is continuously monitored by the assigned faculty member in cooperation with the workplace supervisor through periodic meetings.
Senior Graduation Project I
This course provides an opportunity for students to choose an area of interest, conduct in-depth research and demonstrate problem-solving, decision-making and independent learning skills. Students will apply research skills, various methodologies, techniques, and concepts introduced in previous courses to prepare project proposal. In this course the student selects a topic, gathers information, and writes a problem statement. The student conducts relevant literature review. The problem will be analyzed using appropriate methodologies for analysis. The student is expected to present initial design and development, and submit the project report.
Senior Graduation Project II
The students’ graduation project is finalized during this supervised course that is offered after successful completion of BIT484 Senior Graduation Project 1 (SGP1). The student is expected to start from the design phase documentation that he produced in SGP1 and carry out the remaining steps specifically detailed design, implementation, validation and documentation. The work will be organized according to the software development methodology selected in SGP1.
Fundamentals of Data Mining
This course introduces the principles of data mining to the students. The students will learn preprocessing of data (data cleaning, data reduction etc.) before applying data mining techniques. Some of the data mining techniques covered in this course are classification, association analysis, and clustering. Students will learn about the social and ethical aspects of data mining.
Internet of Things
The course provides an introduction to Internet-of-Things architecture, applications and emergent technologies. Moreover, the student will learn the foundations of the IoT world such as Connectivity, Interoperability, Discoverability, and Security/Privacy technologies. Various IoT technologies related to smart cities and the industry 4.0 application domains will be discussed.
In this course, students will learn the fundamental concepts and techniques for digital forensics investigation and the spectrum of available computer forensics tools. The course introduces legal and technical guidelines for processing cybercrime scenes, techniques for cybercrime investigation, procedure to conduct forensic investigation, hardware and software for data acquisition, and forensic tools for online investigation.
The course is designed to present basic concepts of health data management, information technology and systems in healthcare settings, especially the acute care environment. Functions of the health record as well as content and structure of the health record will be presented. Characteristics of the electronic health record (EHR) and its planning and implementation will be covered. In addition, computer skills relevant to fundamentals of information systems and healthcare information systems that are utilized for managerial and clinical support will be an integral part of the course.
Mobile Applications Development
This course introduces specific knowledge related to designing and developing mobile applications and websites. This course introduces design issues, tools, techniques and methods for mobile application development, testing, publishing, deployment, and maintenance. This course also covers the security and privacy issues in development of mobile applications.
This course introduces the theory and practice of artificial intelligence. It introduces the student to Artificial Intelligence and application domains. Also, this course introduces Machine Learning, Classification, Predictive Analytics, Detecting Patterns, Logic Programming, Genetic Algorithms, Neural Networks, Natural Language Processing, Image Recognition, and Intelligent Agents. In addition to theoretical concepts of AI, this course discusses the advanced tools for designing intelligent applications.