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: Mondays 12:00 pm - 3:00 pm

  • Previous Semesters

    Spring 2026 - CS15900

    Lecture # Date Lecture Quiz Notes Recording Pages Lab HW Keywords
    WEEK 1
    1
    Jan 13
    ---
    Pdf
    Video
    Lab #0
    ---
    Introduction, course policies and motivations
    Watch Chapter 1 Recordings
  • Chapter 1 - Part 1
  • Chapter 1 - Part 2
  • Chapter 1 - Part 3
  • 2
    Jan 15
    Demo
    Pdf
    Video
    31 - 34
    Chapter 2: Structure of a C program, Commenting.
    WEEK 2
    3
    Jan 20
    1
    Pdf
    Video
    34 - 37
    Lab #1
    HW #1
    Chapter 2: Identifiers, Data types, Variables, Literal Constants, Symbolic/Defined Constants
    4
    Jan 22
    2
    Pdf
    Video
    38 - 40
    Chapter 2 cont.: Symbolic/Defined Constants, Formatted I/O, Width and precision modifiers
    WEEK 3
    5
    Jan 27
    3
    Pdf
    Video
    41 - 45
    Lab #2
    HW #2
    Chapter #2: Formatted I/O, Errors and debugging with examples.
    Chapter #3: Expressions(Operators and operands). Operator precedence. Assignment expressions. Simple & Compound assignments.
    6
    Jan 29
    4
    Pdf
    Video
    45 - 49
    Chapter #3 cont.: Prefix and postfix (Undefined vs. Considered behavior example).
    Single and mixed data type expressions:
    1. Implicit type conversion
    2. Explicit type conversion (type casting)
    WEEK 4
    7
    Feb 3
    5
    Pdf
    Video
    49 - 52
    Lab #3
    Chapter #3 cont.: Assignment data type conversions.
    Rounding, truncation using floor(), type casting to int, truncation in printing using precision modifiers.
    Selection via calculation explained with an examples.
    8
    Feb 5
    6
    Pdf
    Video
    52 - 55
    Chapter #3 cont.:
    Selection via calculation: Example 2.
    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).
    Functions terminology: Call / calling / called / Return / Parameter passing.
    WEEK 5
    9
    Feb 10
    7
    Pdf
    Video
    55 - 58
    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().
    10
    Feb 12
    8
    Pdf
    Video
    59 - 64
    Chapter#4 cont. Types of functions.
    3- With parameters - with return value - Many math.h fx, sin().
    4- With parameters - no return value - printf(), display_results().
    What is permitted in main() Function - only local variable definitions, function calls and limited selection or repetition (to call functions).
    WEEK 6
    11
    Feb 17
    9
    Pdf
    Video
    64 - 68
    Lab #5
    Chapter#4 cont.
    Parameter passing:
    1- Pass by value.
    2- Pass by address.
    Pointer operations.
    12
    Feb 19
    10
    Pdf
    Video
    68 - 73
    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).
    WEEK 7
    13
    Feb 24
    11
    Pdf
    Video
    73 - 81
    Lab #6
    HW #4
    Chapter#5 cont. :
    Logical operators truth table.
    Logical expressions evaluation. Short circuit method with example.
    Relational operators (<, <=, >, >=).
    Equality operators (==, !=). Compound statements.
    Examples illustrating compound statements with short circuit method.
    Complements:
    (1) Relational and comparative operators.
    (2) Logical operators.
    examples on Complements.
    Two way selection: (1) if-else
    Midterm Exam #1 - Date: Tues, Feb 24 *** Time: 8:00 – 9:00 PM *** Location: ELLT 116
    14
    Feb 26
    12
    Pdf
    Video
    Chapter 5
    WEEK 8
    15
    Mar 3
    13
    Pdf
    Video
    Lab #7
    Chapter 6
    16
    Mar 5
    14
    Pdf
    Video
    Chapter 6
    WEEK 9
    17
    Mar 10
    15
    Pdf
    Video
    Lab #8
    HW #5
    Chapter 6
    18
    Mar 12
    16
    Pdf
    Video
    Chapter 6
    WEEK 10
    ---
    Mar 17
      Spring Break
    ---
    Mar 19
      Spring Break
    WEEK 11
    19
    Mar 24
    17
    Pdf
    Video
    Lab #9
    Chapter 8
    20
    Mar 26
    18
    Pdf
    Video
    Chapter 8
    Midterm Exam #2 - Date: Thurs, Mar 26 *** Time: 8:00 – 9:30 PM *** Location: ELLT 116
    WEEK 12
    21
    Mar 31
    19
    Pdf
    Video
    Lab #10
    HW #6
    Chapter 8
    22
    Apr 2
    20
    Pdf
    Video
    Chapter 8
    WEEK 13
    23
    Apr 7
    21
    Pdf
    Video
    Lab #11
    Chapter 9 & 10
    24
    Apr 9
    22
    Pdf
    Video
    Chapter 9 & 10
    WEEK 14
    25
    Apr 14
    23
    Pdf
    Video
    Lab #12
    HW #7
    Searching and Sorting Arrays
    26
    Apr 16
    24
    Pdf
    Video
    Searching and Sorting Arrays
    WEEK 15
    27
    Apr 21
    25
    Pdf
    Video
    Lab #13 Quiz
    Multidimensional Arrays and Recursion
    28
    Apr 23
    26
    Pdf
    Video
    Revision & old exams questions
    WEEK 16
    29
    Apr 28
      Midterm Compensation – No Lectures
    30
    Apr 30
      Midterm Compensation – No Lectures
    Final Exam - Date: TBA *** Time: TBA *** Location: ELLT 116

    If my mind can conceive it, if my heart can believe it, then I can achieve it. 💪
    Muhammed Ali

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