Companies Home Search Profile

Advanced C Programming

Focused View

Ahmed Adel

8:06:23

139 View
  • 1. Preparing the environment.mp4
    05:23
  • 2. GCC on Windows.html
  • 3. The compilation process.mp4
    05:04
  • 4. Projects Source Files.html
  • 1. The #define directive.mp4
    02:08
  • 2. Function-like macros.mp4
    02:02
  • 3. CAUTION with using function-like macros.mp4
    03:23
  • 4. Defining macros through compiler.mp4
    01:36
  • 5. Predefined macros.mp4
    04:34
  • 6. #include directive.mp4
    05:52
  • 7. #if directive.mp4
    04:59
  • 8. Some notes about #if.mp4
    01:55
  • 1. Functions explained.mp4
    04:20
  • 2. Functions Demo.mp4
    06:01
  • 3. Local and Global Variables.mp4
    03:35
  • 4. Scope and Lifetime demo.mp4
    08:58
  • 5. Function Execution Model.mp4
    15:26
  • 6. Function Execution Model Demo.mp4
    02:47
  • 7. Calling Convention.html
  • 8. Iterative vs Recursive Functions.mp4
    04:59
  • 9. Functions vs Function-like macros.mp4
    07:07
  • 10. Performance vs Code Size Trade-off.mp4
    05:42
  • 1. Introduction to Arrays.mp4
    05:53
  • 2. Notes on arrays.html
  • 3. How arrays are arranged in the memory.mp4
    03:22
  • 4. Characteristics of Arrays.mp4
    10:57
  • 5. 2D and higher dimensional arrays.mp4
    09:44
  • 6. Real Life use cases for arrays.mp4
    04:09
  • 7. [PROJECT] TicTacToe Game.mp4
    06:43
  • 8. [PROJECT] Implementing TicTacToe Game.mp4
    16:26
  • 9. Extending TicTacToe.html
  • 1. Introduction to Pointers.mp4
    05:31
  • 2. Arrays and Pointers.mp4
    07:18
  • 3. Pointer operators and Pointer casting.mp4
    08:52
  • 1. [Concept] Pass by Value vs Pass by Address.mp4
    02:51
  • 2. [Example] Pass by by Value vs Pass by Address.mp4
    05:02
  • 3. Function output parameters.mp4
    06:48
  • 4. PassReturn an array tofrom functions.mp4
    09:54
  • 5. [Concept] Dynamic memory allocation.mp4
    08:13
  • 6. [Example] Dynamic memory allocation.mp4
    09:58
  • 7. sizeof operator.html
  • 1. How strings are represented in C.mp4
    06:51
  • 2. Strings Dos and Donts.mp4
    08:13
  • 3. Standard string manipulation functions.mp4
    08:12
  • 1. Advanced Pointer Topics.mp4
    11:45
  • 2. Use Case Capturing input arguments.mp4
    02:32
  • 1. Introduction to Structures.mp4
    08:35
  • 2. PassingReturning structures tofrom functions.mp4
    07:46
  • 3. Arrays of Structures.mp4
    06:13
  • 4. Pointer to Structures.mp4
    09:31
  • 5. Nested structures.mp4
    05:29
  • 6. Packing and Padding.mp4
    05:51
  • 7. [PROJECT] Memory Manager - Theory.mp4
    14:12
  • 8. [PROJECT] Memory Manager - Lab.mp4
    26:14
  • 9. [PROJECT] Input Argument Parser Library.mp4
    36:48
  • 1. [PROJECT] Menu - Theory.mp4
    12:05
  • 2. [PROJECT] Menu - Lab.mp4
    27:34
  • 3. Why to use input[4] with fgets.html
  • 4. Unions and Menu Improvement.mp4
    07:33
  • 1. Enums.mp4
    05:47
  • 2. Typedef.mp4
    13:04
  • 1. File Management.mp4
    12:46
  • 2. Modes of file opening.html
  • 3. The usage of fprintf.html
  • 1. Theory.mp4
    06:44
  • 2. Lab.mp4
    18:48
  • 3. Lab - Change the contrast of arbitrary an bitmap image.mp4
    06:18
  • 4. Note on the bitmap file used in this example.html
  • 5. More ideas on Bitmap project for your own practice.html
  • Description


    C Programming for C Programmers

    What You'll Learn?


    • Great and very deep understanding of pointers and memory management
    • Proficiency in using preprocessor
    • The ability to write modular code, that is extendable, readable and maintainable
    • Understand how to use C constructs (like structures, unions, arrays, ..) in real-life problems
    • 5 Projects to cover most of the topics discussed through the course

    Who is this for?


  • Students who have already taken the first steps in C programming and would like to understand what happens under the hood
  • Students planning to use C programming as their major language at work or study
  • Students interested in embedded systems, firmware design, kernels, drivers and other low-level programming domains
  • More details


    Description

    Thank you for taking few seconds to explore my course.

    If you have already started learning C programming, and now you are curious about deep understanding about what happens behind the scene, then this course is for you.

    My approach in this course is to take every topic down to its roots, and using real-life example instead of naive example.

    Starting with the preprocessors, we explore how does it work, and how to debug it with specific compiler flags.

    Moving on to functions, we explore the execution model, and how does the CPU handles function calls, argument passing, how local variables are managed in the stack and more.

    The pointers ! Probably the topic that is most known of its ambiguity. In this class, we try to simplify things by examples. We explore the dynamic memory allocation concept, and implement a dynamic memory manager as an example.

    We explore structures and unions, covered with real-life example.

    We take an quick overview about modular design and how to develop the code in a way that can be re-used.

    At the end, we develop a sample BMP image editor, aggregating few examples that we did through the course.

    Needless to say, you have 30 days money back guarantee. If you find the course not suitable for you (I promise it isn't), you can return it back and get your money.

    Who this course is for:

    • Students who have already taken the first steps in C programming and would like to understand what happens under the hood
    • Students planning to use C programming as their major language at work or study
    • Students interested in embedded systems, firmware design, kernels, drivers and other low-level programming domains

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Hi, This is Ahmed Adel, an embedded software engineer from Egypt. I've 9+ years of experience in C/C++ development on DSP ARM/ARC based SoC. I design, develop and test complex embedded systems designed for automotive and IoT. I like sharing my knowledge with others and I do love teaching and training. I have been teaching since 2007.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 58
    • duration 8:06:23
    • Release Date 2022/12/13