Course Descriptions Bachelor in Information Technology Program

This course introduces the fundamental concepts necessary for designing, using, and implementing database systems and applications. Emphasis is placed on data dictionaries, entity-relationship, relational data model, logical database design, relational algebra, normalization, basic commands, and functions of SQL to create database tables, constraints, and queries. In addition, students will be trained on Oracle DBMS to solute case studies on the environment systems from the real world.

This course covers the topics including Storing data: disks and files, which include the memory hierarchy, RAID, disk space management, buffer management, file and indexes, page formats and record formats; file organization and indexes which introduce cost modeling, comparison of three file organizations, an overview of indexes and properties of indexes. Three-structured indexing, hash-based indexing, and database design security; transaction management introduces transactions and schedules, concurrent execution of the transaction, lock-based concurrency control, and crash recovery. Crash recovery includes an introduction to ARIES, recovery from a system crash, and media recovery. It also covers advanced topics such as Distributed databases, including distributed DBMS architectures, storing data in distributed DBMS, distributed catalog management and query processing, updating distributed data, distributed transactions, and concurrency and recovery. Students will be trained on some software tools such as Oracle, Sybase, DB2, and Informix.

This course provides the fundamental concepts and techniques of multimedia system components, e.g., text, image, sound, animation, and video. Some of the key areas covered by the course are Multimedia authoring and tools, hypertext and hypermedia content creation and delivery, media representations, user interfaces design and development, multimedia skills, animation principle, multimedia project requirements, planning, costing, designing and producing, and recent trends in multimedia. The techniques and tools for building, planning, and implementing interactive multimedia applications will also be covered. In addition, students will be trained on a range of authoring, editing, and scripting tools for multimedia development.  

Fundamentals of data communications: Essential Elements of Data Communications: Simplex, Half-Duplex, and Full Duplex Transmission, Basic concepts of networking: network concepts, network criteria, network applications, and benefits. Configurations, topologies, and categories of networks: line configuration, network topologies (mesh, star, tree, bus, ring, hybrid), internetwork or internet, types of network connection (peer-to-peer network, server-based network, collaborative network), intranet and extranet. Introduction to OSI and TCP/IP models: The OSI Model, The OSI layers, TCP/IP Protocol Suite. Physical layer and media: Analogue and Digital Signals, Periodic and Non-Periodic Signals, Signal Parameters, Time and Frequency Domains Concepts, Types of Channels, Transmission Impairment, Transmission Media: Guided Media, Unguided Media, Circuit and packet switching. Datalink layer control: framing, error control, flow control, Error detection and correction techniques: VRC, LRC, CRC, Checksum, and Hamming code techniques.  Networking and internetworking devices. The student will be trained on Cisco's existing components and products, such as wireless networking, Switches, Routers, etc. Cellular Communication and Satellite Communication.

This course provides a comprehensive, authoritative introduction to the dynamic field of human-computer interaction (HCI). Students will learn practical principles and guidelines needed to develop high-quality interface designs that users can understand, predict, and control. In addition, it covers theoretical foundations and design processes such as expert reviews and usability testing. Numerous examples of direct manipulation, menu section, and form fill-in give students an understanding of excellence in design. It also updates current HCI topics with a balanced emphasis on mobile devices, Web, and desktop platforms. 

Data Science is the study of the generalizable extraction of knowledge from data. Being a data scientist requires an integrated skill set spanning mathematics, statistics, databases, and other branches of computer science, along with a good understanding of the craft of problem formulation to engineer effective solutions. This course will introduce students to this rapidly growing field and equip them with some of its basic principles and tools and its general mindset. Students will learn concepts, techniques, and tools they need to deal with various facets of data science practice, including data collection and integration, exploratory data analysis, predictive modeling, descriptive modeling, data product creation, evaluation, and effective communication. These topics will focus on breadth rather than depth, and emphasis will be placed on the integration and synthesis of concepts and their application to solving problems. To make the learning contextual, real datasets from a variety of disciplines will be used.

