Uploaded June 2020 | Updated September 2026, 2 weeks ago
Patreon ➤ patreon.com/jacobsorber
Courses ➤ jacobsorber.thinkific.com
Website ➤ jacobsorber.com
---
What should I code next? // Students often know they need more practice writing code and more hands-on experience, but they don't know what to code next. I hope this video helps.
Mailing list for updates about my courses:
jacobsorber.com/mailinglist
Related Videos (possible sources for ideas):
youtu.be/esXw4bdaZkc
youtu.be/83M5-NPDeWs
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: I'm a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon --- [patreon.com/jacobsorber]
+ rep the channel with nerdy merch --- [teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. --- [jsorber-youtube-source.herokuapp.com/]
Patreon ➤ patreon.com/jacobsorber
Courses ➤ jacobsorber.thinkific.com
Website ➤ jacobsorber.com
---
What should I code next? // Students often know they need more practice writing code and more hands-on experience, but they don't know what to code next. I hope this video helps.
Mailing list for updates about my courses:
jacobsorber.com/mailinglist
Related Videos (possible sources for ideas):
youtu.be/esXw4bdaZkc
youtu.be/83M5-NPDeWs
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: I'm a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon --- [patreon.com/jacobsorber]
+ rep the channel with nerdy merch --- [teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. --- [jsorber-youtube-source.herokuapp.com/]
![Fixed and Variable Length Arrays in C and C++
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Fixed and Variable Length Arrays in C and C++ // Beginners to C and C++ are often confused with arrays and the different ways we create them. This video shows you how to create both static and dynamic arrays. I show you how to use malloc and free, as well as the new and delete operators to create different-lengthed arrays, and how to use realloc to resize an array if it needs to get bigger or smaller. I also show you how to pass arrays as arguments to functions and how to write functions that can handle arrays of variable lengths. Have fun. I hope this helps.
Related Videos:
https://youtu.be/uT-YLEHwVS4
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Fixed and Variable Length Arrays in C and C++](https://i.ytimg.com/vi/rww_OHQOmbs/mqdefault.jpg)
![Is memcpy dangerous?
Check out MagicMind here, get productive now:
https://www.magicmind.co/sorber
Use my code SORBER20 for 20% Off
#MagicMind
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Is memcpy dangerous? // This video is a response to a recent comment. Its also a discussion of memcpy and memmove and you would want to use each to prevent bugs in your programs.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Is memcpy dangerous?](https://i.ytimg.com/vi/sZ8mRwCh4Sk/mqdefault.jpg)
![The Inline Keyword in C.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
The Inline Keyword in C. // Inlining functions and the inline keyword in C have caused a significant amount of confusion over the years for students and professionals. In this video, we look into how the inline keyword, the always_inline function attribute, and compiler optimization levels impact function inlining behavior.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
+ rep the channel with nerdy merch [https://teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] The Inline Keyword in C.](https://i.ytimg.com/vi/t6Jfrmdg5rk/mqdefault.jpg)
![find memory errors quickly. (-fsanitize, addresssanitizer)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
find memory errors quickly. (-fsanitize, addresssanitizer) // new programmers often struggle with memory corruption errors and other memory issues. This videos is go remove the headaches and get your program back into working order quickly. Specifically, were looking at the AddressSanitizer tool that brings valgrind-like functionality into your programs to make it that much easier to find your bugs.
Related Videos:
valgrind video: https://youtu.be/Sddn1UjzSAo
video that talks a bit about debug/release builds: https://youtu.be/CRlqU9XzVr4
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] find memory errors quickly. (-fsanitize, addresssanitizer)](https://i.ytimg.com/vi/tEbV21aPSKw/mqdefault.jpg)
![This might be the worst thing about programming on a Mac.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
This might be the worst thing about programming on a Mac. // I use a Mac and usually, I love it. But, sometimes it drives me crazy, mostly due to the fact that some tools arent well supported. This video goes over a few that I find myself missing the most — specifically, GDB and Valgrind.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] This might be the worst thing about programming on a Mac.](https://i.ytimg.com/vi/tRtVR-WL8w4/mqdefault.jpg)
![Why are Progress Bars Always Wrong? Progress Bar Example in C.
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
Why are Progress Bars Always Wrong? Progress Bar Example in C // Progress bars are extremely common and nearly always inaccurate. Why? This tutorial shows you how to add a simple progress bar to your terminal programs. The example is in C and uses libcurl, but easily translates to any other language. I also talk about the difficulties of predicting when tasks will complete.
Related Video: https://youtu.be/daA-KBKfJ_o
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] Why are Progress Bars Always Wrong? Progress Bar Example in C.](https://i.ytimg.com/vi/t_vM_8TLjFE/mqdefault.jpg)
![How to get and unget input from streams in C (getstring, fgetc, ungetc).
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How to get and unget input from streams in C (getstring, fgetc, ungetc) // Reading a line from a file or stdin seems super basic, but a lot of students get hung up in the details. This video shows you how to get input from a stream, file, or pipe, using fgetc and ungetc to make your own function like the getstring function in Harvards CS50 course.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] How to get and unget input from streams in C (getstring, fgetc, ungetc).](https://i.ytimg.com/vi/tjndNX2h5Zc/mqdefault.jpg)
![What is a Graph Data Structure? When to use it? How to easily visualize it?
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
What is a Graph Data Structure? When to use it? How to easily visualize it? // Finally, were talking about graphs. A lot of you have requested it. This is video one of probably 3 or 4 videos on graphs. Here, I give you an overview of graphs, which are kind-of like trees. I talk about directed and undirected graphs, and show you how to use dot (one of the graphiz tools) to easily visualize your graphs.
Related Videos:
Trees: https://youtu.be/UbhlOk7vjVY
More Data Structures: https://www.youtube.com/watch?v=VOpjAHCee7c&list=PL9IEJIKnBJjFiudyP6wSXmykrn67Ykqib
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] What is a Graph Data Structure? When to use it? How to easily visualize it?](https://i.ytimg.com/vi/tq3zPnrQIpU/mqdefault.jpg)
![How to use an ADC (embedded example in C)
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How to use an ADC (in C) // The analog to digital converter, or ADC, is an essential tool that all embedded developers need in their toolkit. This video will help you get started measuring analog voltages and creating custom sensors on two platforms: Arduino and the MSP430. Examples in C.
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
+ rep the channel with nerdy merch [https://teespring.com/stores/jacob-sorbers-store]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] How to use an ADC (embedded example in C)](https://i.ytimg.com/vi/u58HG5n49Xk/mqdefault.jpg)

![How to Return Two Things from a C or C++ Function
Patreon ➤ https://www.patreon.com/jacobsorber
Courses ➤ https://jacobsorber.thinkific.com
Website ➤ https://www.jacobsorber.com
How to Return Two Things from a Function (C/C++) // New C and C++ programmers often wonder how to return multiple values from a single function. This video will give you some options. You can return values through pointer or reference arguments, and you can return structs and classes.
Related videos:
Pointers/Arrays: https://www.youtube.com/watch?v=uT-YLEHwVS4
Pthreads: https://www.youtube.com/watch?v=uA8X5zNOGw8
***
Welcome! I post videos that help you learn to program and become a more confident software developer. I cover beginner-to-advanced systems topics ranging from network programming, threads, processes, operating systems, embedded systems and others. My goal is to help you get under-the-hood and better understand how computers work and how you can use them to become stronger students and more capable professional developers.
About me: Im a computer scientist, electrical engineer, researcher, and teacher. I specialize in embedded systems, mobile computing, sensor networks, and the Internet of Things. I teach systems and networking courses at Clemson University, where I also lead the PERSIST research lab.
More about me and what I do:
https://www.jacobsorber.com
https://people.cs.clemson.edu/~jsorber/
http://persist.cs.clemson.edu/
To Support the Channel:
+ like, subscribe, spread the word
+ contribute via Patreon [https://www.patreon.com/jacobsorber]
Source code is also available to Patreon supporters. [https://jsorber-youtube-source.herokuapp.com/] How to Return Two Things from a C or C++ Function](https://i.ytimg.com/vi/uLZVDSZc_ZU/mqdefault.jpg)