avenatti / LearningCProgramming

Documenting my experience teaching myself the C programming language. Hopefully you can learn from my experiences (good or bad) and optimize your own path.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learning C Programming

I'm documenting my experience teaching myself the C programming language. Hopefully you can learn from experiences (good or bad) and optimize your own path. I will explain each resource, note the cost, time commitment, rating (scale from 1-10 where higher numbers are better), and the days I actually made progress.

The "/Examples" folder structure matches resource numbering below.


I want to adopt the following objective mindset before we begin...



Lecture Cost Time Rating Day
Title of Learning Resource USD Time Commitment 1 to 10 (Higher is better) The day that I studied the resource. This process starts on day 1.



1. Build Malware Using C Language | FREE | 2 hours | 7 | Day 1
We need to be inspired-->driven-->motivated in order to learn anything. I'm in cybersecurity so I found the following video leveraging C in my profession. Find an example applicable to your use case. https://www.youtube.com/watch?v=GNARFYdN59w&list=PLDE9OqU7MZWxaSVBz_cLtaVBwrlEUr8TB.



2. [Step By Step Guide] How to set up visual studio code for C and C++ programming 2021. | FREE | 35 min | 9 | Day 1
We need an IDE, compiler, and intellisense to practice as we learn. This should be setup now! I favor visual studio code for most projects. It provides a very similiar user experience on Windows, MAC, and Linux. The following article will help you get setup with VS Code and the MinGW compiler. Conceptual steps are very similar for Linux. I may swap to Ubuntu for developemnt later. I normally use Ubuntu for machine learning related tasks... https://dev.to/narottam04/step-by-step-guide-how-to-set-up-visual-studio-code-for-c-and-c-programming-2021-1f0i

Note: Verify Compiler Installation: Windows Key + R. Run cmd. Type g++ --version.



3. C Development Fundamentals | $29/mo | 6.5 hours | (below) | Day 1-3
I was a developer for 10 years (C#.NET, js, SQL, python) but it has been 5 years since I've programmed daily. I'm very rusty. I want to embrace starting from the beginning. I'm using Pluralsight's self-paced video lectures: https://app.pluralsight.com/paths/skill/c-development-fundamentals.

Lecture Rating Time Speed Day Link
C Language: The Big Picture 10 35 min 1.1x 1 https://app.pluralsight.com/library/courses/c-language-big-picture/
Getting Started with the C Language 9 120 min 1.0x 1 https://app.pluralsight.com/player?course=getting-started-c-language&author=giovanni-dicanio
Variables and Data Types in C 7 120 min 1.1x 2 https://app.pluralsight.com/library/courses/variables-data-types-c/
Managing Data and Memory Allocation in C 6 120 min 1.0x 2-3 https://app.pluralsight.com/library/courses/managing-data-memory-allocation-c/



4. Javapoint C Pointers | FREE | .75 hours | 9 | Day 4
The trainer for "Managing Data and Memory Allocation in C" was well spoken but the training was not very useful for me. I need to stop and get supplemental help with pointers. Let's try: https://www.javatpoint.com/c-pointers



5. Binky Pointer Fun Video C (1999) | FREE | 0.1 hours | 10 | Day 4
1999 Standford CS video that Harvard CS50 uses to introduce C Pointers. Lets watch it twice. https://www.youtube.com/watch?v=5VnDaHBi8dM



6. The C Programming Language (1988): Chapter 5. Pointers and Arrays | $30-55 | 1 hour | 10 | Day 4
One of the best-selling programming books published in the last fifty years (available printed or ebook), "K&R" has been called everything from the "bible" to "a landmark in computer science" and it has influenced generations of C programmers. https://www.amazon.com/Programming-Language-PROGRAMMING-LANG-p2-ebook-dp-B009ZUZ9FW/dp/B009ZUZ9FW/

About

Documenting my experience teaching myself the C programming language. Hopefully you can learn from my experiences (good or bad) and optimize your own path.

License:MIT License