Hanan Hindy

Hanan Hindy

Experience

March 2013 – December 2016

Teaching Assistant

Computer Science Department

Faculty of Computer and Information Sciences

Ain Shams University


December 2016 – Present

Assistant Lecturer

Computer Science Department

Faculty of Computer and Information Sciences

Ain Shams University


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.