This introductory course will provide learners with principles of data and technology that frame and define cybersecurity. In addition, students will gain insight into the importance of cybersecurity and the integral role of cybersecurity professionals. This course will provide a dynamic learning experience for the students with foundational cybersecurity principles, security architecture, risk management, attacks, incidents, and emerging IT security technologies. 
Topics may include confidentiality, integrity, and availability; security architecture; security policies; authentication; access control; risk management; threat and vulnerability assessment; standard attack/defense methods; ethical issues. 

This course is an overview of the modern Web technologies used for Web development. This course aims to give students a basic understanding of how things work in the Web world from the technology point of view and give a basic overview of the different technologies. The topics include Introducing WWW, Hypertext Markup Language (HTML), and Cascading Style Sheets (CSS). In addition, we will follow the guidance of the World Wide Web Consortium (W3C) to create interoperable and functional websites.

Software engineering is a significant branch of computing science that deals with the development of software systems as practical and cost-effective solutions for individuals and society. This course covers the fundamentals of software engineering like software life cycle, requirements engineering, system development paradigm, and system modeling using UML. It also covers software verification & validation, essential implementation issues, open-source development, and concepts of software re-engineering. The course has a solid technical relationship with the graduation project providing the opportunity to practice software engineering knowledge, skills, and practices in a realistic development setting with an actual client.

This course will start to commence by reviewing management and project management principles. It continues by studying the project management knowledge areas, the triple constraint, what is a Project?, the difference between Program and project, project manager, skills of project manager, Project life cycle: analysis (requirements determination), Project Scope Management, project time management, project cost management, project quality management, designing, implementation; system and database integration issues; project tracking techniques, metrics, and system performance evaluation; managing expectations of managers, clients, team members, and others; determining skill requirements and staffing; cost-effectiveness analysis; management of behavioral and technical aspects of the project; change direction. Project risk management, project procurement management, project communications management, project human resource management. This course teaches about software tools for project tracking and monitoring. Team coloration techniques and tools. Also, this course will introduce students to project-time scheduling methods. Students will be trained to use project management software tools such as MS-Project.

Cryptography is a tool for data security. It is used to provide data confidentiality, integrity, and availability. In addition, it supports the authentication of data and enhances privacy. Cryptography is a security system component that can be integrated into hardware or software systems for personal, social, and political issues. This course provides a broad view of security with practical applications of cryptography to data security. Specific topics include classical and modern encryption techniques, steganography, and human factors.

This course introduces mobile application development for the Android platform. Android is a software stack for mobile devices that includes an operating system, middleware, and critical applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform. Students will learn skills for creating and deploying Android applications, with particular emphasis on software engineering.

This course introduces the concept of the wireless world through wireless networking and wireless communication to the students. The study presents the major wireless concepts like signals and transmission, access points, wireless routing, WLANs, speed spectrum, channel capacity (Nyquist bandwidth and Shanon Capacity formulas), FHSS, DSSS, OFDM, IR, and Wireless standards. The course further takes the students into the depth of core wireless concepts like ad hoc networking. Wireless application protocols, Bluetooth, and multiple access techniques (FDMA, TDMA, and CDMA). Lately, the course has covered the concepts of Microwave and Satellite-based communication with a focus on service types and classification of orbits. In addition, the study highlights the 5G communication systems' prospects and challenges.

The cooperative training at the computer science and information technology faculty is an integral part of a student’s academic plan that is considered an essential requirement for graduation. This program is shared between the various departments of (Computer Science, Computer Engineering and Network, Information Technology and Security). The cooperative training includes either international or national training; Some distinguished students will be nominated for international training (outside Kingdome) on advanced topics in the computer fields, other students will join federal training program on any governmental or private institution that specializes in Information technology and security services to give the students practical experience on their career. The trainees considered as a staff member on the place where he is training during training period time.

This course aims to provide students with basic techniques and expertise to create and evaluate the design of interactive digital products, environments, systems, and services. It includes a study of interaction design for a variety of applications. The students will learn principles, patterns, and processes for interaction design, rapid prototyping, user interface (UI), and user experience (UX) design - skills applied to desktop apps, web and mobile app development, game development, entertainment, and artistic performances.

System administration is an essential ingredient of modern computing practice. Knowledge of this topic can help manage a home computer network, a small business network, or enterprise systems. In addition, system administration knowledge is a necessary aspect of experimental computing, including embedded software development, cluster computing, and distributed systems, where users often need to set up their own systems software. This course addresses the basic principles of system administration, focusing on modern operating systems such as Linux or Microsoft Windows.

