Back

1. CSE program differentiators

1- Integrated project-based learning with community impact aligned with Sustainable Development Goals (SDGs) of the United Nations.

2- Emphasizes inter-disciplinary 

3- Balance between software and hardware focused courses in each year

4- Offered with multiple electives themes to support different students’ preferences and market needs.

5- Enable senior students to transform their projects into startups with industry sponsorship through unique combination between theoretical knowledge and industrial hands-on experience.

6- Equip students with the needed technical and soft skills required to design and develop new technologies for varieties of applications.

7- Enable students with the breadth of knowledge in computer engineering to build industry level products within multi-disciplinary teams

2. CSE program samples cope with technology advances

1- CORE COURSES

One of the core pillars for CSE program based on which it was designed at the first place is to cope with the rapid and technology advances in the domain of the computer engineering/computer science.

Originating from this driver, the CSE program offered with different courses that support the industry 4.0 and digital transformation, robotics, embedded systems, artificial intelligence, deep learning, computer vision, machine learning, Internet of Things, cyber security, cloud computing and many of the current new technologies.

Courses examples:

  • Embedded systems design

The objective of the course is to introduce the concept of RISC architecture microcontrollers and design of embedded computing systems on typical applications including interrupts, timers, LCD and LED displays, keypads, A/D converters, rotary coders, stepper motors, serial, and parallel communication interfacing.

  • Electronic Design automation

This course introduces graduate students to the various electronic design automation artifacts, algorithms, and methodologies. It includes system level design languages, abstractions, models of computation, high level synthesis, modeling and model transformations, simulation-based validation, etc. The course deals with state-of-the-art design practices, algorithms, and methodologies. It requires a solid background in computer architecture, digital design, and proficiency in programming and modeling. At the end of the module students are expected to be capable of employing algorithms for computer-aided design of (digital) integrated circuits, electronic systems, and other emerging platforms. These comprise synthesis and optimization of digital circuits on logic level; simulation of digital circuits on logic level; mixed integer linear programming (MILP) modeling of EDA problems.

  • Machine learning and pattern recognition

This course is an advanced unit in artificial intelligence that focuses on the core element of modelling and recognizing patterns in data through learning. Application areas are in analyzing data from images and video, healthcare, finance, sports, text documents, speech, human-machine interaction and many more. This unit covers selected topics from Bayesian Inference, Deep Neural Networks, Support Vector Machines/Regression, Graphical Models, and Mixture Models as well as ethical and privacy considerations around the use of AI. Students will gain both an understanding of the theoretical foundations as well as hands-on experience in implementing and using machine learning techniques in real-world applications. This course covers the main theories, techniques, and algorithms in machine learning and pattern recognition, starting with simple topics such as linear regression/classification and ending up with more advanced topics such as artificial neural networks and model complexity selection and performance estimation. For pattern recognition most popular feature extraction techniques are introduced and Bayesian decision theory is studied. Both main unsupervised and supervised learning techniques are considered with emphasize on how, why, and when they work.

  • Real time embedded systems

The main objective of this course is to introduce to the students the main Principles and practice of using Embedded RTOS (Real Time Operating System) and peripheral devices such as sensors and actuators to build a small embedded system. Peripheral interfacing methods and standards. Analog-digital conversion methods and interfacing. Basics of digital communication signals, modulation schemes and error correction methods. Data compression, formats for audio, image, and video coding. This course aims to provide students with theoretical basis and practical skills in using microcontrollers with Real Time Operating Systems (RTOS). ARM Cortex 32-bit based platform is used throughout the course and all development is done in C language, mostly under Free RTOS operating system.  Since most modern embedded systems communicate with other systems, computers, or mobile devices the basics of data communication are covered and extensively applied in projects.

  • Web programming

This module introduces dynamic web page structures and development methods, the HTML form tags and Java scripting language development samples, CGI (Common Gateway Interface) language PHP, server setup, database connection, web site and CGI security. In this module students will use current technologies to develop Internet and web-based applications. The topics to be covered include client and server-side components for the WWW to facilitate client-server communication, web services, and an introduction to source control tools. Students will extend course topics via programming assignments, library assignments and other assigned activities. An introduction to the design of Web pages, specifically the development of browser and device independent HTML, with an emphasis on the XHTML standards. Includes the use of style sheets (CSS) and tools for page layout and verification. HTML is presented as a mark-up language, exploring the rules of HTML elements and attributes. Students learn the separation of page viewing information from the HTML through CSS style sheets as well as the use of block layout without using HTML tables. Addresses HTML display properties including text, color, image, and graphic elements as well as approaches to HTML validation and techniques.

  • Digital Control Systems

