Information Technology/Networking & Security Program
Course Catalog Description
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 in problem-solving and introductory programming using Java programming language. Topics cover the problem-solving process; data types; variables, constants, scope, and memory locations; basic input/output; selection and repetition control structures; arrays and strings; and user-defined methods.
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, system and user-defined methods, inheritance, polymorphism, and composition. The course also covers recursive algorithms and exception handling. This course is not meant as a comprehensive introduction to all Java concepts such as applets and socket programming.
INT202 - Discrete Mathematics
This course introduces Discrete Mathematics skills to Information Technology, Information Systems, Computer Engineering, and BSDA students. These skills enhance their ability to both analyze and describe mathematically many of the algorithms and data structure performance characteristics. Topics covered include propositional logic, predicate logic, inference, mathematical 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, identifies the main types of memory, addressing modes and formats, processor structure and functions, RISC and CISC architectures, and Control Unit.
INT205 - Fundamentals of Data Communications and Networking
Introduction to computer networks and the Internet: Components of data communication, data flow, data communication system, network criteria, types of connections, topologies, transmission media, parallel and serial transmission, network types, protocol and standards, protocol layers and the OSI model. Physical layer: Data and Signals, Nyquist Bit Rate and Shannon Capacity. Data Link Layer: Error detection and correction, multiple access, MAC addressing, switches, ARP, MAC Frame (IEEE 802.3 protocol), Wired LAN Ethernet and WLAN (IEEE 802.11 protocol). Network Layer: Network Devices, Virtual circuits, routers, IP Addresses, subnetting, IP protocols and routing algorithms, NAT, IP header format, ARP, and DHCP. Transport layer: UDP, TCP and congestion control. Application layer: HTTP, FTP, SMTP, POP3, DNS and peer-to-peer applications.
INT206 - Fundamentals of Web Systems
INT209 - Data Structures
The course covers concepts of program performance (time and space complexity); recursion; definitions, operations, and implementations of the list, stack, queue, tree, binary search tree, priority queue, heap, hash table, and graph data structures and their applications; sorting; and searching.
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.
INT305 - Fundamentals of Software Engineering
The course emphasizes object-oriented techniques and the use of the Unified Modelling Language (UML). Topics covered in this course include an overview of the software engineering process, software process models, UML syntax and semantics, software requirement analysis, software design principles and models, component-level design, software testing techniques, software effort estimation, and software sustainability.
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 (ER) and enhanced entity relationship (EER) diagrams, and the relational data model, converting an E-R model to a relational model, Structured Query Language (SQL), normalization, and physical database design. 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. topics covered include cryptography, authentication, access control, database security, malicious software, denial of service, network security, security management and risk assessment, security controls, plans, and procedures, and legal and ethical aspects of information 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 the 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, entrepreneurship and innovation, sustainability, and project implementation.
INT309 - Cloud Computing
This course aims to introduce students to the theory and practice of cloud computing. Topics include parallel and distributed systems; deployment and service models; cloud infrastructure; applications and paradigms; resource virtualization; resources management and scheduling; networking support; cloud storage systems; cloud security, and sustainability in a cloud environment.
INT313 - User Interface Design
This course introduces students to the concepts, methods, theories and guidelines of user interface design (UID). Topics covered include usability measures, usability motivations, and universal usability; interface design; design case studies; evaluation and the user experience; interaction styles; design issues; response time; and information search.
INT322 - Web Technologies
The aim of this course is to teach building web applications using java and other related technologies. Topics discussed include web application structure; Applets; Servlets; Java Server Pages (JSP); tags and function libraries; filters; WebSockets; Spring Model View Controller Framework; RESTful and Simple Object Access Protocol web services; Java Persistence Application Programming Interface; Hibernate Object-Relational Mapping; Mapping Entities to Tables; Spring Framework Repositories; Spring security; using authorization tags and annotations; and Securing RESTful web services with OAuth. Students will have hands-on experience in using Java web application technologies in the lab.
INT323 – Big Data Analytics & Technologies
The aim of the course is to introduce students to the techniques, tools, and technologies used for big data analytics using appropriate programming language. Topics covered in this course include: statistical evaluation of data, clustering techniques, linear regression, logistic regression, classification methods, MapReduce, Apache Hadoop, Pig, Hive, Hbase, and NoSQL.
INT401 - Information Technology Project
This course aims to give students the opportunity to work collaboratively in teams between 2 and 4 students 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 communication skills, both oral and written as well as ethical issues involved. A faculty member is assigned to each team to supervise and evaluate in part their work.
INT402 - Information Technology Internship
The 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. The 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 address ethical and professional issues applicable to computing practice.
INT430 - Artificial Intelligence
This course is designed to introduce the theory and techniques of AI to students. The course covers knowledge representation schemes; heuristic search techniques; inferencing; machine learning; intelligent agents, and robots; AI techniques used in computer vision, natural language understanding, and speech recognition; and ethical, economic, and social issues arising from the adoption of AI. The PROLOG language is also covered to enable students to represent, manipulate, and reason with knowledge.
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, and why some of these enhancements were successful while others were not. The emphasis in this course is on topics, such as medium access techniques, wireless technologies and related concepts, mobile IP and IPv4 to IPv6 transition, routing protocols, transport layer (reliability, flow, and congestion control), data centre networks, advanced networking concepts, and network security.
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, Spatial multiplexing and diversity in MIMO, MIMO capacity, interference alignment, 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, and 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.
INT436 – Cybersecurity Operations & Analytics
This course aims at monitoring and documentation networks, locking down networks, thwart malware, prevent hacks by improving visibility into the environment, using the power of data and security. It helps students to get the needed security skills for monitoring, detecting, investigating, analyzing and responding to security events, which help in protecting systems from cybersecurity risks, threats and vulnerabilities. The course covers topics such as how to monitor computer networks, acquire and prepare security data, correlate security events, use simple statistical methods to detect malware and predict rogue behaviors. Furthermore, this course consists of a set of laboratory experiments that provides hands-on experience in this topic.