This course is designed to provide students with an understanding of the Systems Integration (SI) process, approaches, drivers, tools, and techniques required for successful SI, critical success factors, and best practices. The course focuses on how a proposed system will be integrated with other existing or planned systems. It addresses the System Integration problem using architectures as the basis and then addresses the evaluation of the architectures in terms of the capabilities they provide. Case studies and examples from the Information Technology (IT), energy, and financial services industry will be used to illustrate the concepts discussed. The students will learn the theory and practice of business process integration, legacy integration, new systems integration, business-to-business integration, integration of commercial-off-the-shelf (COTS) products, interface control and management, testing, integrated program management, integrated Business Continuity Planning (BCP). Specific focus will be given to issues of interface integration and interoperability of systems. 

This course will examine the ethical issues that arise as a result of increasing use of computers, and the responsibilities of those who work with computers, either as computer science professionals or end users. This course will stress the ways in which computers challenge traditional ethical and philosophical concepts, and raise old issues in a new way. This course is designed to educate existing and future business managers and IT professionals on the tremendous impact ethical issues play in the use of information technology in the modern business world. The topics covered in this course are extremely current and relevant to anyone preparing to enter the field of IT. This course will give students the foundation they need to make appropriate decisions when faced with difficult situations and make a positive impact in the field of information technology. 

This course is intended to study data center principles and operational issues, including design, build, configure, deploy, and maintain the critical assets that comprise your data center, environmental controls, power supplies, backup, data communications, and security standards to assure business continuity. It also discusses emerging trends and technologies in areas including cloud computing, virtualization, middleware, databases, data centers, green grids, and corporate and environmental social responsibility.

The Internet of Things (IoT) course will teach you how to program with current and leading IoT technologies for building IoT solutions for Smart Homes, Smart Campus etc., using IoT sensors and devices. In the course, we will examine the concept of IoT. We will look at the ‘things that make up the Internet of Things, including how those components are connected together, how they communicate, and how they value add to the data generated. We will also examine cyber security and privacy issues, and highlight how IoT can optimize processes and improve efficiencies in your business. They also learn to capture data using sensors, and the basics of analysis and visualization of the data in the cloud and its security.

In this course, students choose a project subject and define the objectives of the project under the supervision of a faculty member, and prepare the project proposal including: defining the statement of the problem, defining system requirements, defining different candidate solutions for the problem of study, making feasibility study for different candidate solutions, defining the best candidate solution, defining time table schedule. The Project Design phase allow senior  students to integrate their Information Systems Analysis and design knowledge and produce a useful artifact while working on the design and analysis phase of their capstone project. They practice major activities in information systems development process, including communication, planning, modeling, system architecture design, logical database design, physical database design, user interface design etc. Students get experience working in teams, participating in project planning and scheduling, and writing reports. Students should present the project interim report at the end of the semester, Assessment Methods will be obtained by oral examination to be held by a committee from faculty members. Students will be allowed to work individually or in groups.

Project implementation course offers students an opportunity to assemble their knowledge acquired throughout their BS curriculum to realize a final project. This course allows the senior  students to implement their IS Project designed in the Project Design course. This would require them to gather information about the proposed subject and realize a final report and develop a system practically. At this stage, students must carry on all phases of system development of the subject already defined in the precedent course (Project Design) and under the supervision of the same supervisor (as possible). Implementation of the project includes Hardware preparation, component implementation, coding and development, testing, system integration, verification and validation, and Documentation. At the end of the semester, students are asked to make an oral presentation in the presence of faculty members as referees.  The students are also required to submit their thesis by the end of semester.

With the increased availability of data from varied sources, attention has been paid to the various data-driven disciplines such as analytics and machine learning.  This course is intended to introduce some of the basic concepts of machine learning an algorithmic perspective. In addition, this course will familiarize students with a broad cross-section of models and algorithms for machine learning and prepare students to apply machine learning techniques. Topics covered in this course include, Machine learning types, linear and non-linear regression, nonparametric methods, Bayesian methods, support vector machines, kernel methods, Artificial Neural Networks, model section, learning theory, VC dimension, clustering, EM, dimensionality reduction, PCA, SVD, and reinforcement learning. The course will also facilitate the students to solve real-world problems using machine learning techniques. 

