Screencasts for computer science and C programming

Hi, all!

I wanted to get some feedback on a project idea I'm throwing around:

10-15 min screencasts for computer science topics and low-level (C) programming.

I look at screencasts focused on specific high-level languages (php, js, python) or frameworks (django, laravel, react) and they're fairly approachable for beginners.

By comparison it seems as though the resources for learning CS / C are overwhelming, not for everyone, but certainly for beginners.

The idea would be to take an absolute beginner (i.e. a person who has never written a line of code) and - through project based learning - get them to a place where they could write their own database, text editor, or web server (I'm just throwing ideas out as examples).

I know it's a large undertaking, but I think there's room in the market for this type of education platform.

As an aside, I've got a landing page setup (https://nothingworks.io) to validate the idea before I start building anything.

Cheers!








Edited by Michael Spangler on Reason: Initial post
In my opinion short video resources aren't good for learning. Having to search a video to find a subject you want to come back to is a pain, and than you've to wait for the video to maybe talk about what you wanted. It's harder to keep local copy or an excerpt. That said there is some value when you're a beginner to see what you need to do (in term of using the tools IDE, compiler... but those might change when a new version is out and require a different video). Having transcripts and annotations (like in handmade hero) is a big help with videos, but requires quite some time too.

Video becomes useful when you go in depth and there are a lot of moving parts that are hard to represent or keep track of in text form.

Text is easier to search and faster to verify that it's actually what you're looking for. The disadvantage is that you've to make sure that the content is actually working (the code compiles and shows the actual thing you're explaining). It probably takes more times to make, but (in my opinion) it's time you spent that the viewer gains and that's the added value for someone that wants to learn. Also you can easily edit a text version if there are errors or need more precision. You can also embed small videos to explain something hard to show/describe in text form.
You need to make a little more up-front investment (like posting the first three lessons) before you can get a good measure, because search algorithms will make sure that nobody visits your site to begin with if it has no content. I would likely read the whole first page of almost anything and only get to lesson three if I'm interested in reading the whole thing at once.

As the user, I would hesitate about giving out my e-mail address to a random stranger on the internet without even knowing what I was signing up for. Before I give my e-mail to a newspaper to access more articles using targeted ads, there has to be a large amount of quality content consumed for months before I even consider signing up for free. Personal data is treated just like real money.

Customers who sign up for something that doesn't exist yet without a detailed description are usually clueless about their own needs (trying every language but settling with none) or thought it was something completely different (like thinking that C is a dialect of C#).

Edited by Dawoodoz on
mrmixer
Text is easier to search and faster to verify that it's actually what you're looking for. The disadvantage is that you've to make sure that the content is actually working (the code compiles and shows the actual thing you're explaining). It probably takes more times to make, but (in my opinion) it's time you spent that the viewer gains and that's the added value for someone that wants to learn. Also you can easily edit a text version if there are errors or need more precision. You can also embed small videos to explain something hard to show/describe in text form.


I think this hybrid approach you've described is a lot more valuable than only videos. In fact, now that I think about it, text with videos to explain tricky parts is exactly how I try to go about learning.

Great points! Thanks for the feedback!

Dawoodoz
You need to make a little more up-front investment (like posting the first three lessons) before you can get a good measure, because search algorithms will make sure that nobody visits your site to begin with if it has no content. I would likely read the whole first page of almost anything and only get to lesson three if I'm interested in reading the whole thing at once.

As the user, I would hesitate about giving out my e-mail address to a random stranger on the internet without even knowing what I was signing up for. Before I give my e-mail to a newspaper to access more articles using targeted ads, there has to be a large amount of quality content consumed for months before I even consider signing up for free. Personal data is treated just like real money.


This is good stuff. I put up the landing page as a way to start validating the idea. However, as you've pointed out, the nature of the audience - programmers - probably requires more proof of valuable content before they're willing to engage with me, even if it's free.

Dawoodoz
Customers who sign up for something that doesn't exist yet without a detailed description are usually clueless about their own needs (trying every language but settling with none) or thought it was something completely different (like thinking that C is a dialect of C#).


Excellent point. I hadn't even considered this at all.

I guess next steps are to do some more work and see what sticks. Thanks for the feedback!




Edited by Michael Spangler on
You're right that there's renewed interest in systems programming, which means you'll be competing with others who have a better landing page than you (or already have content, or already have a proven track record). Here are just two examples:

