From the Teaching Trenches: Hardcoding is Harder, but Results are Worth It

Most instructors of USC’s online editing and design courses rely on Dreamweaver for Web page production in their classes, as do most other online instructors I’ve met at industry conferences and in online discussions.

Instead, my students create their Web pages by hardcoding HTML and style sheets using nothing more than a basic text editor like Notepad. Yes, it’s difficult. Creating Web sites takes more time without Dreamweaver, and students often get frustrated when a single keystroke renders their work unintelligible.

But the extra effort earns rewards. —Robert NilesFrom the Teaching Trenches: Hardcoding is Harder, but Results are Worth It (Online Journalism Review)

I’ve been mulling over this possibility…

When I teach writing for the Internet, I teach blogging first, which I find gets students writing faster. When I then moved to HTML authoring, there was a terrible backsliding… that is, students who were initially nervous about the course’s technical requirements were put at ease by the simplicity of blogging.

But when it came time to move to the next step, teaching them to make web pages with FrontPage Express, several students were very frustrated by some very basic things. I chose FrontPage Express because it’s free, and also because it doesn’t offer many of the distracting, non-standard bells-and-whistles that used to distract my technical writing students when they used Front Page 2000 or 2002.

But even using the simpler version of the program, some students couldn’t find the folder in which the program had saved their files, or when they accidentally downloaded a file from “subdirectory/index.html” over top of their root directory “index.html”, they didn’t think of recovering the “missing” page by downloading a copy of the version they had most recently uploaded.

While saving frequently, working on one thing at a time, and working backwards to recover from a mistake are second nature to hackers, even they had to learn the importance of those techniques the hard way. Add to that the fact that some students in “Writing for the Internet” are also learning the basics of how to write, and suddenly the course content becomes overwhelming.

I started out giving them two weeks to publish a simple website, with plenty of in-class workshop time. As the semester progressed, I gave them shorter timeframes — one week, then two or three days, and then finally the end of the class period. Most of this work was ungraded – that is, they got credit for doing their best and showing progress. But there was a long period when I felt some students simply weren’t putting in the effort to learn these details.

Once it became clear the final exam would require them to use these skills on their own, that caused a few students to perk up. But there was still a lot of what I felt should have been unnecessary stress during the final, as students struggled with a skill for which I had spent months preparing them.

Of course, my class was mostly first-semester freshmen, who are generally not used to being responsible for their own learning.

Since Niles can be confident that his students will have plenty of opportunity in other classes to learn the stylistic and cultural details of writing for the web, perhaps he can better afford to spend more time on teaching raw HTML.

I do teach the basics of interactive fiction programming, using a set of example games that I’ve tweaked over the years… those classes are more like fill-in-the-blank exercises than programming, but the process does introduce students to the gory details that go into writing an interactive fiction game, which makes them more informed critics (and more helpful peer evaluators for those students who choose an IF term project).

When I next teach “Writing for the Internet” (in the fall of 2006) I’ll have to think about all this.

