Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
C Programming and Embedded Systems
This is a curated list of courses, channels, playlists and videos from various sources to help assist in learning C Programming for Embedded Systems Development.
Portions of this list were taken from Forrest Knight's Open Source CS github page.
Computer Science Basics
| Course Title | School | Duration | Effort | Prerequisites |
|---|---|---|---|---|
| Intro to Computer Science | Harvard | 10 weeks | 10-20 hours/week | none |
| Mathematical Thinking in Computer Science | UC San Diego | 6 weeks | 2-5 hours/week | none |
Math
| Course Title | School | Duration | Effort | Prerequisites |
|---|---|---|---|---|
| [College Algebra and Problem Solving]() | ASU | 15 Weeks | Not specified | Basic math skills |
| Single Variable Calculus (Precalculus) | MIT | 35 lectures | 9–10 hours/week | College Algebra |
| Calculus 1A: Differentiation | MIT | 12 weeks | 6-10 hours/week | Precalculus |
| Calculus 1B: Integration | MIT | 15 weeks | 6-10 hours/week | Calculus 1A: Differentiation |
| Calculus 1C: Coordinate Systems & Infinite Series | MIT | 8 weeks | 6-10 hours/week | Calculus 1B: Integration |
| Linear Algebra - Foundations to Frontiers | UT Austin | 15 weeks | 6-10 hours/week | Precalculus |
| Introduction to Probability and Data | Duke | 5 weeks | 5-7 hours/week | none |
| Intro to Statistics | Udacity | 8 weeks | 5-7 hours/week | none |
Theory
| Course Title | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Computer Science: Algorithms, Theory, and Machines | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming |
| Algorithms, Part I | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines |
| Algorithms, Part II | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I |
C Programming
| Course Title | Provider | Duration | Prerequisites |
|---|---|---|---|
| C Programming | Software Skills Training, Inc. | 5 days | Understanding of fundamental programming concepts. |
| C Programming Tutorial for Absolute Beginners with Examples | Udemy | 5 hours | none |
| C Programming For Beginners - Master the C Language | Udemy | 23.5 hours | none |
Microprocessors & C Programming
| Course Title | Provider | Duration | Frequency | Prerequisites |
|---|---|---|---|---|
| Introduction to ARM Cortex-M Assembly Programming (FREE) | Udemy | 4 hours | self-paced | none |
| ARM Cortex-M : Modular Embedded Systems Design (FREE!) | Udemy | hours | self-paced | none |
| Foundations of Embedded Systems with ARM Cortex and STM32 | Udemy | hours | self-paced | none |
| Embedded Systems Programming on ARM Cortex-M3/M4 Processor | Udemy | hours | self-paced | none |
| Bare Metal Embedded - C Programming (TM4C123) | Udemy | hours | self-paced | none |
| Embedded Systems Bare-Metal Programming Ground Up (STM32) | Udemy | hours | self-paced | none |
| ARM Cortex-M Bare-Metal Embedded-C Programming | Udemy | hours | self-paced | none |
| Embedded Systems using the ARM Mbed Platform | Udemy | hours | self-paced | none |
| Mastering Microcontroller : TIMERS, PWM, CAN, RTC, LOW POWER | Udemy | hours | self-paced | none |
| ARM Cortex M Microcontroller DMA Programming Demystified | Udemy | hours | self-paced | none |
| Hands on projects with the I2C protocol - Learn by doing! | Udemy | hours | self-paced | none |
Robot Operating Systems (ROS)
| Course Title | Provider | Duration | Frequency | Prerequisites |
|---|---|---|---|---|
| Arduino FreeRTOS From Ground Up : Build RealTime Projects | Udemy | self-paced | none | |
| ROS for Beginners: Basics, Motion, and OpenCV | Udemy | self-paced | none |
Applications
| Course Title | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Software Engineering: Introduction | UBCx | 6 weeks | 8-10 hours/week | self-paced | Java Programming: Build a Recommendation System |
| Machine Learning | Stanford | 11 weeks | 5-7 hours/week | twice a month | Linear Algebra - Foundations to Frontiers |
Linux and Unix
| Course Title | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Linux Command Line Basics | Udacity | 1 week | 5 hours/week | self-paced | none |
| The Unix Workbench | JHU | 4 weeks | 4 hours/week | once a month | none |
YouTube Channels, Playlists and Videos
Channels
| Channel Name |
|---|
| CodeVault |
| Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C |
| humanHardDrive |
| Paul McWhorter |
| Programming Electronics Academy |
| SparkFun Electronics |
Playlists
| Playlist Title | Channel | Duration | Prerequisites |
|---|---|---|---|
| Arduino Tutorial | Derek Banas | 12 videos | none |
| Arduino Workshop for Beginners | Core Electronics | 35 videos | none |
| ARM Microcontroller Programming, Development, and Tutorial | Patrick Hood-Daniel | 58 videos | none |
| C Preprocessor Directive | Sanjay Gupta | 21 videos | none |
| C Video Tutorial | Derek Banas | 16 videos | none |
| C Videos | Engineer Man | 14 videos | none |
| Embedded C Programming Basics | Smart Logic Academy | 8 videos | none |
| Embedded Systems Programming Course - Quantum Leaps LLC | Niyazi Saral | 15 videos | none |
| Linked lists | CodeVault | 20 videos | none |
| Microcontrollers and the C Programming Language | udemy jobzz solutions | 51 videos | none |
| New Arduino Tutorials | Paul McWhorter | 40 videos | none |
| NewbieHack - Microcontroller Tutorial - A Beginners Guide | Patrick Hood-Daniel | 57 videos | none |
| Pointers in C | Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C | 18 videos | none |
| The C programming language made simple | CodeVault | 100 videos | none |
Videos
| Video Title | Channel | Duration | Prerequisites |
|---|---|---|---|
| C Programming Tutorial for Beginners | FreeCodeCamp | 3:46:12 | none |
| C Programming - Preprocessor in C - Directives in C - Macros - File Inclusion - Compiler Control | EzEd Channel | 21:56 | none |
| Level Up Your Arduino Code: Registers | SparkFun | 21:08 | none |
| Level Up Your Arduino Code: External Interrupts | Sparkfun | 18:54 | none |
| Level Up Your Arduino Code: Timer Interrupts | Sparkfun | 17:21 | none |
| Macros with parameters in C | CodeVault | 9:07 | none |
| Multitask Arduino with State Machines (& Switch Debouncing) | Normal Universe | 30:42 | none |
| Pre Processor Directives in C | BestDotNetTraining | 22:40 | none |
Add Comment
Please, Sign In to add comment