ACC200 - Principles of Accounting I
Principles of accounting I is concerned with the provision of financial information to the different users such as external and internal users. The term accounting refers to the activities of collecting, recording, processing and communicating economic events to the users of accounting information. The course covers the recording process, adjustments, completing accounting cycle, accounting for merchandising operations and preparation of financial statements.
MGT200 - Introduction to Management
This course introduces the student to the four fundamental managerial functions i.e. planning, organizing, leading and controlling to teach them how to perform as an efficient and effective manager. The challenges faced by the contemporary managers in dealing with today’s changing business environment are discussed in detail in terms of different managerial roles and desired skills. This foundational level course will effectively prepare the students to undertake more advanced and specialized courses within the management discipline. The course provides a holistic view of management studies, and thus arouses their further interest in pursuing this discipline.
STA112 – Statistics
This course covers the essential statistical topics that students in sciences majors are expected to know. The course deals with data organization and calculation of descriptive measures. It also covers probability concepts and probability rules. This course includes discrete and continuous probability distributions where the emphasis is on the binomial, the Poisson and the normal distribution. This course introduces students to inferential statistics: it includes confidence intervals and hypothesis testing of a population parameters. The last part of this course includes simple linear regression analysis and its applications.
Program Core Courses and Internship
INT101 - Calculus for Information Technology
This course covers the essential mathematical topics that students specialized in information technology needs. Topics covered are plane analytic geometry; matrices and determinants; solution of a system of linear equations; real functions limits, continuity, differentiation and applications; integration; and graphs.
INT100 - Introductory Programming
This course provides knowledge and skills of problem solving and introductory programming using Java programming language. Topics cover: the problem- solving process; data types; variables, constants, scope, and memory locations; simple sequential programs; basic input/output; selection and repetition control structures; arrays and strings; and user-defined functions.
INT103 - Information Technology in Business
The major role of information technology (IT) is to support organizational personnel, regardless of their functional area or level in the organization. The aim of this course is to provide students with solid grounding in business uses of information technology in a rapidly changing environment, and to provide discussion of critical issues surrounding the use of IT in organizations. This course covers a range of general information technology topics that will make the student appreciate the role of IT in business. Topics include: information technology fundamentals; information technologies; computer networks and security; business applications; development processes; and ethical, societal and security issues.
INT201- Object Oriented Programming
The primary objective of this course is to introduce the concepts of object-oriented programming: classes, objects, methods, object interaction, encapsulation, inheritance, polymorphism, composition, recursive algorithms, and exception handling. This course is not a comprehensive introduction to all of Java concepts such as applets and socket programming.
INT202 - Discrete Mathematics
This course introduces Discrete Mathematics techniques to Information Technology and Computer Engineering students. Topics covered include propositional logic, predicate logic, inference, induction & other proof techniques, counting, sets, functions, recursion, relations, graphs, and trees.
INT203 - Computer Organization
This course covers the organization of the von Neumann machine, explains how instructions are fetched from memory and executed, how numerical values are represented in digital computers, and identifies the main types of memory used, addressing formats, and a design of simple computer interface.
INT205 - Fundamentals of Data Communications and Networking
Introduction to computer networks and the Internet. Protocol layers and the OSI model. Network models. Network Performance, Switching, Network Devices. Data Link Layer: ARP, Error Detection & Correction, Data-link Control, Medium Access, Ethernet, WLANs, Network Layer: IP and Routing Algorithms, Transport Layer: UDP, TCP, Congestion Control, Application Layer: Web, FTP, e-mail, DNS and P2P.
INT206 - Fundamentals of Web Systems
INT207 - Multimedia Technology
Multimedia has become an indispensable part of modern computer technology. In this course, students will be introduced to principles and current technologies of multimedia systems and gain hands-on experience in this area. Issues in effectively representing, processing, and retrieving multimedia data such as audio, graphics, images, and video will be addressed.
INT209 - Data Structures
The course covers concepts of program performance (time and space complexity); recursion; data structures: lists, stacks, queues, graphs, trees, binary search trees, priority queues, heaps, and operations on them and their applications; sorting; searching and hashing.
INT305 - Fundamentals of Software Engineering
The course emphasizes object-oriented techniques and the use of UML. Topics covered in this course include: overview of the software engineering process, software process models, UML syntax and semantics, software requirement analysis, software design principles and models, component-level design, and software testing. Student will work in teams on software projects.
INT302 - Database Management Systems
This course is designed to give a theoretical and practical background in database techniques. It covers database concepts, data models, data dictionary, entity relationship diagrams, and the relational data model, converting E-R models to relational model, SQL language, normalization, physical database design, and database security. Oracle software is used in the Lab.
INT303 - Fundamentals of Information Security
This course aims at introducing fundamental security concepts to students. Main security threats and related countermeasures are presented. Students will learn the importance of protecting information stored on computer systems from unauthorized access. The students will also learn how to encrypt and decrypt information, control access to objects and recommend a secure system implementation.
INT301 - Operating Systems
This course covers the principles and concepts of modern operating systems. Topics include: operating system services; operating systems structures; operating system processes: threads, synchronization, CPU scheduling, deadlocks; memory management: main memory, virtual memory; storage management: storage structures, file-system interface, and file-system implementation; and operating protection and security.
INT306 - Computer Ethics and Professional Practices
This course will examine the ethical issues that arise in the use of computers, and the responsibilities of those who work with computers, either as computer science professionals or as end users. Topics covered include: legal, social and ethical issues surrounding computer technology and its use; privacy; intellectual property rights and copy right laws; information technology code of ethics; issues of privacy and confidentiality; risks of using computers; and computer crime: computer viruses, hacking, phishing & pharming, and scams.
INT307 - Information Technology Project Management
This course covers: characteristics of IT Project management, initiating an IT project; project planning; defining and managing project scope, structuring a project, project schedule and budget, managing project risk, project communication, tracking, and reporting, IT project quality management, ethics and professional practices, and project implementation.
INT309 - Cloud Computing
This course aims to introduce students to theory and practice of cloud computing. Topics include: parallel and distributed systems; deployment and service models; cloud infrastructure; applications and paradigms; resource virtualization; resouce management and scheduling; networking support; cloud storage systems; and cloud security.
INT313 - User Interface Design
This course introduces students to the concepts, methods, and guidlines of computer user interface design. Topics covered include: user interface design principles, specifications and requirements modeling in UID, usability measures, interaction styles, user-centred design, and evaluating UID and screen layout.
INT322 - Web Technologies
The aim of this course is to develop students’ skills in the technologies and approaches that allow them to develop web applications at the enterprise level, identify key application areas and technology for web applications, and learn key design issues of web applications.
INT430 - Artificial Intelligence
This course is designed to introduce the theory and techniques of AI to students. The course covers knowledge representation schemes, classical and heuristic search techniques, inferencing, machine learning, and agents. The PROLOG language is also covered to enable students to represent, manipulate, and reason with knowledge.
INT401 - Information Technology Project
This course aims to give students the opportunity to work in a guided but independent fashion to investigate a problem by making use of information technology knowledge, techniques, and methodologies acquired in the previous semesters to provide a suitable solution to an IT problem. The course also aims to enhance teamwork and communication skills, both oral and written as well as ethical issues involved.
INT402 - Information Technology Internship
Internship familiarizes students with actual working environments. It gives students the opportunity to integrate their knowledge and skills learned in the course by applying it to real world problems encountered in business and industry. Internship also gives the student a feeling of what is involved in working on actual information technology problems and develop communication and team-work skills as well as ethical issues relation to IT.
Networking and Security Concentration Courses
INT311 - Advanced Computer Networks
This course will cover the principles of networking with a focus on algorithms, protocols, and implementations for advanced networking services. We will examine a variety of ideas that were proposed to enhance the Internet, why some of these enhancements were successful while others were not. The emphasis in this course is on topics such as routing protocols, advanced routing and switching. It covers Internet architecture, congestion control, QoS, IPv6, and voice over IP.
INT312 - Network Security
This course covers security concepts related to the protection of a network from known threats and attacks. This includes digital signatures, authentication protocols, IP & Web security and e-mail security. Advanced cryptographic algorithms are also discussed in details such as DES and AES. Determine common network security threats and countermeasures.
INT414 - Wireless Networks
This course presents the student with the latest in wireless technologies. Topics include: wireless internetworking concepts, architecture and protocols (IEEE802.11 MAC protocols), Mobile IP and a mobile ad hoc routing protocol, Mobility support for the Internet Protocol, Wireless Security, and the performance of a wireless local area network.
INT419 - Network Design & Management
This course covers the principles of network design and management. It includes Top-Down Network Design Methodology, and Designing a Network Topology. It also covers Selecting Switching and Routing Protocols, Developing Network Security Strategies, Developing Network Management Strategies, Physical Network Design, Selecting Technologies and Devices for Enterprise Networks.
INT432 - Ethical Hacking
Students learn how attacks are launched on computers and networks, and how to protect them from such attacks to have a secure network. Additionally, the course introduces the human behavior in terms of data protection, privacy, and threat mitigation. This course also investigates the impact of cybersecurity on society and its related ethical aspects.
Databases and Web Systems Concentration Courses
INT323 - Big Data Technologies
This is an introduction to the technologies that are used for big data. The aim of the course is to provide students with the knowledge required to use big data technologies and learn how to store, and process big data sets. Topics covered include: Big Data and Hadoop, Hadoop Distributed File System, Map Reduce, PIG, HIVE, HBase, and search with Solr and Lucene.
INT421 - Web Application Design & Development
This course prepares students to understand the application of java enterprise edition (Java EE) technologies and its implementation into an enterprise level web application. Topics covered include Servlets, JavaServer Faces, RESTful Web Services, SOAP-based Web Services, JSON process, Enterprise JavaBeans, Java Transaction and Persistence. This course will take a project-based assessment approach with its primary emphasis on the delivery of the enterprise level web product/project by students.
INT423 - Advanced Database Design and Implementation
This course builds on top of the first DBMS course by introducing advanced database concepts to allow students to effectively design and implement a database. The course revisits SQL in a deeper, more practical approach, with a focus on its PL/SQL extension. The student will learn object oriented database design, and how to manage multi-user databases with respect to concurrency and recovery. Students also will be exposed to distributed database systems.
INT424 - E-Commerce
This course aims to expose students to the theory and practice of e-commerce. Topics covered are: Introduction to E-Commerce, E-Commerce Technology Infrastructure, Revenue models, Marketing on the web, Business-to-business online strategies, Web server hardware and software, E-Commerce Commercial Software, E-Commerce security, Payment Systems, and Planning for e-commerce business.
INT428 - Data Warehousing and Data Mining
This course aims to introduce students to concepts and techniques of Data Warehousing and Data Mining. Topics covered include: data warehouse architecture, development life cycle, logical data modeling for a data warehouse, Data mining concepts and tasks, data preprocessing and reduction, classification techniques, association analysis and algorithms, clustering analysis and algorithms, anomaly detection methods, and web mining
INT321 - Database Administration
This course prepares students to administer and maintain databases by applying best practices and procedures to any database platform. With general, platform independent approach, students will be able to work as database administrators to any of the major industrial databases including Oracle, IBM DB2, Sybase, Microsoft and MySQL. Students will become familiar with DBA roles and responsibilities, be able to create a database environment with modeling and normalization as well as reporting while maintaining data integrity.
INT403 - Selected Topics in Information Technology
This course aims to introduce students to new developments in the area of information technology not specifically covered in the curriculum and in which a faculty member has developed interest and proficiency. The intention is to provide a rapid response to current trends and to widen student’s knowledge in areas such as but not limited to: information storage, retrieval, security, processing, or transition. Specific content of the course will depend on the particular area taught at the time.
INT405 - Knowledge-Based Systems
The aim of this course is to introduce the concepts, principles, design and operation of a knowledge base systems (KBS) with particular emphasis on expert systems. Topics covered include: Knowledge representation with production rules; Inference using forward chaining and backward chaining; Uncertainty handling: Frame based expert systems; Fuzzy expert systems; Knowledge acquisition and data mining; Agents and multi-Agents systems. Practical assignments are used to emphasize these topics in the lab.
INT406 - Computer Modeling and Simulation
This course aims to introduce students to elements and methodology of simulation. Topics include: basic concepts and types of simulation, discrete-event simulation, a review of probability and statistics relating to simulation, selecting input probability distributions, generation of random variates, design of simulation experiments and output analysis, verification and validation of simulation models. Students are expected to submit a simulation project.
INT413 - Network Operating Systems
This course introduces network operating system NOS, which is the software that allows multiple computers to communicate, share files and hardware devices with one another. The course aims to provide the student with theoretical and practical knowledge of network operating systems. The student is exposed to some of the most commonly used network operating systems. The student will reinforce their theoretical knowledge in practical sessions where they will install configure, manage and trouble-shoot network operating systems.
INT416 - Data Compression
The aim of this course is to introduce the theoretical underpinnings of data compression and cover many fundamental algorithms. Topics covered include: fundamentals of digital communication, communication channel, measure of information, encoding of source output, Shannon’s algorithms. Discrete and continuous channel entropy coding, variable length code, channel noise, compression & codes, lossless compression algorithms, lossy compression algorithms, audio compression, image and video compression.
INT417 - Distributed Systems
The aims of this course are to study the fundamental characteristics of distributed systems. Topics covered will include: low-level basics including sockets, internet-based inter-process communications, and threading; remote-procedure-calls and remote-method-invocations; modern synchronous and asynchronous style client server systems and supporting processes; messaging and transactional systems; peer-to-peer and grid technologies; supporting systems such as naming and directory services.
INT422 - Information Architecture
Information is the heart of knowledge and one of the main pillars of information systems. This course introduces fundamental concepts and methods of understanding and modeling data as well as extracting information out of it. It also shows how to represent large volume of information and allow users to comprehend and interact with it in an effective way. The course focuses on data modeling and architecture approaches allowing student to build effective information architecture. Then the student will learn how to interact with information using different labeling, navigation, and search strategies. Students will finally learn about information architecture in practice and its applications in large organizations.
INT426 - Knowledge Management
The aim of this course is to introduce basic concepts, terminologies, tools, and techniques of Knowledge Management (KM). Topics covered include: the origins and units of organizational knowledge; knowledge management life-cycle models, knowledge management implementation models, knowledge capture and codification, knowledge sharing, knowledge management tools and knowledge management strategies.
INT427 - Advanced Web Topics
The aim of this course is to develop the skills of the students in the technologies and approaches that allow them to develop an advanced web applications at the enterprise level using web services that run on different machines to exchange data and integrate web-based applications using open standards over an Internet protocol.
INT429 - Mobile Applications
This course provides an introduction to mobile software development for those with Java programming experience. Students will learn to build mobile applications for phones and tablets through the study and use of a complex software development kit (Android Java SDK). Students will explore the emerging mobile ecosystem, location-aware software, and advanced programming topics including inheritance, polymorphism, threads, sensors, APIs and databases.