View Comments

  • Evan, you've hit the nail on the head. What has to go, in order that I spend class time on HTML? Some of the group work really didn't go very well, perhaps because the last time I taught this course it was much smaller, and there were fewer freshmen. I think too many freshmen were still busy shifting themselves out of the high school mindset, where they expect the teachers to give them plenty of time in class for group work, and where instructors don't expect students to check the syllabus and keep track of looming deadlines on their own. Parts of this course would work better if students already had experience working on their own, but since the way it's scheduled I know I'll always have plenty of first-semester freshmen, I've got to spend more class time teaching students how to learn at the college level. And, while I don't want to shock students the first week with HTML, if I present the basics carefully and systematically, it will be a good confidence booster for those who actually keep up with the work, and a good dose of college-level reality for those who don't.

  • I agree with you Dr. Jerz; it depends on the context of the course of study. If you are focusing on the writing aspect rather than design, it only makes sense to give them a product such as FrontPage to get them to write effectively. Learning straight HTML takes time that could be spent learning to improve internet writing skills.

    The trouble is getting the balance. Either one will be pushed up at the expense of the other. But Julie has a good point. You simply can't avoid having to learn some basic HTML. I think taking a day to break down what HTML actually is would be helpful for future EL236 students. I remember my reaction when I first looked at HTML--pure shock. But once someone breaks it down for you, it's not that hard. Once you realize this, learning HTML is no longer an uphill battle.

  • Thanks for the feedback, Julie. I'll keep it in mind when the course comes around again.

  • I'm all for coding in Notepad/jEdit type program. Although it is easier/quicker to do a site on Dreamweaver or Frontpage, it really doesn't teach anything new. I'm actually surprised that freshmen had such a problem making a web page -- pre-2000, I learned how to make a page in high school computer class with code. It's probably still alive on Geocities somewhere...

    Maybe it's the Frontpage 1.0 that's the problem? Are 18-year-olds more familiar with ultra-intuitive interfaces? You figure the oldest version of an OS they would remember is Windows 98.

    Either way, actual coding shouldn't be a mandate for the class, but it does seem like a day spent learning the basic tags (and the wonder of tables) could be infinitely useful before approaching Frontpage -- most everyone will finally get what cell padding is, and should they ever want to personalize their weblog, they'll know how to code in their blogroll.

  • Right - if you simply write you constants into your code, that's hardcoding, whereas if you use a variable that's...well, it's not hardcoding. ;-)

    Usually it's something like "You need to display your application title in several different places." Hard-coding it would mean you just type it in in each of those different places. The "right" way to do it is to define one constant variable for the application title, and always refer to that variable. This is considered better because 1. it's less error prone - if you retype the title several times, one of those times you might mistype it. 2. Changing the title is NOT error prone, because you just have to change it in one place.

  • In "hardcoding," "hard" is the opposite of "soft", not the opposite of "easy", right? If you write code that uses constants instead of user-configurable variables, that's hardcoding, right?

  • Your title is very amusing - "Hardcoding is Harder, but Results are Worth It".

    Because in computer science, we have a very general very common saying that's something like "Hardcoding is easier, but in the long run the results are worth not hard coding."

    Obviously, we mean something different. I believe we refer to what he's talking about just as "writing it by hand". Hardcoding is something different, and is generally a bad practice!

  • I left this comment on Frank Carver's blog, and wanted to archive it here just to keep all my thoughts together.

    "The learning experience is the whole point of attending the course" -- true, but that depends on what learning is more important. Since my students are taking a writing course, not a design course, I felt that teaching them raw HTML was not necessary. I'm beginning to rethink that decision, because truth be told many students were still frustrated by any computing process that differs from clicking on an icon. This is not their fault, of course, and I can't completely change their relationship to computers via one course.

    Still, if they can't read raw HTML, then they can't debug, which too often means they can't post pages on the internet. If they can't post pages on the internet, then I can hardly say they've learned how to write for the internet. Complicating matters is the fact the course has a lot of first-semester freshmen. For the first half of the course, many are still trying to get by on the "coasting" mode that was enough to earn them As in high school. I suppose that an early quiz on HTML would snap them out of that fantasy world early enough... but I've had problems with CS majors who know lots of HTML, but haven't had much experience with the writing process (prewriting, drafting, revising, polishing). I wouldn't want the HTML smarties to think that their technical knowledge excuses them from having to work.

    Maybe what I need to do is offer a mini version of the course in four or five weeks, evaluate each student, and then go over the material again in more detail. But to do that, I'd have to drop some of the cultural content (history and function of weblogs, that sort of thing). Hmm... much to think about.

  • Yes, Marcia... since the course I'm talking about isn't a design course, I'm worried that spending too much time on HTML will be a distraction. Still, some students who squeaked by will find themselves at a big disadvantage because I didn't expect them to debug common problems...

  • I'm a proponent of learning how to hand-code HTML, or perhaps, XHTML now. When I took web authoring courses back in 1997-8, it is what was required. The instructor spent one class session explaining basic HTML and we were expected to learn the rest of it on our own with the help of the Internet and our textbook.

    I think learning how to hand code was important. Most importantly, it enabled me to learn how to diagnose problems. Now when using FrontPage or Dreamweaver and things don't work like I think they should, I can edit the code to tweak things manually.

    As the final exam for one of these classes, we had to give a group presentation, to which area employers were invited. I think this helped us realize the importance of paying attention to details and publishing polished websites. It also helped me get an internship, but that's another story. :)

    Of course, web authoring is a little different than writing for the Internet. Perhaps, presenting basic HTML would help some students, but not making it madatory would be feasible in the end??

Share
Published by
Dennis G. Jerz

Recent Posts