What I Learned From Teaching Web Development
Not as easy as I thought
I recently had the opportunity to teach beginning web development to 8 people, that were all graphic designers, and absolutely no web experience. I don’t mean they haven’t used Google, I mean no HTML or CSS. I was basically working with a clean slate, and could teach them how to do things the right way directly out of the gate. Needless to say, I was very excited. Not being easy though, is a huge understatement. That is because there is a really, REALLY big difference in teaching someone who has a little knowledge of HTML, and someone who has none. I quickly became aware my outline was going to be thrown out the window.
What went wrong?
Well, first thing was that I totally overestimated the seeming simplicity of HTML. I only talked about 15 or so elements, just the basics you would need to create a web page. Nothing fancy, and no HTML5 what-so-ever. I am self taught, and I don’t really remember how I learned it, only that I really wanted to, so set out and did it. I was dealing with people who were about to be laid off and just wanted to add a skill set to their resume. I think that alone is a huge difference. I was dedicated to learning it and getting into the field. These students of mine, were not really looking into going into web development per say, just have the knowledge to build a basic site to make them look better for future job positions. What is the difference? I knew it was going to be a long and difficult road, the people I was teaching didn’t expect it to be as hard as it is.
Ok, stop bitching because I can already hear your thoughts. HTML and CSS is NOT hard. I know. But we’ve been doing it for a while, right? I can look at a psd and know instantly how to slice it up, what divs and tags I’ll need, and most of the CSS is already written in my head. Now try to picture yourself not knowing any HTML. You go on the internet, and you click links, but have absolutely no idea how any of it works. You never thought about it, you just click and go. The only thing my students had knowledge of that was helpful was Photoshop. But then, they don’t know how to slice or save for web.
What size do I make the image?
That is the question I got that really hit home and made me realize I was in some serious trouble. “Whatever size you need it to be, only use pixels, not inches,” was my response. To which I was asked “What should the dpi be?” Ah, then I was getting what they were asking. I then explained that dpi has no relevance on the net. I was then asked again a little later what size the image should be. I will admit to some serious frustration because I wasn’t understanding the questions I was getting. In honesty though, it wasn’t there fault. They just asked questions that made sense to them relating to print design, but web development and design is so much more fluid.
I decided to go with “Let’s build a simple web page, and you will see how all this fits together, better than me just telling you what the names of these tags are. This produced easier questions to answer, but presented me with even harder questions.
Syntax, layout, and a lot of confusion
HTML syntax is easy, right? You really don’t have to worry about much. If you have never dealt with ANY kind of thing like that before, I believe it seems quite alien. It did go better though once I just started building a page and talking through it. CSS was even harder because there are so many properties to go over, even just the basic ones, plus there is ‘id’ and ‘class’ to explain. Which leads to how to put the id or class into the HTML element.
One of my best friends, who was one of the people I was teaching, threw a comment at me that confused me yet again. Three hours after I started this class, and they were grasping some of it, he says to me “I get the idea with the id and class thing, and divs, I just don’t understand where I put everything.”
Personally, I thought I had done ok with explaining that a ‘div’ was a box that you put other crap in. Kind of like you are packing for a move. You have a content box, so throw the main text stuff in that. You have a navigation box, so put your menu in there. You have a footer box, so toss in all the junk you want at the bottom of the page in there. But then you get, “Ya, but what goes in the footer?”
What I would do differently
I would split it up into different classes. HTML one day, and CSS on another. That they could practice just laying out the HTML elements without having to worry about styling. I would also begin the class with just them asking questions before I started teaching anything. That gets the preconceived notions out of the way, and will create less confusion later. Too much information all at once is not good, regardless how quickly the student wants to learn. My expectations were way too high, and the bar should be lowered by quite a bit.
I enjoyed teaching people a little of what I know, and after doing it once, I’ll be better prepared for the kinds of questions that threw me for a loop. I would definitely do this again. If you are ever asked to teach a class like this for the first time, feel free to ask me any questions you might have, I’ll be glad to prepare you for the inevitable confusion.