Teaching Experience

I believe in teaching by experiments. What encourages me the most as a teacher (and as a student as well), is to give practical problems and examples. We, as teachers, should support our students with methodologies and tools, and let them compete on finding the answer.

At Carleton University

  • SYSC 5807: Advanced Topics in Computer Systems: Cryptographic Implementations and Side-Channel Analysis (Winter-2021):
    An introductory course on cryptography for engineering students. In this course, we focus on understanding the overall design concepts and simple implementations of popular cryptographic algorithms from the engineering point of view. The course will introduce the some topics on discrete mathematics to understand the underlying mechanics of these algorithms. The first half of lectures will shed some light on the design of AES, SHA-3, Diffie-Hellman, RSA, DSA and Curve-Cryptography. The second half of lectures will introduce a collection of implementation-specific attacks including: power/electromagnetic attacks, fault-injection attacks, timing attacks and microarchitecture attacks. The course will also discuss common countermeasures against these attacks.
  • SYSC 4805 – Computer Systems Design Lab (Winter-2020, Winter-2021):
    Project-oriented experience in the design of embedded computer systems. Lectures will discuss practical aspects related to the design and development of embedded systems, starting from sensor data acquisition and processing to decision systems, testing and embedded-system based project management, with practical application examples. Includes: Experiential Learning Activity.
  • SYSC 2310 – Introduction to Digital Systems (Fall-2019, Fall-2020):
    Number systems: binary, decimal, hexadecimal. Digital representation of information. Computer arithmetic: integer, floating point, fixed point. Boolean logic, realization as basic digital circuits. Applications: simple memory circuits, synchronous sequential circuits for computer systems. Finite state machines, state graphs, counters, adders. Asynchronous sequential circuits. Races.

At Assiut University

  • 2015: Information Security (EE437):
    A senior-level course on the basics of information theory. Topics include probability theory, information theory, channel capacity and bandwidth, elements of coding, and information channels.
  • 2015: Electric and Electronic Circuits (E201):
    A junior-level course on an introduction to electric circuits. Topics include main definitions and laws, circuit elements (resistors, inductors, capacitors, and active  elements), electric circuit topology (series and parallel), first and second Kirchhoff’s Laws, methods  for solving electric circuits (Thevenen’s and Norton’s theorems, Reciprocity theorem, Substitutions theorem and Compensation theorem), AC current average and effective value, performance of AC currents passing through resistors, inductors and capacitors, and introduction to magnetic circuits.
  • 2015: Electric and Electronic Measurements (E227):
    A junior-level course on fundamentals of measurement systems. Topics include instrument types and performance characteristics, measurement uncertainty and calibration, electrical indicating and test instruments, variable conversion elements, and data acquisition and processing with LabVIEW.