Scene 1: Picture This
And this is how I ended up on a couch learning how to code, trying to mentally challenge myself out of a negative experience.
Back then, Udacity was just starting out and they didn’t have any Nano-degrees. They had an orange colored website with a few courses on web development. At this point Udacity, CodeSchool and others were just beginning to solidify their place in the market and understand their customers better. There were courses and blogs that catered to learning how to code, but it was in an exercise in futility trying to piece the information together, as in there were plenty of articles on Local & Global variables but not contextual enough to make the learning curve any less steep.
The problem then and now remains :
Time & money spent learning how to code is NOT PROPORTIONAL to the effort & results spent in learning how to code.
It is not the technologies themselves that are lacking, or the teachers themselves. Rather teaching and learning how to code is a different ball game. Because of the mental energy that you expend in learning how to code, it must be efficient within a time frame that isn’t exhausting to the learner. I’ve found that a 1-2 hours of coding is usually a good time frame to retain a learner’s attention and impart information effectively for project based learning.
Scene II: The accidental discovery
After a few weeks of slogging away into HTML & CSS I decided to take up a small contract from a friend who wanted a website made. I took up the project for 3 reasons:
2. I wanted to see if I could actually make money of this coding thing
3) To validate what I had learned.
My friend didn’t want to spend a lot because she wasn’t sure if her house cleaning services agency was going to take off. To put things into perspective she paid me exactly $200 after an enormous “friend discount”.
It was during the course of this 1 week gig that I actually learned Twitter Bootstrap because it’s 2014 and you know gotta have shit that scales down on people’s phones and stuff. So not only did I learn Twitter Bootstrap., but by modifying a pre-existing Twitter Bootstrap theme I also got more proficient at HTML & CSS,
Scene III: The decision
A good instructor is not one who is a jedi at knowing-it-all, but is competent at imparting knowledge in a way that helps a learner learn.
My first tutorial was on coding a full width video header like on AirBnB’s website for SitePoint, called Learnable then (remember, this is 2015 now and video header’s were all the rage). Tutorials for front-end projects such as HTML, CSS, React.js tend to be easier due to the visualization aspect for learners.
I had discovered through my own learning and instructing that the best way to learn how to code was to actually implement concepts while coding a project. So I put this into practice with my next course on Git.
By this time I was convinced that the only way a beginner could actually move into coding territory was to learn how to code by coding bite-sized project components. Very much like how you would work as part of a team in a development company.
Scene IV: A use case scenario
I have a popular case on SitePoint called Git It Together: Master Version Control with Git and GitHub
Learner’s learn how to initiate and use Git commands by pretending they are working in a team that is developing a website for a client. And this is how it goes:
- A free Twitter Bootstrap theme is downloaded from startbootstrap.com.
- From there on, the learner watches a short 2-4 video lesson on a git command
- Then the learner makes a few changes locally to the theme file
- The changes are recorded and committed using Git
The course has a 4.5 rating out of 5. It was popular because :
Made it easy for learners from varying degrees of web development experience. So it was an introductory course to Git. Not an introductory course on Git only for beginners or an introductory course for already experienced web developers. The difference is subtle, yet real.
The course was practical from the start
In short I was able to take something a bit abstract like Git and made a project based course of it.
So a total of 51 concepts are taught (local & global variables, conditional statements, time & date object, functions, methods etc) over a course of 5 projects.
Scene VI: Coding Bootcamp Stint
Scene VI: Moving on
This year I am working on 3 more projects aimed at Intermediate JS (objects, prototypes, anonymous functions, callbacks, working with APIS etc). The 3 projects will be:
- Recipe App
- Social Media Monster
- Bullet Journal
Teaching the way I would have liked to learn. No pretentious nerd snobbery. Just lots of hard work sprinkled with empathy.
ps: As for marriage ? Well I did receive this comment for a video tutorial up on YouTube: