Experience

Sept. 2018 - Present

Division of Cyber Security, Abertay University, Dundee, Scotland.

Dec. 2016 – Present

Assistant Lecturer, Computer Science Department, Faculty of Computer and Information Sciences, Ain Shams University.

Mar. 2013 – Dec. 2016

Teaching Assistant, Computer Science Department, Faculty of Computer and Information Sciences, Ain Shams University.

Undergraduate Courses - Abertay University

CMP109 Computer Networking 1

 An undergraduate course, teaching the foundation of communication and computer networking, concepts and protocols 

Undergraduate Courses - Ain Shams University

Computer Security

In this course, students understand the basic concepts of computer security. Classical techniques are first presented (like Play Fair, Hill Cipher, ... etc.), then we move to Data Encryption Standard (DES) and Advanced Encryption Standard (AES). 

Also, Public-Key cryptography and Key Exchange methodologies are explained. Students are asked to implement some of the presented algorithms. 

I initiated having  a unit test project to automate and auto-grade the delivery of the projects. 

Programming Language used: C# and Python. 

Algorithms Analysis and Design

In this course, students understand the basic concepts of analysis using Big-Oh notations. Also, design paradigms are explained (Divide and Conquers, Dynamic programming and Greedy algorithms). At the end of the course, students are asked to implement a project to show how efficient algorithms can differ from naïve ones. For example, projects can be implementing RSA algorithm using Karatsuba Multiplication and Big Integers or Image quantization using K-Means and so on.   

Programming Language used: C++, C# and Java.

Operating System Principals

 

In this course, Kernel mail modules are explained to students mai

nly CPU Scheduling, Memory Management and Shared Resources handling. Through the course students implement memory management module in a simple but real operating system. 

Programming Language used: C.

Assembly Language

 In this course, Assembly language based on Intel386 processor

is explained to students to help them and guide them understand low level concepts.