Curriculum

GEIT Courses

Course Title: GEIT 1311: Computer Organization Semester Credit Hours: 3 (3,0)

Course Overview This course examines the functional components of computer systems. Topics discussed include processors, memory types and hierarchies, buses, I/O, interrupts, etc. with emphasis on how they affect program execution, parameter passing and inter-program communications between programs written in diverse languages.


Course Title: GEIT 1411: Computer Science I Semester Credit Hours: 4 (3,1) 

Course Overview Computer Science I is an introduction to programming and to the use of algorithms in designing programs. A software engineering approach to developing computer programs is stressed and object-oriented concepts are introduced. The course examines standard control structures, approaches to modularization, and the use of primitive and structured data types.


Course Title: GEIT 1412: Computer Science II Semester Credit Hours: 4 (3,1)

Course Overview This course is a continuation and extension to GEIT 1411 Computer Science I. It introduces the student to a systematic study of basic data structures such as queues, stacks and binary trees including searching and sorting algorithms and their associated computational costs. A software engineering approach to developing computer programs is stressed and object-oriented concepts are emphasized. Reusability of code, effective software development methodologies and good programming practices are significant components of the course.


Course Title: GEIT 2291: Professional Ethics Semester Credit Hours: 2 (2,0)

Course Overview This course is designed to educate students on the impact ethical issues have on the use of information technology in the modern business world. It examines the ethical codes of the professional societies and the philosophical bases of ethical decision-making. Students acquire the foundation that helps them make appropriate decisions when faced with ethical dilemmas.


Course Title: GEIT 3341: Database Design Semester Credit Hours: 3 (3,0)

Course Overview The objective of this course is to give students an understanding of key issues related to database design and implementation to support the automation of key business processes in organizations. The course is designed so as to cover topics that are relevant from a database design and implementation perspective; particularly one that involves the provision of online access to data resources to a variety of physically distributed organizational users. It includes a mix of lectures (some of which are conducted in the laboratory) and discussions on contemporary articles from industry publications.


Course Title: GEIT 3351: Software Engineering I Semester Credit Hours: 3 (3,0)

Course Overview The course is designed to provide an introduction to the theory and practice of software development and maintenance. The focus is on the full software development life cycle, including coverage of tools, techniques, principles, and guidelines for software requirements, specification, design and implementation. Particular emphasis is placed on the principles and methods used to develop and validate software requirements. Students are guided toward a better understanding of the various tasks and specialties that contribute to the development of a software product.


Course Title: GEIT 2421: Data Structures Semester Credit Hours: 4 (3,1)

Course Overview This course is concerned with the systematic study of some advanced data structures, including list, stack, queues, dictionary, and graphs. Sorting and hashing algorithms and their associated computational costs are discussed. The course presents the students with the concepts of asymptotic notations, performance measurement, sorting and searching including algorithms and lower bounds, abstract data types and classes, data structures such as heaps, search trees, tries, and hashing, and graphs: representation, depth-first-search, and breadth-first search. One important lasting effect of this course is to enhance and develop the ability to specify, design, implement, test, and analyze solutions to programming problems utilizing the data structures and proven algorithms presented in this course.


Course Title: GEIT 2331: Mathematical Reasoning & Algorithmic Thinking Semester Credit Hours: 3 (3,0)

Course Overview This course provides students with logical reasoning and other basic mathematical skills that will help them in subsequent courses in their programs and their future careers. The main purpose of this course is to develop the quantitative skills necessary for continued success. These skills enhance the ability of students to both analyze and describe mathematically many of the algorithms and data structure performance characteristics common to computer field as a discipline and to effectively communicate their solutions to fellow professionals.


Course Title: GEIT 4361: Practical Training Semester Credit Hours: 3 (3,0) 

Course Overview This course provides opportunities for students to apply the academic concepts, skills and techniques learned in their coursework to a professional work-oriented setting. The course offers the potential for a one-semester internship with a regional employer or a directed study course providing practical learning experiences that benefit the community.


Course Title: ASSE 4311: Learning Assessment III Semester Credit Hours: 3 (3,0)

Course Overview This is the capstone course required of all students pursuing an undergraduate degree program within the College of Information Technology. The objective of this course is to bring together in an applied manner the knowledge and skills obtained by the students throughout their undergraduate program. The course is designed so as to cover topics that are relevant from an integrated IT systems design and implementation perspective. The term “integrated IT systems design and implementation” refers to complex collaborative efforts that bring together knowledge skills in the related areas of computer science, computer engineering, and information technology (as covered by the three undergraduate programs offered by the College of Information Technology). The course is very applied. One of its main components is a team project focusing on integrated IT systems design and implementation. The course also includes a mix of speakers’ presentations, project work, and discussions on contemporary articles from industry publications.



CSEC Courses

Course Title: CSEC 1311 Special Topics: Semester Credit Hours: 3 (3,0)