ITEC-415        DATA MINING    
As an introductory course on data mining, this course introduces the fundamental concepts, principles, algorithms, and data mining systems, including what is data mining? Get to know your data, data preprocessing, integration and transformation, data warehousing and OLAP, data cube, and the fundamental principles of frequent patterns, classification, and cluster analysis. It will also explain implementations in open-source software. 

Big Data is the term for a coltion of datasets so large and complex that they become difficult to process using on-hand database management tools or traditional data processing applications. The challenges include capture, storage, search, sharing, transfer, analysis, and visualization. This Big Data Analytics course will first introduce the overview applications, market trend, and the things to learn. Then, it will introduce the fundamental platforms, such as Hadoop, Spark, and other tools, such as IBM System G for Linked Big Data. Afterward, the course will introduce several data storage methods and upload, distribute, and process them. This will include HDFS, HBase, KV stores, document database, and graph database. The course will go on to introduce different ways of handling analytics algorithms on different platforms. Then, it will introduce visualization issues and mobile issues on Big Data Analytics. Students will then have fundamental knowledge on big data analytics to handle various real-world challenges.

ITEC-344        WEB DESIGN    
This course is designed to start you on a path toward future studies in web development and design, no matter how little experience or technical knowledge you currently have. This course introduces students to general information about the web design environment, including the various roles he can play, technologies they can learn, and tools they can use.  In this course, students will study web design using HTML (Hypertext Markup Language) for structure, CSS (Cascading Style Sheets) for presentation, and JavaScript for behavior. Students will learn about creating simple pages, marking up text, adding links and images, table markup, and forms in the HTML section. Students will learn CSS orientation, formatting text, colors, background, floating, positioning, page layout with CSS, and animation in the CSS section. Finally, in the JavaScript and web graphics sections, students will learn how to use JavaScript and web graphic basics. 

This course is designed to give students the opportunity to enhance and enrich their skills in Web programming. Students will learn to develop Web applications that use three-tier architecture, session management, object-oriented techniques, and advanced database interactions. Advanced CSS concepts, rich interactive Web environments, authentication, and security will also be explored. The main objective of the Applied Web Programming course is to discuss the state-of-the-art technologies in Web Programming and some open research issues of the domain. It represents the next generation of Internet applications, business strategies, and technologies contributing to the online community.  

This course aims to achieve a multi-disciplinary balance between research advances in the fields of collective intelligence, data science, human-centric computing, knowledge management, and network science. It is committed to addressing research that deepens the understanding of computational, logical, cognitive, physical, and business and social foundations of the future Web and enables the development and application of intelligent technologies.

This course explores cyber-security measures and the different forms of cybercrime and emergent forms of cyber-warfare.  Students will learn challenges to cyber-security and examine the nature, prevalence, scope, and the means by which criminals perform these crimes. The course also provides the impact of cybercrime on victims, businesses, and the state and the responses of information security providers and police agencies. The study concludes with a critical assessment of the threats to rights posed by the emergent new digital age of surveillance. 

The course will go through all the secure software development lifecycle (requirements, design, implementation, and testing), focusing on how to incorporate security in each stage and what techniques to use. The main focus is on web-based applications, mobile apps, and cloud security.

This course introduces computer forensics, principles, techniques, special software tools, and practical skills necessary to perform a digital investigation of incidents in which computers or other digital devices play a significant or exciting role. Students will learn skills for the most critical parts of the digital crime scene investigation process, which has several phases, from initial system preservation through evidence searching to event reconstruction. Students will learn how to create an incident response plan and implement a computer forensics incident response strategy. Furthermore, through practical exercises, students will also learn how to conduct “Live” investigations including acquisition, examination, analysis, and evidence preservation, and documentation of computer evidence stored as data or computer encoded information. This course also covers state-of-the-art techniques for digital investigation analysis, including file carving, multimedia forensics, memory analysis, mobile device forensics, anti-forensics and counter anti-forensics, and log analysis and correlation.