(Huge thanks to Raj Eiamworakul for the glorious cover image.)
Hey folks! I want to let you in on a little secret: Right now, I'm working on building a platform to teach web development. I'd like to get some feedback on which things work well for you while learning to code, and where the pain points are.
There are two parts to this question: Focus and Format. I'd love to get answers about both categories (although if you only have feedback on one, that'd be great too!)
Focus
Do find it most helpful to focus on:
- Theory
- Examples
- Hands-on practice (small problems)
- Full-scale, real-world projects
or something else?
Format
This is where I really want you to get creative. There are a few well-established formats for teaching programming:
- Text + images/diagrams (reading)
- Video (instructor teaching content)
- Practice problems (checked by computer)
But it also feels like there could be room for more experimentation in this area.
One possibility I've been exploring is a "video" (audio of instructor + animated text editor) which involves a teacher showing something, but which pauses and becomes interactive (you can type in the editor), with a challenge to complete before the video continues.
I'd love to hear feedback on that idea plus anything else you can imagine! Don't be afraid to get zany with this one. If it's crazy enough, I just might do it. ;)
Top comments (8)
I love making small projects whenever I want to add a new functionality in a particular project.
I'm the kind of person that is constantly closing unused tabs on my browser and I just like having a clean and more predictable codebase to play around before adding it into to the real project.
Nice! So a sort of combo deal between small (demo) and large projects?
I'm curious which types of resources you find most useful in helping to learn something new.
I'm kind of a course addict, I was really into gaming and what mostly motivates me to keep playing a game are the achievements other than being "The Best" at it. So having websites like Udacity and Udemy with tons of courses with valuable information and seeing how each video/exercise would increase the progress bar keeps me going.
But this also can get out of control and find yourself in a endless loop of learning but not actually building stuff with what you learn, so you end up forgetting most of it.
Personally, I find a lot of value in creating full-scale projects. The best way for me to learn is to dive right in. Unfortunately, this often results in a sense of aimlessness from time to time, where it's difficult to know what to learn in order to achieve my goals. Strting from a project-based approach can also leave strange gaps in knowledge or result in me taking strange approaches to solving problems because I don't know that a better solution is available.
In terms of format... The project-based approach means that most of my knowledge doesn't come from full-blown tutorials or courses, but from Stack Overflow answers, documentation, and posts like the ones right here on dev.to.
I'm curious, did you end up making the platform to teach web development?
I'm working on a platform to teach web development as well vizhub.com/
Maybe we could work together somehow.
Vizhub looks awesome! My project is still very much a work-in-progress, but I did recently post an update on Twitter:
As for working together: I think that would be awesome, and I'll get in contact as soon as it makes sense to do any sort of collaboration.
I like to start with some small project, to learn the basics and find out if the topic interests me. (Reading or video)
If I find it interesting, I try to see what possibilities/functionalities are out there on the topic. Then I either build on the small project or start a little more significant project with some fun features.
I try to have projects that I (or others) can use or benefit from, so it's a motivation for me to finish them.
Example:
Begin by creating a static personal website.
Then maybe create a web app, where you can log in with Google/Facebook or have a payment function.