Bachelor of Science in Computer Science - Digital Forensics
Investigate Computer Crime
The Digital Forensics specialization provides the necessary knowledge, and skills needed to collect, process, preserve, analyze, and present the computer-related evidence in support of criminal, fraudulent, counterintelligence, or law enforcement investigations.Students will use a variety of hands-on tools, with the support of well-established international methodologies employed in a variety of environments related to operating systems, file systems, networks, mobile devices, and electronic discovery of data.The idea is a continuum of thoughts within the industry stakeholders in developing expertise in digital forensic investigation, enterprise security, criminology, prevention of hostile cyber-behavior, criminal activity and breach of rules and procedures in a network-centric environment.
Mission
The mission of the program is to prepare students for a successful professional career in computer science and information technology by equipping them with knowledge and skills in latest trends and technologies of computing field. The program strives at empowering students to conduct applied research, provide innovative solutions to computing problems and lifelong learning.
Program Educational Objectives
- Have a graduate degree or professional career in computer science or related disciplines.
- Become successful researchers, team members or leaders.
- Maintain high standards of work ethics, social responsibilities and professionalism.
- Specialize in solving technical problems using computing knowledge, skills and competence.
- Be creative, effective, and productive members of the local, regional and international communities.
Program Learning Outcomes (Student Outcomes)
- Seek professional development and postgraduate degrees in the fields of Information Technology and Management.
- Work in teams and demonstrate effective communication and collaborative research skills.
- Demonstrate knowledge and skills in the fields of Information Technology and Management.
- Show ethical, professional and social qualities.
- Be an effective member of the community and make positive contributions to the society.
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
ADMISSION REQUIREMENTS
For further information, please click here
GRADUATION REQUIREMENTS
For undergraduate degree completion, undergraduate students must satisfy the following requirements:
- Earn a minimum CGPA of 2.00 on a scale of 4.00.
- Successfully complete all courses as described in the study plan.
- The Degree Completion requirements must be met within the timeframe of the program.
- Transfer students must successfully earn a minimum of 50% of the course credits for the program at AUE.
ACCREDITATION
The BSCS is accredited by the UAE-CAA and ABET-CAC.
Preparatory Courses
Prior to their enrollment in the program, students applying for Bachelor of Science in Computer Science must sit for the placement test related to the program, failure to successfully passing the placement test, they are required to enroll in the following courses:
| # | Course Code | Course | Credit Hours | Exemption Condition |
| 1 | CIT 90 | Computer Preparatory | 0 | Passing the Placement Test |
| 2 | MAT 90 | Mathematics Preparatory | 0 | Passing the Placement Test |
| 3 | PHY 90 | Physics Preparatory | 0 | Passing the Placement Test |
| 4 | ENG 99 | Academic Writing (*) | 0 | Passing the Placement Test |
PROGRAM STRUCTURE
Course Category
Total Number of Courses
Total Number of Credit Hours
General Education Courses
10
30
Core Courses
26
81
Specialization Courses
5
15
Total
41 Courses
126 Credit Hours
COURSES & DESCRIPTIONS
GENERAL EDUCATION COURSES
10 COURSES | 30 CREDIT HOURS
A: University Core Requirements
Students are required to complete 9 credit hours (3 courses) from the following list:
This course offers an introductory exploration of Artificial Intelligence (AI) for students across all disciplines. It focuses on applying AI concepts and tools practically without delving deeply into specialized or theoretical content. Students will learn basic AI concepts through practical exercises, including problem-solving, decision-making, simple machine learning, reinforcement learning, probabilistic learning, and natural language processing. The course will emphasize the impact of AI on society, ethics, and everyday life, preparing students to understand and engage with AI in various contexts. By the end of the course, students will have a comprehensive understanding of artificial intelligence, its branches, and practical applications across real-world domains
B: Languages and Communication Studies
Students are required to complete 9 credit hours (3 courses) from the list below:
This course provides students with advanced writing skills in English so that they can successfully pursue their studies in various academic specializations. It helps students to develop, improve, and upgrade their writing and structure skills, and it also acquaints students with technical writing, research papers, and essays since brief research methods are applied in student projects and assignments.
Students must take one of the following Arabic Language courses:
C: The Natural sciences or Mathematics
The student selects 3 credit hours (1 courses) from the list below:
D: The Humanities or Arts
The student selects 3 credit hours (1 courses) from the list below:
E: Islamic Studies
The student selects 3 credit hours (1 course) from the list below
F: UAE Studies
The student selects 3 credit hours (1 course) from the list below
CORE COURSES
26 COURSES | 81 CREDIT HOURS
The purpose of this introductory course is to study computers and data. It gives an establishment to utilizing computers in different courses and educational module for research, correspondence, and writing. Students will be exposed to the fundamentals of hardware and its associated software and systems improvement. The course will show how the computer automates the processing of information.
Physics course introduces the basic concepts, theories and terminologies of the scientific method in the context of the science of physics. Students will reinterpret and express ideas and views of our physical world from the basic principles of physics. Mathematics being the physics’ language, students enrolled in this course are expected to be able to deal with simple vectors operations, basics of calculus (differentiation and integration), algebraic relations and trigonometric functions. This course allows students to differentiate between the various multitudes of measurement, learn kinematics including translational and rotational motion together with the motion of projectiles, interpret forces and torque, and then apply Newton’s Laws to analyze objects situations. Students will be able to set up equations related to energy conservation, work and momentum conservation.
This course explores the physical concepts of electrostatics and electromagnetism. This subject benefits the students to develop sold background of the electricity and magnetism fundamentals. Topics include: electric charge, electric field, Coulomb’s law, Gauss’s law, electronic component such as resistors, capacitors and indicators, direct and alternative currents and various experiments that focused on the given topics.
This course is an introduction to differential and integral calculus. It begins with a short review of basic concepts related to functions. Then it introduces the concept of a limit to a function. It then unfolds to the study of derivatives and their applications. Thereafter it considers the area problem and its solution, the definite integral.
The General Statistics, an introductory course in statistics, discusses the following topics: an introduction to statistical methods; descriptive statistics; the normal distribution, basic techniques of statistical inference; confidence intervals and hypothesis tests for population means and proportions; a comprehensive introduction to probability, probability distributions and sampling. The course uses the software SPSS during laboratory sessions.
This course introduces students to the fundamentals of computation problem solving. The course covers the main principles of algorithm-based problem solving and implementation of solutions using a computer programming language. Students will learn the essential programming concepts and computation problem solving such as algorithms, data flow, decomposing large problem into smaller components, program design, data types, control structures, functions and handling input and output. The course includes several labs to give hands-on experience to students.
The course introduces Object-Oriented programming language and design using high-level programming language. The course aims at introducing abstraction, information hiding, classes, methods, attributes, inheritance, polymorphism, file processing, overloading, exception handling, reading and writing from text files. The course includes hands-on exercises that will help students develop skills required to develop functioning programs for solving computing problems.
This course offers an introduction to electronic models with logic design and the basic concepts used in digital systems. The course covers the design and applications of combinational logic components and sequential circuits. The course includes details of how computer systems are developed by highlighting the basic concepts involved in computer theory like truth tables, binary arithmetic, and standard representation of logic functions.
Students who have taken calculus 1, can take this course to excel in the taught subjects. The course will focus on Transcendental Functions, Techniques of Integration, Infiniti Series, integrals and their applications methods and optimization techniques using partial derivatives. Furthermore, students will learn various concepts of curl and divergence and apply them to real-life context.
In this course, students apply basic knowledge of essential science, math, and designing standards to solve computational problems. This course aims to strengthen the capability of students to develop algorithm and classify the proper data structure method to solve the problem. Algorithms define the approaches for giving solutions utilizing computer facilities. Regularly, the aim is to develop fast computational methods using the least number of resources. For example, specific data structures are used to organize large numbers of records by quickly defining the existing records and/or quickly finding and inserting deleted and new records. The course will concentrate on Big O notation, arrays, stacks, queue, lists, trees, heap and hashing techniques.
In this course students will learn linear algebra and develop an appreciating on how the application of this branch of mathematics plays an important role in many computer science undertakings and help solving diverse problems in internet search, data mining, machine learning, graphic design, compilers, bioinformatics, relational database design, and database optimization. The course aims to improve the analytical thinking skills of students through their ability to understand the core principles of linear algebra, such as linear equations, matrices, vector spaces, coordinate systems, determinants, linear operators, linear transformations, eigenvalues, eigenvectors, orthogonality, and quadratic Forms, and then be able to apply these techniques to solve basic problems in IT.
This course covers the basic concepts of web design techniques. Its main topics are Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS). Students do not need any programming skills. previous knowledge of HTML or web design. This course introduces to students how to develop webpages and website using different tools such as HTML editors and web browsers. They will learn how to write HTML code using different techniques. They will be taught to enhance the format of websites using styling and layout, to improve webpage look and feel through images, graphics and tables and to enrich their contents by adding audio, video and multimedia files. In addition, students will work in groups to create a website combining all the techniques they have learned throughout the semester.
This course of discrete mathematics aims to introduce students to concepts, ideas, and techniques that are widely used in computer science. The goal of this course is to teach various topics in discrete mathematics that qualify students to think logically and mathematically to solve problems in computer science. To achieve this goal, students will study logic and proofs concepts, basic structures, set operations, functions, sequence and summations. Moreover, the following concepts constitute part of the course, as well: methods of proving theorems, induction and recursion, basic rules of counting, pigeonhole principles, permutation and combination, discrete probability, advance counting technique, graph terminology, Dijkstra’s algorithm, traveling salesman and trees.
This course covers the essential operating system concepts. The students will be provided an introduction to operating systems including a brief history of development through the years and the five managements under each operating system. The course will also cover the topics including processes and threads in context of resource management, memory management and related schemes, CPU scheduling algorithms and file systems. Several alternative algorithms related to page replacement policies and CPU scheduling are discussed along with understanding their advantages and disadvantages. The role of the device manager will be emphasized in the context of resource sharing. Other topics such as concurrent processes and synchronization, deadlocks and security are also presented briefly. Furthermore, the students will get hands-on practical labs on modern Operating Systems including Linux and Windows. The advanced labs will introduce the practice of a scripting language to understand the various topics presented through the course outline.
This course is designed to provide a needed background to understand computer networks. It describes types of networks, how networking affects society, and the components and tools that are used to create networks in various business models. The course also introduces networking, offering easy-to-follow details on hardware, networking protocols, remote access, and security. New networking professionals will first learn what they need to know about network technology, and then how to apply that knowledge to set up, manage, and secure networks.
Good data analytics is the basis for effective decisions. Whoever owns the data can quickly and efficiently extract the information needed to make informed decisions. The purpose of this course is to introduce students to the essential concepts, theories, methods, and tools related to data analytics. The aim of the course is to give students a thorough understanding of the concepts and procedures involved in data collection, processing, analysis, and visualization. The course is designed to empower students with the appropriate collection of formulas and techniques for data analytics. This course discusses how to use data analytics to improve decision-making and is ideal for those new to using data analytics to show how to expand their usage horizon.
This course is designed to introduce database concepts and data models such as hierarchical, networks with more focus on relational databases and ER modeling. The course aims to introduce the database normalization process and enables students to design basic databases through hands-on exercises, case studies, and a teamwork project.
The course will introduce modern programming languages and their concepts. The course emphasizes the rationale for studying programming languages and the criteria to evaluate them. The concepts of language design, constructs and common design trade-offs will be discussed. Topics include Syntax and semantics of languages, Data types, Names, Bindings, Scopes, Expressions and Assignment Statements, Control Structures, Subprograms and their implementation. This course also covers the advanced topics such as abstraction and concurrency support offered by modern programming languages. Furthermore, the latest trends such as functional programming paradigm will be explained in the course. The hands-on exercises of this course will help students to explore new languages and take well-informed decisions for their future projects.
This course discusses main concepts of computer architecture and organization such as the behavior and structure of different computer’s functional modules. Students will learn as well how these functional modules interact to meet users’ processing needs. In addition, the course will introduce students to basic computer organization, data representation and computer arithmetic, digital components, digital logic circuits, register transfer, micro-programmed control, input- output organization, central processing unit, memory organization and pipe-lining.
Computer Ethics is an interdisciplinary course. The course reflects the rapid expansion of information technology and the civic and ethical challenges that have emerged from the expansion. The course content is organized around a number of issues that are of immediate concern, including threats to privacy from massive database, data mining, high-speed networks, workplace surveillance, the electronic theft of intellectual property, such as music, video, film and text, and catastrophic computer -related accidents such as airplane crashes and nuclear power plant shutdowns.
CCIT offers the Internship program as a graduation requirement for students in the Computer Science and IT Management programs. This program allows students link theory to real world practice. The student is required to complete 280 working hours within 2 months. During this time, the student submits 4 reports explaining the tasks conducted and the skills gained/improved. At the end of the semester, the student provides an oral presentation that explains his/her performance during the internship
This course provides a foundation for students to explore the field of Artificial Intelligence (AI). This course covers the introduction to basic concepts and techniques that are essential to many AI applications. The topics discussed include intelligent agents and environment, classical search, knowledge representation and reasoning techniques, first order logic with its syntax and semantics, classical planning with its algorithms, and the uncertainty knowledge approaches such as probabilistic and Bayesian networks. Students will expand their knowledge to practice in a wide range of applications such as computer vision, robotics, and natural language processing.
This course aims to introduce the theoretical concepts and methodologies of software engineering to students. In particular, this course concerns with software engineering concept, software processes including process models, process activities, process improvement and coping with changes, agile software development and agile methods, requirement engineering, system modelling, implementation, testing and evolution. The course aims to deliver a comprehensive and complete theoretical framework of software development activities and design essentials to students. By the end of course, student will submit a project that addresses the concepts, methods and techniques learnt during the course to tackle certain real life problem. The project is a group project maximum of two students.
The course provides a comprehensive introduction to computing theory, covering the fundamental principles and concepts. This course takes a mathematical approach to develop a comprehensive grasp of the subject by focusing on the formulation of theorems and proofs, regular expressions, Turing machines and their variants, decidable languages, the recursion theorem, and complexity theory are among the ideas covered in the course. Students will explore several concepts such as the equivalence of deterministic and non-deterministic finite automata and the conversions between pushdown automata and context-free grammar in order to design an effective and efficient parsing technique. The course will conclude with a discussion of non-computability and complexity, giving students a thorough understanding of the theoretical foundations of computation.
The course Advanced Topics in CS is designed to provide students with the current and emerging technologies relevant to Computer Science and Information Technology. The course aims at introducing the new advanced concepts, principles, and practices of the modern computing landscape. The course content might vary from one semester to another depending upon the emerging technologies, faculties expertise, and students’ preferences. Advanced Topics in CS course uses a variety of teaching strategies to expose students to real-world scenarios, which are current industry challenges. This approach ensures that CS graduates are equipped with the contemporary skill sets required in the ever-changing industry.
The course enables students to explore distinct areas of CS, which are not covered in the regular coursework and focuses on the identification of long-term overall aims and interests, as well as the means of using CS to help businesses achieve their organizational goals. Topics covered in this course include but are not limited to, Blockchain, Data Science,?Machine Learning, Artificial Intelligence, and Big Data among others. This course aims at improving students’ soft and hard skills through assignments, oral presentations, and a final group-based project.
The goal of the capstone graduation project is to evaluate the aptitude of students to independently complete a project in an area of their preference (e.g., software and web development, network administration and security systems, database systems, and digital forensics). The responsibilities required are identifying a research area and developing a project proposal identifying the research aim, objectives, research plan, time schedule, and estimated budgets. Students are required to present their findings through an oral presentation and written thesis.
SPECIALIZATION COURSES
5 COURSES | 15 CREDIT HOURS
Students will learn about operating systems without getting into detail about internal algorithms. Case studies involving operating systems and networks are used by students to gain an understanding of how operating systems work and their role in Computers. The course covers structures of operating systems, processes and process synchronization, main memory, storage structure mass, file systems, operating system protection and security, virtual machine and UNIX flavours. Students learn to monitor, secure and configure an operating system using a UNIX flavours.
This course provides the student with a comprehensive introductory to the uses of computers in the world of digital forensics. Through this course the student will get familiar with the known methods of computer investigations and digital evidences, the requirements of work and lab environments of computer forensics, the techniques of data acquisition and data analysis used today in computer forensics, and the legal aspects of forensics investigations.
The course serves as an essential primer to digital forensics investigations. It covers the well- known techniques and tools used by investigators for acquiring, comparing, and analyzing digital evidences in computer in private and public investigations. General legal issues such as handling evidences, chain of custody, admissibility, search warrants, and working with law enforcement are also covered. Several hands-on lab exercises that includes working, analyzing, and examining digital images and evidences will be carried out throughout this course.
This course teaches students how to reverse engineer legacy software systems using Ghidra and IDA to identify vulnerabilities and risks. Students will learn how to analyze the behavior of these systems using static and dynamic analysis techniques and use debugging techniques to troubleshoot issues. To demonstrate their skills, students will analyze a Windows executable using various techniques. In addition, the course will address x86 and x64 computer architectures, analyzing legacy software systems, reversing malware, static and dynamic analysis techniques, data encoding, debugging techniques, binary obfuscation techniques, and packing and encryption. The course emphasizes teamwork and collaboration in a group project where students will design and implement practical solutions for real-world malware analysis problems. By the end of the course, students will have a comprehensive understanding of legacy software systems and be equipped with the necessary tools to identify and address security threats.
This course provides students with a comprehensive understanding of information security management systems (ISMS) and their implementation in organizations. The course covers topics such as evaluating security controls, aligning security needs with ISMS frameworks such as ISO, NIST,?and COBIT. Also implementing security controls to achieve confidentiality, integrity, and availability (CIA) and risk management, and applying continuous improvement principles for organizational security. Students will also have the opportunity to collaborate on a group project to design and implement an ISMS that meets security needs and adheres to standards and regulations. By the end of the course, students will be equipped with the knowledge and skills to effectively manage information security within an organization.
This course introduces students to network intrusions and its relation to forensics. It further talks about key issues in intrusion forensics such as fundamental concepts of intrusion detection systems, packet analysis, Snort signatures, and products. It also introduces some advanced topics like intrusion prevention, forensic analysis using alert correlation, decoy systems, data mining, and some introduction to proactive forensics as well.
Most of cyber-attacks are performed using networks and can be further prevented using intrusion detection and prevention systems. Intrusion detection can help to trace out the hackers and sue them in courts for committing digital crimes.
In this course, the students will be made aware of different types of digital evidence, how to seize electronics devices on crime scene and the way to secure mobile devices from electromagnetic radiations. Students will also learn how to acquire digital evidence from different types of devices like different types of HDDs, USB devices etc. Different techniques to make copies of evidence without modifying the original data will also be studied in the class. Students will learn to use different write-blocker devices when copying the data from original evidence device. After acquiring the image of evidence device, students will also process them using different open source and licensed software. They will have hand-on practice using Autopsy, AccessData FTK Imager, EnCase etc.
