Eman Samy Diyab

Lecturer
CS Department, Purdue University

MSc, Purdue University, Computer Science (2021)
BS, Ain Shams University, Computer Science

  • Email: E then my lastname AT Purdue DOT edu, OR my firstname AT Purdue DOT edu
  • Office: LWSN - B116C
  • Office hours: Wednesdays & Thursdays 2:30 PM - 4:00 PM

  • Previous Semesters

    Fall 2026 - CS15900

    Lecture # Date Lecture Quiz Notes Recording Pages Lab HW Keywords
    WEEK 1
    1
    Aug 25
    ---
    Pdf
    Video
    Lab #0
    ---
    Introduction, course policies and motivations
    2
    Aug 27
    Demo
    Pdf
    Video
    26 - 30
    Chapter 2: Structure of a C program, Commenting, Identifiers.
    WEEK 2
    3
    Sept 1
    1
    Pdf
    Video
    31 - 33
    Lab #1
    HW #1
    Chapter 2: Data types, Variables, Literal Constants, Symbolic/Defined Constants
    4
    Sept 3
    2
    Pdf
    Video
    34 - 37
    Chapter 2 cont.: Symbolic/Defined Constants, Formatted I/O, Width and precision modifiers
    WEEK 3
    5
    Sept 8
    3
    Pdf
    Video
    Debugging Example
    37 - 42
    Lab #2
    HW #2
    Chapter 2 cont.: Formatted I/O, Width and precision modifiers.
    Chapter #3: Expressions(Operators and operands). Operator precedence. Assignment expressions. Simple assignments.
    6
    Sept 10
    4
    Pdf
    Video
    42 - 46
    Chapter #3: Assignment expressions. Simple & Compound assignments.
    Prefix and postfix (Undefined vs. Well-defined behavior example).
    Single and mixed data type expressions. implicit data type conversion.
    WEEK 4
    7
    Sept 15
    5
    Pdf
    Video
    46 - 49
    Lab #3
    Chapter #3 cont.: Mixed data type expressions. implicit, explicit (type casting), and assignment data type conversions.
    Rounding, truncation using floor(), type casting to int, truncation in printing using precision modifiers.
    Chapter#4: Purpose of functions. Motivation - why?
    Factor – smaller is easier.
    Reuse - by you or others. Remove redundancy.
    Protect data - using the variable doesn't change its value.
    Top-Down design. Factoring: Each function does a single task (functionally cohesive).
    8
    Sept 17
    6
    Pdf
    Video
    50 - 52
    Chapter# 4: cont. Functions terminology.
    Call / calling / called / Return. Parameter passing. Types of functions.
    1- No parameters - no return value: ex. welcome() , menu_options().
    2- No parameters - with return value: ex. get_input().
    3- With parameters - with return value - Many math.h fx, sin().
    4- With parameters - no return value - printf(), display_results().
    WEEK 5
    9
    Sept 22
    7
    Pdf
    Video
    53 - 60
    Lab #4
    HW #3
    Chapter#4 cont. Types of functions. 1- No parameters - no return value - welcome() , menu_options() 2- No parameters - with return value - get_input(). 3- With parameters - with return value - Many math.h fx, sin(). 4- With parameters - no return value - printf(), display_results().
    10
    Sept 24
    8
    Pdf
    Video
    60 - 64
    Chapter#4 cont. : What is permitted in main() Function:
    Local variable definitions, function calls and limited selection or repetition (to call functions).
    Parameter passing:
    1- Pass by address.
    2- Pass by address.
    Pointer operations.
    WEEK 6
    11
    Sept 29
    9
    Pdf
    Video
    64 - 69
    Lab #5
    Chapter#4 cont. Scope. Structure Charts. How to read a structure chart.
    Problem-solving method (specify, analyze, design, code, test and debug, refine).
    Chapter #5: Selection. Logical data.
    logical operators (NOT, AND, OR).
    Logical operators truth table.
    Logical expressions evaluation.
    12
    Oct 1
    10
    Pdf
    Video
    69 - 73
    Chapter #5 cont. Short circuit method with example.
    Relational operators (<, <=, >, >=). Comparative operators (==, !=). Compound statements.
    Examples illustrating compound statements with short circuit method.
    Complements:
    (1) Relational and comparative operators.
    (2) Logical operators.
    WEEK 7
    13
    Oct 6
    11
    Pdf
    Video
    74 - 81
    Lab #6
    HW #4
    Chapter#5 cont. : Examples on Complements.
    Two way selection:
    (1) if-else. Nested selection (if/if else) . Dangling else.
    (2) Conditional expressions.
    14
    Oct 8
    12
    Pdf
    Video
    82 - 87
    Chapter #5 cont.:
    Multiway selection:
    (1) if / else if / else with examples compared to if if structure.
    * if else vs. conditional expressions vs. switch statements.
    (2) switch construct.
    * Fall through behavior.
    * testing floating points for equality challenges.
    * Switch construct rules.
    * When to use a switch and when not to use a switch.
    WEEK 8
    ---
    Oct 13
      🍁 FALL / OCTOBER BREAK 🍁
    15
    Oct 15
    13
    Pdf
    Video
    87 - 92
    Chapter #5 cont.:
    Multiway selection:
    (2) switch construct.
    * Switch construct rules.
    * When to use a switch and when not to use a switch.
    Chapter #6: Repetition using loops. looping basics and terminology.
    Repetition Flow chart example (calc avg, min and max of exam scores).
    Midterm Exam #1 - Date: Thursday, Oct 15 *** Time: 8:00 - 9:00 PM *** Location: PHYS 112
    WEEK 9
    16
    Oct 20
    14
    Pdf
    Video
    93 - 97
    Lab #7
    HW #5
    Chapter #6 cont.:
    Pretest and post-test loops. How to choose the right construct. Factorial example.
    Event-controlled vs. Counter-controlled processes. Input validation.
    Basic syntax of while and do while loops. Factorial example to demonstrate another variation of the factorial example using while and do while loops.
    17
    Oct 22
    15
    Pdf
    Video
    98 - 105
    Chapter #6 cont. : while vs do-while loops with example(factorial example).
    Nesting concept. Nested loops with example (range of factorials example).
    The infinite loop. The for loop.
    WEEK 10
    18
    Oct 27
    16
    Pdf
    Video
    105
    Lab #8
    Chapter 6
    19
    Oct 29
    17
    Pdf
    Video
    Chapter 6
    WEEK 11
    20
    Nov 3
    18
    Pdf
    Video
    Lab #9
    HW #6
    Chapter 6 -> 8
    21
    Nov 5
    19
    Pdf
    Video
    Chapter 8
    WEEK 12
    22
    Nov 10
    20
    Pdf
    Video
    Lab #10
    Chapter 8
    23
    Nov 12
    21
    Pdf
    Video
    Chapter 8
    WEEK 13
    24
    Nov 17
    22
    Pdf
    Video
    Lab #11
    HW #7
    Chapter 9 & 10
    Midterm Exam #2 - Date: Tuesday, Nov 17 *** Time: 8:00 - 9:30 PM *** Location: BHEE 129, WTHR 200
    25
    Nov 19
    23
    Pdf
    Video
    Chapter 9 & 10
    WEEK 14
    26
    Nov 24
    24
    Pdf
    Video
    No Labs
    Chapter 8
    ---
    Nov 26
      THANKSGIVING
    WEEK 15
    27
    Dec 1
    25
    Pdf
    Video
    Lab #12
    Chapter 8
    28
    Dec 3
    26
    Pdf
    Video
    Revision and previous exams questions.
    WEEK 16
    ---
    Dec 8
    No Lectures - No Labs
    ---
    Dec 10
    No Lectures - No Labs
    Final Exam - Date: Monday, Dec 14 *** Time: 10:30 AM - 12:30 PM *** Location: STEW 182

    Some people want it to happen, some wish it would happen, others make it happen.
    Michael Jordan

    Powered by DaysPedia.com
    Current Time in West Lafayette
    103255am
    Tue, November 15
    7:33am 09:57 5:30pm