IT dept

This course covers the algorithmic techniques and approaches required to handle various types of structured, semi-structured and unstructured data. The goal of the course is to teach algorithmic methods that serve as the cornerstones for handling and analyzing large datasets in a variety of formats. The course specifically covers how to pre-process big datasets, store big datasets effectively, design quick algorithms for big datasets, and evaluate the performance of designed algorithms. Algorithms for sorting, searching and matching as well as graph and streaming algorithms will be introduced. Upon completion of this course, students will have a broad knowledge of different algorithms for pre-processing, organizing, manipulating and storing different data types. Students will also be able to carry out performance analysis of each algorithm.

The course will introduce basic and fundamental programming constructs and techniques through using the C++ programming language in order to generate algorithmic solutions to problems. Upon completion of the course, students will learn an introduction to algorithms, solving problems by flowcharts and pseudo codes, header files, data types, arithmetic & logic operators, control statements (if, if/else, switch-case) and use them as inner statements, loop statements (while, do/while, for),  functions,  standard functions of programming language, random number generation and their area of use, user-defined functions, global and local variables, recursion, arrays, searching algorithms on arrays, sorting algorithms on arrays, pointers, pointer operators, using pointers with arrays and functions. In the laboratory hours, students are writing full programs or modifying existing programs for other solutions.

Digital forensics is a branch of forensic science that focuses on identifying, acquiring, processing, analyzing, and reporting on data stored electronically. The main goal of digital forensics is to extract data from the electronic evidence, process it into actionable intelligence and present the findings for prosecution. All processes utilize sound forensic techniques to ensure the findings are admissible especially in court. The course will help learn how to recover, analyze, and preserve computer and related materials in such a manner that it helps the investigation agency to present them as evidence in a court of law.

Data mining has emerged as one of the most exciting fields in Computer Science because of the growth of computerized data collections, which become more and more available in our modern digitalized world. Data mining have roots in the fields of artificial intelligence, machine learning (including classification, prediction, and clustering), statistical data analysis, data visualization and information retrieval. By completion of this course, students learn about different data mining methods such as classification, rule-based learning, decision trees and association rules. Students also learn about data selection and cleaning, machine learning techniques to “learn” about the “hidden” patterns in data, and the reporting and visualization of the resulting knowledge.