Part 1 - What is this website all about?Written by Eric Muss-Barnes, 3 December 2018
In all honesty, I’ve been thinking about building this website for the last 10 to 15 years. The reason I never did it sooner was because I kept assuming someone else was going to do it. Someday, surely, folks would figure out the proper way to teach basic web programming to new students.
Well, unfortunately, no one ever has.
The problem with most computer teachers and curriculums is, they always skip the basics and the groundwork.
Let me give you an example of a poorly created training video. A few weeks ago, I found a beginner video teaching people how to use a computer programming language called "AngularJS". The instructor started by boasting this was for absolute beginners, and you needed no previous knowledge, and he would start you out from scratch. Great. Awesome! I was looking forward to seeing his approach. One of the first instructions he gave was, "Use your favorite package installer for acquiring new modules. Most people will just use NPM."
What the heck is a "package installer"?
What on earth are are "modules"?
What is "NPM"?
He didn’t explain any of those things! His very first instruction, in a beginner video, used three terms he didn’t define! He immediately jumped into something that was obviously not basic, beginner knowledge at all.
The computer industry is riddled with teachers like that. Teachers who do not help you in the least. Teachers who confuse you right out of the gate.
That is not the way to create educational training for beginners.
I will not do that to you. I’m not going to tell you what FTP program to use, or recommend a WYSIWYG editor, or show you variables in PHP code, without first explaining what words like "FTP", "WYSIWYG", "variables" and "PHP" means.
I have created a number of training and educational projects in the past, from the basics of skateboarding to the basics of firearms.
There are two things I have learned when it comes to teaching people new skills.
First is to always start with terminology and jargon. Never use words the students don’t understand. Pretty simple and obvious. No matter if you are learning skateboarding, or programming, or baseball, or driving a car, or how to tie your shoes, the teacher and the student must share a common language. The moment a teacher begins to use unfamiliar words and terminology, the student is lost. Language is the most important thing to grasp in any new skill. Teachers must define words first. I will do that in these articles. I will never use any computer terminology or Internet terminology without first explaining the words I’m using.
Second is to always explain why things are done a certain way. There is a notion in psychology that all human beings are either leaders or followers. Soldiers and generals. Soldiers will simply do what they are told, and won’t question methodologies. But generals need to know the reasoning behind the instructions. We need to know why this is being done. So, I will do that as well. I won’t simply tell you how to do things, I will tell you why I recommend the approach I’m teaching.
Those are the two most important things.
I will always teach terminology.
I will always explain the reasons why we are doing things a certain way.
A few other things to know about these courses:
a.) This is going to be a cumulative series of articles - staring with the most simplistic knowledge and building upon it step by step. Therefore, I suggest you study these lessons in numerical order. If you just jump into lesson 9 without looking at any previous lessons, you will probably be totally lost and have no idea what I’m talking about. I’m keeping it simple, but you have to study things in sequence. You don’t walk into a Latin IV class without first completing Latin I, II and III.
b.) I will always provide copies of example code you can download.
c.) The written articles will include a glossary of terms.
d.) If you need any extra software, I will provide links to download that too.
I am going to assume you know what terms like "software" and "links" and "download" mean, but if not, I’ll even cover those in a later article. There are certain words, like "data" for example, which are very computer-centric, but they are not computer-exclusive. The word "data" has become a much bigger part of our vernacular since the dawn of computers, but the word has been around since the 16th century, so I won't define terms like that.
As I mentioned earlier, I have thought about building this website for a long time, but this project is not the first time I am teaching people this subject. This course is actually based upon a programming class I invented to train my fellow Cast Members at Walt Disney Studios. What I taught at Disney was only an hour-long class, and far less sophisticated, but it contained a lot of the same principals. So, when you are all done, not only can you brag about knowing how to program a website, but you can tell people you learned from a guy who taught students at Disney.
The last thing I want to talk about is the name.
I realize Teaching Girls & Grandpas How To Build Websites is a really weird and goofy name.
But I didn’t want to call it something boring like, "Learning Beginner Website Programming" or "Basic Website Development". Yuck! That’s no fun.
I didn’t want a dull name like that. I wanted something that would catch your attention. I was tempted to call it "Computer Nerds Suck", and I considered that name for an hour or two, but then I decided I wanted something joyful instead of cynical.
In my 25 years of web development, I have only ever had one fellow developer who was female. Can you believe that? Only one woman. Naturally, I’ve had many female coworkers in various offices. I’ve even had a few great managers who were women. But I’ve only had one peer on a development team who was a broad. A chick. A skirt. A dame. A babe. And honestly, I think that's a shame. I think it would be cool if more females gave programming a shot.
Historically, women and older folks rarely pursue computer development. Therefore, I came up with the name Teaching Girls & Grandpas How To Build Websites as a playful and lighthearted way to encourage everyone to give computing a chance. My goal is to articulate my expertise so eloquently, anyone will be able to construct a website! But let me be clear, boys are equally welcomed to participate! I don’t want guys to feel alienated by the title. Teaching Girls & Grandpas How To Build Websites is merely a silly and fun name. You don’t have to be female or elderly to be my student.
This is all about encouraging and emboldening my fellow American citizens, all across this Great Nation of ours! Girls. Boys. Young. Old. So, I hope you find these videos and articles both delightful and educational!
I sincerely thank you for taking the time to read this.
And remember, kids, the world owes you nothing... until you create things of value.