All instructors
Dr. Eng. Mohamed Al-Khodour

Dr. Eng. Mohamed Al-Khodour

PhD in Communication Engineering

5 courses15.5K views

PhD in Communication Engineering with several published research papers in peer-reviewed journals. Lecturer and trainer in computer science.

Courses by Dr. Eng. Mohamed Al-Khodour

  • Data Structure
    4.7(95)|1,782|4:56

    Data Structure

    Fundamentals of Data Structures and Algorithms

    Dr. Eng. Mohamed Al-Khodour
    Dr. Eng. Mohamed Al-Khodour
  • Algorithms
    4.4(97)|2,618|5:24

    Algorithms

    Analysis and Design of Algorithms

    Dr. Eng. Mohamed Al-Khodour
    Dr. Eng. Mohamed Al-Khodour
  • Clean Code
    4.8(69)|1,363|4:12

    Clean Code

    Writing Organized Error-Free Code

    Dr. Eng. Mohamed Al-Khodour
    Dr. Eng. Mohamed Al-Khodour
  • Programming with Excel VBA
    4.9(94)|7,297|3:54

    Programming with Excel VBA

    Automate Calculations in Excel

    Dr. Eng. Mohamed Al-Khodour
    Dr. Eng. Mohamed Al-Khodour
  • Discrete Mathematics
    4.5(55)|2,414|2:38

    Discrete Mathematics

    Learn Essential Mathematics for Programming

    Dr. Eng. Mohamed Al-Khodour
    Dr. Eng. Mohamed Al-Khodour

What you will learn with Dr. Eng. Mohamed Al-Khodour

Data Structure

This course explains data structures and how they relate to algorithm design and programming. Data structures are the ways information is organized inside a program so that it is easy to store and access. The course starts with an introduction, then the relationship between data structures and algorithm design, and the types of data structures: basic and non-basic, linear and non-linear. After that you learn how to represent expressions in infix, prefix and postfix forms and how to use a stack to convert from infix to postfix, then static and dynamic data structures in two parts.

  • Master the fundamental concepts of data structures.
  • Implement algorithms using various data structures.
  • Understand how to optimize program performance using appropriate data structures.

Algorithms

This course teaches the analysis and design of algorithms and how to think logically to solve programming problems. It starts with a general introduction and the concept of algorithm analysis and its strategies, then how to write verbal algorithms and flowcharts. Next you analyze the Sequential Search algorithm and get to know Asymptotic Notation, which covers Big O, Omega and Theta, and you analyze loops and nested loops. Then you move on to recursive algorithms and compare them with iteration, graph algorithms such as BFS and DFS, and the insertion sort, quick sort and binary search algorithms.

  • Deep understanding of algorithm analysis concepts.
  • Writing efficient algorithms and analyzing their performance.
  • Handling graphs and advanced algorithms.

Clean Code

The Clean Code course explains how to write code that is organized and easy to read and change. It starts by introducing the idea of clean and bad code, then horizontal spacing and vertical spacing, and the PEP guidelines for writing code in Python. After that it covers consecutive numeric suffixes, duplicated code and what it signals and how to get rid of it, magic numbers, the idea of dead code, and debugging with log files. Then it moves to comments and documentation, the twenty guiding principles, and writing effective functions, and it ends with downloading the workbook.

  • Understand how to write clean and professional code.
  • Commit to global programming standards and improve code quality.
  • Eliminate errors resulting from duplicated or unorganized code.

Programming with Excel VBA

This course teaches programming with Excel VBA: writing Visual Basic for Applications code to automate calculations and repeated tasks inside Excel with one click. You start with the introduction and course outline, then break the ice and write your first program, learn events and controls in VBA, and get to know controls and their properties. Next you learn Excel objects and conditional statements, variables and message box programming, adding controls to worksheets, and how VBA works with Excel cells. Then you move to the idea of algorithms and building a plan for writing code, loops, a program that picks the best supplier, and macros, with the work file and exercises to download.

  • Automate processes within Excel using VBA.
  • Create custom software solutions to meet business needs.
  • Enhance productivity by writing code and executing algorithms.

Discrete Mathematics

This course teaches discrete mathematics, the math you need to master programming and computer science, with a focus on mathematical logic. It starts with an introduction to discrete mathematics and logic. Then you learn what propositions are and how to operate on them, followed by the one-way conditional and the two-way conditional. Next you move on to truth tables and how to read them, the idea of logical equivalence, statements that are always true or never true, and the laws of logical equivalence. It ends with worked examples and the idea of the propositional function.

  • Master the fundamental concepts of mathematical logic and their practical applications.
  • Ability to use truth tables to analyze programming propositions.
  • Understand and apply logical laws in code development.