1. Low-Level Academy: An explorable systems course. Has Khan Academy vibes. Read the HN feedback on it.

2. Star Code Galaxy: upcoming programming course by none other than Molly Rocket.

People at this point, even the laymen, are extremely fatigued with subscribing to stuff. We're going to look for strong signals before signing up to something. This is not to discourage you entirely, by the way -- the more competition, the better!

I think a couple of free, high-quality lessons before a call to action to join a mailing list is the right move. This means the cost of validating your idea has gone up, but there's nothing we can do about that.

Edited by Abner Coimbre on Reason: Delete example #3 as I can't find the link.
Yeah, the idea of competition doesn’t bother me at this point. As you’ve pointed out, I have no proof of execution, so competition is irrelevant.

I guess the next move is to start building some proof via free content and courses. Thanks for the input, Abner. I appreciate it!
The real value of video content as a learning resource for programming, is the "live" aspect of it. As is the case with HH, you have the chance to get into the mind of the programmer, how he thinks about structure, refactoring, dealing with bugs and issues and, most importantly, that they do lots of mistakes! Apart from that, it doesn't seem like the most appropriate learning resource, and it's better suited to application learning like 3D modelling or music production.

I've always found the traditional forum format with text, code snippets, and the occasional image, to be the most rich in content and the best for communication, feedback and idea exchange. Unfortunately it has fallen out of favor from the likes of discord or similar apps. And I say unfortunately because a forum is easy to navigate, search by specific criteria, do marathon reading sessions which clearly present the history of the conversation, and do it all without distraction. It's simply not "trendy enough" anymore.

I guess what I'm trying to say is that your idea is perfectly possible to attract a younger audience (because that's what people seem to like these days), even if there are better ways to teach.
immortalx
The real value of video content as a learning resource for programming, is the "live" aspect of it. As is the case with HH, you have the chance to get into the mind of the programmer, how he thinks about structure, refactoring, dealing with bugs and issues and, most importantly, that they do lots of mistakes! Apart from that, it doesn't seem like the most appropriate learning resource, and it's better suited to application learning like 3D modelling or music production.


I think this is something I've intuitively known, but didn't factor it into the thinking behind my original post.

Separating the value (how an experienced programmer goes about programming) from the tactics (language syntax, tooling, etc) seems like a more difficult and nuanced problem to tackle.

Now that I analyze it, I think my original thought process was "How can I commodify what Jonathan Blow or Casey do in their screencasts / streams?", which is the wrong mindset.

I think the correct mindset is how can I create content with similar depth as Jon/Casey's but maybe in a more digestible format. And to clarify, I mean "digestible" in terms of the amount of time needed to consume the content. I have a wife and two kids, so really getting into a 1-2hr stream/youtube video is difficult. Granted, there's an argument to be made that's a personal problem, and that I could simply split the video between 2-3 days.

Anyway, good stuff, immortalx!
abnercoimbre
You're right that there's renewed interest in systems programming, which means you'll be competing with others who have a better landing page than you (or already have content, or already have a proven track record). <..> the more competition, the better


Hey, Low-Level Academy author here, I thought I'd chime in and add that I 100% agree about "the more competition, the better".

I think there's really a lack of resources on systems programming. Casey's streams are great and have been a huge source of inspiration, but there are still lots more topics to explore: drivers development, operating systems, browser engines, etc., so I wouldn't even say that there is a competition. Systems programming is a pretty large area in and of itself, and personally I would be happy to see more educational content!
Hey Nikita,

Certainly, I didn't mean to imply that we have enough of these courses in particular -- I look forward to whatever Michael is cooking up! Thanks for taking the time to chime in.

BTW I've been working with projects like yours to promote live at next month's conference (Handmade Seattle). I think that's 100x better than having an ad from a corporate sponsor:



In your case, we could meet and record a mini podcast, just a few minutes. Then on November I'll play the edited audio over a video of the Low-Level Academy website. If you're interested at all, send me an e-mail.

I agree with Simon that text lessons are easier to gain value from without having to invest alot of hours. I think having bite size projects are the way to go & build concepts on each one. I think learnopengl.com is a good example.

I started doing something similar here with the idea of making games, but didn't get very far, but get the idea of the layout. (Only first three projects have content).

Edited by Oliver Marsh on