This module is designed to enable students to understand concepts of dynamic systems that includes electrical, mechanical, and hydraulic components.   In   addition, it introduces    automatic      control          description, modeling, different   control design techniques, analyzing the performance of control systems either in open loop or closed loop, transient-response analysis and steady state error analysis, basic control actions, and Lead and Lag compensators. The frequency response methods using polar plot, bode diagram and Nichol chart, the root locus methods, State space analysis of multivariable control systems, and feedback controllers are also presented.

  • Computer and cyber-Security

This module addresses the problem of securing computer systems. Different levels of computer threats and different authentication methods are studied. Ciphering and cryptographic techniques are studied to create secure algorithms. In addition, web security is introduced for the student to be aware of the different security techniques used at present.

  • Artificial Intelligence

This module introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence.  Upon c o m p l e t i o n o f t h i s module, students should be able to develop intelligent systems by assembling solutions to concrete computational problems, understand the role of knowledge representation, problem solving and learning in intelligent-system engineering, as well as in understanding human intelligence from a computational perspective.

  • Computer Graphics

This module provides introduction to computer graphics algorithms, software, and hardware. Topics include ray tracing, the graphics pipeline, transformations, texture mapping, shadows, sampling, global illumination, splines, animation, and color. Computer graphics are an essential part of modern software. In this course students will learn about fundamental algorithms, data structures and programming models used in 3D graphics applications. These key concepts in computer graphics programming will be covered from their mathematical foundations through to their application in domains such as data visualization, virtual reality, computer games and film animation/VFX. In this course students will explore these concepts through practical implementation in a modern computer graphics software context.

  • High performance computing

This module provides a solid foundation in High Performance Computing (HPC) and its role in science and engineering. The aim of the module is to study the fundamental techniques for developing HPC applications, the commonly used HPC platforms, the methods for measuring, assessing, and analyzing the performance of HPC applications, and the role of administration, workload, and resource management in an HPC management software. The students will be introduced to the issues related to the use of HPC techniques in solving large scientific problems.

  • Mobile programming

This module picks up the mobile app development with React Native. The module introduces the students to modern JavaScript (including ES6 and ES7) as well as to JSX, a JavaScript extension. Through hands-on projects, to gain experience with React and its paradigms, app architecture, and user interfaces. While there certainly is value in developing a mobile app user interface for an existing business application, the users of mobile applications have come to expect more from their mobile experience. This has manifested in an ever-increasing demand for mobile application development in the market.

  • Distributed computing

This module covers general introductory concepts in the design and implementation of distributed systems, covering all the major branches such as Cloud Computing, Grid Computing, Cluster Computing, Supercomputing, and Many-core Computing. The specific topics that this module will cover are: scheduling in multiprocessors, memory hierarchies, synchronization, concurrency control, fault tolerance, data parallel programming models, scalability studies, distributed memory message passing systems, shared memory programming models, tasks, dependence graphs and program transformations, parallel I/O, applications, tools (Cuda, Swift, Globus, Condor, Amazon AWS, OpenStack, Cilk, gdb, threads, MPICH, OpenMP, Hadoop, FUSE), SIMD, MIMD, fundamental parallel algorithms, parallel programming exercises, parallel algorithm design techniques, interconnection topologies, heterogeneity, load balancing, memory consistency model, asynchronous computation, partitioning, determinacy, Amdahl’s Law, scalability and performance studies, vectorization and parallelization, parallel programming languages, and power

2- ELECTIVE COURSES

The CSE program offers different themes for elective courses to support the different preferences and majors for CSE students as detailed below:

Multimedia and Computer Graphics

  • CSE 4531: Computer Vision

This module is designed to provide a comprehensive introduction to computer vision. Major topics include image processing, detection and recognition, geometry-based and physics-based vision, and video analysis. Students will learn basic concepts of computer vision as well as hands on experience to solve real-life vision problems.

  • CSE 4631: Critical Thinking and Design Methodology

This module is Designed to improve critical thinking skills through active discussions, debates, and writing with an emphasis on argument analysis and information literacy. Students develop strategies to enhance critical thinking utilizing a range of sources. This class teaches interdisciplinary strategies that can be applied to assist with interpreting, analyzing, critically evaluating, and writing about a variety of ideas. Problem Solving and Critical Thinking considers how most successful professionals of the 21st century will be able to assess an environment, analyze a situation, design alternative solutions, and assist organizations in creatively overcoming challenges and reaching strategic goals. This module focuses on the development of reasoning and problem-solving skills by using the scientific method to analyze case studies and controversial topics. Learners consider cultural differences in reasoning, inductive and deductive logic, and how to use positive inquiry and synthesis to solve individual and organizational problems. Emphasis is placed on successful models and proven methods that are transferable within the work environment.

  • CSE 5531: Human Computer Interaction

This module introduces the field of human computer interaction with emphasis on its impact on software design. It provides the student with theories and models of the way users think and work to guide the students to best design the interface to suite users’ preferences. It provides an understanding of the underlying processes of human perception, information processing, and demonstrates their relevance to user interface design. Students will learn how to apply mechanisms such as feedback, user support, navigation aids and good screen design in constructing interface designs that match users’ needs. Students will also learn techniques for evaluating user interface designs that are grounded in theory.

  • HUM 5631: Entrepreneurship and Small Business Management

This module is designed to introduce the positive relationship between economic growth and entrepreneurship, teach students the global growing trend of entrepreneurial activities for practical faculties. It is designed to be fully compatible across the global market; cope with the Egyptian government’s prevailing strategies by advocating the entrepreneurial activities and supporting young people to start their own business and establishing rules and regulations which facilitate initiating these small businesses.

Distributed and mobile computing

  • CSE 4532: Internet of Things

This module adopts modern approaches to software systems development, allowing you to explore both the theoretical and practical skills needed to understand programming and problem solving, software design methods, wireless sensor networks, development, and integration of secure IoT systems, data structures and algorithms, intelligent systems, big data and data analytics, and product design and innovation management. The module prepares you for a wide range of career opportunities, from programming and developer roles to software engineering, with Internet of Things applications found in a range of industries such as health and social care, security and surveillance, transportation, smart homes and home automation, entertainment, education, agriculture, and urban development.

  • CSE 4632: Cloud Computing

Cloud computing enables disruptive new business technologies every day, from chatbots to artificial intelligence (AI) to applied machine learning and blockchain. With an online bachelor’s degree in cloud computing and solutions, you’ll be prepared to provide more of what organizations need to develop, innovate, and complete their cloud transformation. As cloud computing evolves, organizations must move from the experimentation phase to full-scale implementation. To do so, they need skilled professionals capable of migrating and creating solutions in the cloud, ensuring data security, and conducting ongoing maintenance of cloud systems and storage. Purdue Global’ s online cloud computing courses equip you with technical, strategic, and business acumen to lead companies in this fast-evolving field. This course introduces students to fundamentals of cloud computing and software development for cloud platforms. It covers topics such as virtualization, architecture of cloud systems, programming for the cloud, resource management, as well as privacy and security issues. Students gain practical experience developing applications for cloud platforms through a series of hands-on assignments.

  • CSE 5532: Mobile and Wireless Networks

This module examines the characteristics of mobile and wireless networks and the impact of these characteristics on the development of software and supporting protocols. Topics covered include mobile and wireless application design and development environments, middleware support, protocol requirements for ad-hoc and sensor networks, wireless & mobile security vulnerabilities and standards, supporting reliable communication in lossy and intermittently connected networks; challenges and architectures for wireless mobility – 4G networks, Wi-Fi, Wi-Max, Bluetooth, Mobile IP, convergence of voice and data networks.

  • CSE 5632: Computer and Network Forensics

This module will build on the topics learned in Introduction to Digital Forensics and take the student’s knowledge further, deepening their understanding of the reasons for a methodical approach to initiating and conducting a Digital Forensics investigation. The module includes identifying potential evidence, preserving the computer crime scene, the evidentially safe way to handle and create admissible exhibits, and extracting reporting on artefacts in a standard appropriate for the UK Criminal Justice System. Students taking this course will obtain the technical expertise and understanding of the relevant legislation, relating to the role of an expert witness and Digital Forensics practitioner. The students investigate various methods of data hiding and study various contemporary topics within Digital Forensics.

Data science

  • CSE 4533: Data Mining

This module introduces the students to the identification of patterns in data that can be used to derive knowledge for prediction and/or classification purposes. The course exposes the learners to a variety of established techniques and methodologies for the analysis of data. The module is motivated by the inclusion of selected topics of data analytic problems arising in business and consumer analytics and data science and data engineering. This module will introduce key concepts in data mining, information extraction and information indexing, including specific algorithms and techniques for feature extraction, clustering, outlier detection, topic modelling and prediction of complex unstructured data sets. By taking this course you will be given a broad view of the general issues surrounding unstructured and semi-structured data and the application of algorithms to such data. At a practical level you will have the chance to explore an assortment of data mining techniques which you will apply to problems involving real-world data.

  • CSE 4633: Data Science Methodology