This course teaches students basic concepts of cybersecurity. It lays the foundation to motivate the students for the need of Cybersecurity knowledge and skills. The students will learn about different types of cyber-attacks and related vulnerabilities. The students will learn the importance of cybersecurity as an existential threat to individuals and large organizations. The course will provide basic knowledge required for the other advanced courses in the study plan. Students in this course develop conceptual skills necessary for continued success in cybersecurity field. The skills enhance their abilities to appreciate the theory and practices of cybersecurity as a discipline and to effectively communicate their solutions to fellow professionals. This course makes extensive use of the PMU technology infrastructure to provide communication between faculty and students. The course includes individual as well as group projects, establishes both conceptual reasoning skills and technical communication skills, and provides opportunities for the presentation and defense of designed solutions.


Course Title: CSEC 2331 Digital Forensics: Semester Credit Hours: 3 (3,0)

Societal and legal impact of computer activity: computer crime, intellectual property, privacy issues, legal codes; risks, vulnerabilities, and countermeasures; methods and standards for extraction, preservation, and deposition of legal evidence in a court of law. This course presents an overview of the principles and practices of digital investigation. The objective of this class is to emphasize the fundamentals and importance of digital forensics. Students will learn different techniques and procedures that enable them to perform a digital investigation. This course focuses mainly on the analysis of physical storage media and volume analysis. It covers the major phases of digital investigation such as preservation, analysis and acquisition of artifacts that reside in hard disks and random access memory.

Course Title: CSEC 2431 Network Management: Semester Credit Hours: 4 (4,0)

This course introduces students to business data communications and networking concepts, tools and methods. The goal is to prepare students to apply networking tools and methods to the solution of business problems. The course covers the use of basic data communications and networking hardware such as hubs and routers, and of simple programming tools to customize and integrate existing software. It introduces networking, distributed transaction processing, and Web-related concepts. The course also covers concepts for managing distributed storage and connectivity related to data, voice, image, and video. Its specific focus is on Web-based systems. The course includes a mix of lectures, laboratory demonstrations and assignments, and discussions on contemporary articles from industry publications. The purpose of this course is to help Students become conversant with network management issues and understand the related issues relevant to network management professionals around the world, familiarize the student with the basic taxonomy and terminology of the computer networking area, have student Acquire the communication, leadership and teamwork skills necessary for   effectively work as professionals in teams, or in charge of teams, responsible for operating complex network environments, as well as help students broaden their knowledge about the role of networks as a set of resources that support the core and mission-critical business processes of an organization.


Course Title: CSEC 3352 Secure Software Engineering: Semester Credit Hours: 3 (3,0)

Computer software systems are used by organizations to store and manage information. These systems need to have adequate security measures that can safeguard sensitive information. This course covers all secure software development activities. Topics include: security in requirements engineering, secure designs, risk analysis, threat modeling, deploying cryptographic algorithms, defensive coding, penetration testing, fuzzing, static analysis, and security assessment. This course helps students develop the ability to become conversant with secure software engineering topics and acquire a strong understanding of all practices involved in the development of secure software. Secure software development is largely a collaborative effort. It also requires logical, analytical and creative thinking skills to design secure software as well as strong technical writing skills to generate proper deliverables. Therefore, the course provides opportunities to help strengthen these skills in students. Additionally, the course provides the students with the communication, leadership, and teamwork skills necessary to effectively work as professionals in teams responsible for securing software engineering projects.


Course Title: CSEC 3354 Introduction to Cryptography: Semester Credit Hours: 3 (3,0)

This course is an in-depth introduction to cryptology, covering material from classic to modern encryption methods. It explores how secret messages were hidden historically along with their weaknesses.  It also introduces the basic code breaking techniques. Modern symmetric and asymmetric ciphers such as 3DES, AES, RSA, and DH will be discussed. This course also covers relevant mathematical concepts like modular arithmetic and number theory. Students develop principles behind modern cryptography. They gain an understanding of and appreciation for cryptographic applications in network security. This course makes an extensive use of the PMU infrastructure to provide communication between faculty and students. While the course does not include a structured laboratory component, practical assignments/projects are assigned to ensure students gain relevant practical exposure.


Course Title: CSEC 3355 Scripting Languages: Semester Credit Hours: 3 (3,0)

The course begins by giving a gentle introduction to scripting languages and environments. Students then learn how to interpret and evaluate reliability and security of scripts, and how to automate tasks using scripting techniques and technologies. The make use of pre-existing software and to make utilization of external services and network resources by developing scripts are skills students taking this course will acquire. Finally, students will learn scripting runtime environments and several programming paradigms relating to programming/scripting. This course helps students develop the ability to become conversant with scripting languages. In particular, students learn how to ensure the reliability and security of developed solutions by interpreting and evaluating scripted software, and designing scripted software solutions to perform desired tasks. To meet functional requirements and using industry standard scripting languages, students learn how to develop and deploy scripted software solutions.


Course Title: CSEC 3431 Network Security: Semester Credit Hours: 4 (3,3)

