C Pointers: Secrets every Embedded Engineer must know!
> 5.5 Hours of Video Content,
> 35 Lectures,
> 24 Assignments.
> 8 Modules
> Certificate of completion.
Content designed and created by the Team inPajama! Everything we felt we should have known earlier in our Careers concerning the Pointer in C, we put it in the Course!
Course Walkthrough
In the video below, Piyush explains the structure of the course and gives a breakdown of different sections and the topics covered. Each lecture is short, to the point, accompanied by real-life examples, and followed by assignments to help you reinforce the concepts.
All the examples are hands-on, you can try them on your machine or Github codespaces. All you need is access to the internet take this course!
Mental Models and Visualisations!
This course is easy to follow and at every step along the way, Piyush draws drawings and sketches to explain in detail (with intuition) what is happening under the hood. This will enable you to reason and use the pointers like a ninja! Following are screenshots from almost every lecture.
Course Contents and Preview Lectures!
SECTION 1: Mental Models, Motivation, and Reasoning about Pointers (7 lectures | 26 mins)
- What to Imagine? (8:40)
- Assignment - 1
- IMPORTANT: Checking results of the assignments (Resources (2) | 2:11)
- What is a pointer? (7:00)
- Assignment - 2
- Why pointers? (8:25)
- Assignment - 3
SECTION 2: Pointers: Syntax and Code (7 lectures | 25 mins)
- Environment Setup (5:47)
- Declaring/Defining a Pointer (9:51)
- Assignment - 4
- Pointer Variable and Address (1:32)
*
and&
in relation to the pointer variable (4:17)- Declaration and Definition (4:02)
- Assignment - 5
SECTION 3: Multi-level Pointers (12 lectures | 1 hr 23 mins)
- Use of
*
and&
(Resources (1) | 23:38) - Assignment - 6
- Array and Pointers - Similarity and Differences (Resources (1) | 20:42)
- Assignment - 7
- Many
*
s and Many&
s (Resources (1) | 4:39) - Assignment - 8
- pointer to pointer (Resources (1) | 13:05)
- Assignment - 9
- Array of pointers (Resources (1) | 13:05)
- Assignment - 10
- Different types of Pointers (7:51)
- Assignment - 11
SECTION 4: Pointer to Data (7 lectures | 40 mins)
- Pointing to data with a Datatype (Resources (1) | 7:08)
- Assignment - 12
- Pointer to a struct,
*
,.
and->
(Resources (1) | 12:28) - Assignment - 13
- Pointer Arithmetic (Resources (1) | 16:37)
- Memory model and pointer to data (4:27)
- Assignment - 14
SECTION 5: Pointer to code - Function pointers or Callback (7 lectures | 39 mins)
- What is a function pointer? (11:57)
- function pointers syntax (Resources (1) | 10:46)
- Assignment - 15
- typedef and function pointers (Resources (1) | 9:44)
- Assignment - 16
- Example - function pointer array (Resources (1) | 6:44)
- Assignment - 17
SECTION 6: Void Pointer (5 lectures | 39 mins)
- What is a void pointer? (Resources (1) | 9:51)
- Assignment - 18
- What is NULL and NULL pointer? (Resources (1) | 14:34)
- Assignment - 19
- void pointers in - Linux source code (14:44)
SECTION 7: Pointers, Dynamic allocation, and problems (11 lectures | 52 mins)
- heap:
malloc()
andfree()
(Resources (1) | 13:19) - Allocation failure (Resources (1) | 13:44)
- Assignment - 20
- Memory Leak (1:21)
- Assignment - 21
- Dangling Pointer (6:00)
- Assignment - 22
- Double
free()
(10:09) - Assignment - 23
- pointer manipulation and unowned memory (7:29)
- Assignment - 24
MODULE 8: Open Source code and Pointers (3 lectures | 17 mins)
- Baremetal Code (9:04)
- FreeRTOS (5:42)
- Linux (2:54)
Reviews
Following are screenshots from the course chat group.
Below are the formal course reviews filled out by the students by filling out a form on the course website.
Certificate
You will get a certificate for completing 95% of the course content.
The concepts are explained in a very simplified manner to ensure you thoroughly understand the key concepts.
The assignments are specially designed to reinforce the learning from the lectures.
FAQs
Do I need a high-performing machine to follow the course?
No. All the examples are executed on GitHub codespaces. This is like having a machine in the cloud. All the tools are already installed and you do not have to do any local setup.
Will I get a certificate?
Yes! As stated above, completing 95% of the coursework before access expiry will fetch you the certificate.
Where is the certificate?
The Certificate will be delivered as a PDF to your email address.
Who should take this course?
This course is ideal for programmers with a basic understanding of C who want to learn about pointers and unlock their potential for more powerful programming.
How long will I have access to the course?
You will have 365 days of unlimited access to the course materials upon enrollment.
Will the course include practical exercises?
Yes. The assignments will provide opportunities to try out examples. You can also follow the examples stated in the lectures.
What level of C programming experience is required?
A basic understanding of the C syntax is expected. Because the course focuses heavily on pointers, some familiarity with pointers will enable you to get the most out of the course.
What format is the course delivered in?
The course is delivered in recorded video format with resources and assignments for the student to check their understanding.
Can I access the course on mobile devices?
Yes. You can access the course from mobile, tablet, and desktop. We recommend using a Desktop to access the course for the best experience.
Does the course offer any support if I get stuck?
Yes. You can submit the question you have on the messages/chat space or submit it in the Q/A section and the team will attend to it.
Have a question?
Reach us at support@inpyjama.com
Connect with us
Discord
Youtube
Piyush: https://www.linkedin.com/in/streetdogg/