This module Develops all aspects of the data science pipeline: data acquisition and cleaning, handling missing data, data storage, exploratory data analysis, visualization, feature engineering, modeling, interpretation, presentation in the context of real-world datasets. Fundamental considerations for data analysis are emphasized (the bias-variance tradeoff, training, validation, testing). Classical models and techniques for classification and regression are included (linear regression, ridge and lasso regression, logistic regression, support vector machines, decision trees, ensemble methods). Uses the Python data science ecosystem.

  • CSE 5533: Big-Data Analytics

This module will introduce postgraduate computer science students to the field of big data analytics. The course has a focus on strong computational and mathematical foundations embedded in practical application. Students having completed the course would have been exposed to all facets of the big data analytics pipeline from technology deployment, through machine learning, to optimization and multivariate statistics. As part of the program, students are required to complete an applied research project with a focus on a real world/industry big data analytics problem. Students are encouraged to find mentorship within industry and additional cohort supervision is provided by subject matter experts from within the school.

  • CSE 5633: Bioinformatics

This module teaches the bioinformatics skills used in academic, biotech, and pharmaceutical laboratories for analyzing individual DNA and protein sequences. This is not a programming course. Classes consist of lecture and extensive hands-on experience using mainstream web-based bioinformatics tools. Students learn how to evaluate data sources and choose the correct paths to solutions. Throughout the semester, interesting biological questions are addressed by analyzing sequences, searching databases, using sophisticated software, and interpreting results. Upon completion of the course, students have extensive skills with sequence analysis tools and are prepared for their own laboratory projects or bioinformatics software creation.

Artificial intelligence

  • CSE 4534: Introduction to Robotic Systems

This module provides an overview of robot mechanisms, dynamics, and intelligent controls. Topics include planar and spatial kinematics, and motion planning; mechanism design for manipulators and mobile robots, multi-rigid-body dynamics, 3D graphic simulation; control design, actuators, and sensors; wireless networking, task modeling, human-machine interface, and embedded software. Weekly laboratories provide experience with servo drives, real-time control, and embedded software. Students will design and fabricate working robotic systems in a group-based term project. The purpose of this module is to introduce you to basics of modeling, design, planning, and control of robot systems. In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control.

  • CSE 4634: Artificial Neural Networks

This module demonstrates how Artificial Neural Network (ANNs) provide a model of computation drastically different from traditional computers. Typically, neural networks are not explicitly programmed to perform a given task; rather, they learn to do the task from examples of desired input/output behavior. The networks automatically generalize their processing knowledge into previously unseen situations, and they perform well even when the input is noisy, incomplete, or inaccurate. These properties are well-suited for modeling tasks in ill-structured domains such as face recognition, speech recognition and motor control. This module will cover basic neural network architectures and learning algorithms, for applications in pattern recognition, image processing, and computer vision. Three forms of learning will be introduced (i.e., supervised, unsupervised and reinforcement learning) and applications of these will be discussed. The students will have a chance to try out several of these models on practical problems.

  • CSE 5534: Advanced Artificial Intelligence

This module introduces students to the advanced topics of AI. It presents the latest development in the field that includes Knowledge Based Systems, Probabilistic Reasoning, Simple and Complex Decisions, Machine Learning, Knowledge Discovery, Natural Language Processing, Pattern Recognition, and Robotics. Upon completion of this module, students should be able to develop intelligent systems that integrate several intelligent inference engines, understand the role of knowledge, reasoning and learning in intelligent-system engineering, as well as in understanding human intelligence from a computational perspective.

  • CSE 5634: Deep Learning

This module is well rounded in terms of concepts. It helps us understand the fundamentals of Deep Learning. The course starts off gradually with MLPs and it progresses into the more complicated concepts such as attention and sequence-to-sequence models. We get a complete hand on with PyTorch which is very important to implement Deep Learning models. As a student, you will learn the tools required for building Deep Learning models. The homework’s usually have 2 components which is Autolab and Kaggle. The Kaggle components allow us to explore multiple architectures and understand how to fine-tune and continuously improve models. The task for all the homework’s were similar and it was interesting to learn how the same task can be solved using multiple Deep Learning approaches. Overall, at the end of this course you will be confident enough to build and tune Deep Learning models.