Network Security examines the techniques used by network administrators and network security technicians in protecting and securing local area networks. Techniques for ensuring the confidentiality of messages are examined, including public and private key encryption, message and target authentication, digital signatures and   key management issues. Network security applications are discussed in detail including authentication, email and web security, IP security and network management security. Techniques for detecting and defending against intruders, malicious software and other forms of attack are also covered. This course introduces students to the key principles, techniques and technologies associated with securing network communications, and introduce students to network security applications, such as e-mail security, web security, wireless security, etc. It reviews current security attacks and existing solutions to overcome these threats, and develop the ability to specify, design, and analyze solutions to new security issues. The course provides students with the opportunity to communicate their designs and implementations to their peers in a professional setting as well.


Course Title: CSEC 3432 Cybersecurity Operations: Semester Credit Hours: 4 (3,3)

This course introduces students to the essential skills and knowledge required for a security analyst to work in an enterprise’s Security Operations Center (SOC) team. This is a hands-on course that teaches required security skills for responding to security events.  The course material and labs are oriented towards teaching different techniques for monitoring, analyzing, investigating and responding to security events. This course helps students understand the responsibilities of Cybersecurity Operations Analyst, explain network infrastructure, services, and protocols, and classify the various network attacks, and explain how to investigate and evaluate endpoint vulnerabilities and network security alerts. As well as analyze the operation of network protocols and services; and use monitoring tools to identify and prevent attacks, and analyze network intrusion logs to identify compromised endpoints and vulnerabilities, and apply incident response model.


Course Title: CSEC 4361 Operating Systems: Semester Credit Hours: 3 (3,0)

This course is the study of the principles, purposes, and organization of operating systems. The goal is to prepare students an understanding of the theory as well as practices of the design and implementation of operating systems software. Students in this course develop conceptual and fundamental knowledge of operating systems necessary for continued success in computer science. The skills enhance their abilities to appreciate the theory and practices of operating systems common to computer science as a discipline and to effectively communicate their solutions to fellow professionals. This course makes extensive use of the PMU technology infrastructure to provide communication between faculty and students. The course includes individual as well as group projects, establishes both conceptual reasoning skills and technical communication skills, and provides opportunities for the presentation and defense of designed solutions.


Course Title: CSEC 4362 Machine Learning: Semester Credit Hours: 3 (3,0)

Machine learning (ML) is an area of artificial intelligence that concentrate on machines that can predict without being explicitly programmed. Machine learning is being used in important fiends such as medicine, finance and marketing. This course covers different machine learning algorithms used widely in research and literatures such as Naïve Bayes, K-nearest Neighbors, Decision Trees, Support Vector Machines, Neural Networks, Collaborative Filtering, Ensembles and Clustering. The course will include the theory behind these algorithms and practical implementation with real-world data.
This course teaches students how to make computer perform a task without explicitly programming them for that task. For this purpose, computers should learn based on existing data and examples without human involvement. This course helps students understand the concept and the various applications of machine learning and how to apply the different machine learning algorithms to real-world data.


Course Title: CSEC 4471 Vulnerability and Penetration Testing: Semester Credit Hours: 4 (3,3)

This course is the introductory training in the line of penetration testing courses and certifications. The course helps students gain a valuable skill set in penetration testing by understand the importance of vulnerability assessments and ethical hacking. The course enables students to understand the importance of vulnerability in Penetration Testing assessments by providing industry knowledge and skills in Penetration Testing. In doing so, the student is able to understand how malware and destructive viruses function. In addition, the course helps students learn how to attack and assess different types of systems and networks. The course provides in-depth labs that focus on both open source and commercial based tools with industry best practices. These hands on labs emulate real world hacking scenarios and equip the candidate to assess your company’s security posture, help implement controls to better secure your company’s network infrastructure and how to combat against hackers and/or viruses, etc. This course describes the importance and benefits of Penetration Testing assessments, ethical guidelines and industry best practices for performing Penetration Testing assessments, and how malware and destructive viruses function. It demonstrates familiarity with both open source and commercial based tools used to perform Penetration Testing assessments, and the knowledge to perform a Penetration Testing assessments.


Course Title: CSEC 4472 Systems Security: Semester Credit Hours: 4 (3,3)

This course introduces students to the essential skills and knowledge required for comprehending the security aspects of large systems that are composed of components and connections, and use software. This course provides the students an understanding that security of a system requires viewing it not only as a set of components and connections, but also as a complete unit in itself requiring a holistic view of the system.  The course material and labs are designed to provide knowledge and practice of the concepts of security policy, authentication & access control, monitoring & recovery and testing & documentation of issues related to systems security. The purpose of this course is to help students understand the concepts of security of a system as a whole, explain the need for security policies, models and systems procedures, and Explain how to design a secure system architecture and perform its testing and validation. As well as analyze the various authentication, access control and forensic mechanisms for a secure system, and analyze and design a trusted computing system and provide multilevel security for contemporary system architectures.