Introduction to Website and Web App Development

Introduction


I’m a Teacher, Not a Programmer!

I'm a doctor, not an engineer.

As Code.org and other computer science education providers have succeeded in demonstrating the importance of making computer science available to all students and ensuring that all students know how to code. Black students and girls in particularly are extremely underreprsented in the computer science workforce, despite women once being a majority of the computing workforce. Programs like the Hour of Code look to address these long-standing gaps by making computer science accessible to all.

But aside from teaching code and creating these experiences for students, why would a teacher or an aspiring technology specialist need to learn how to code and specifically why websites? Especially given the proliferation of tools like Canvas and Google Sites, the work of building webpages has mostly been simplified through GUI tools that do everything for you. It isn’t like in the late 90s where building a website involved making your own HTML page and uploading it through GeoCities. In fact, it’s likely more difficult to host a webpage that you code yourself than it was 20 or 25 years ago.

For some people, the answer is the same as why some people prefer automatic transmission to manual - it’s a matter of preference or about being able to have granular control over how something works. For others, it’s about being able to extend the GUI tools by editing the HTML that they produce for more specific styling. But some educators are leveraging code to improve their own practice. This could be as simple as presentation handouts that are more than a link to a slide deck, to creating custom scripts to “hack” their workflow, creating an app, or creating their own personal website.

By the end of this course, you’ll have enough tools in your toolbox to do any of these things.

On Programming Frustration

The two states of every programmer: "I am a God" and "I have no idea what I'm doing"

As mentioned in the syllabus, programming and web development can both be extremely frustrating enterprises. In coding this specific webpage, I spent an hour hunting down what was essentially a typo and then another hour hunting down a problem that wasn’t actually a problem and just me being impatient. Programming can be an incredibly difficult, incredibly frustrating endeavor. Even expert programmers agree that sometimes, programming sucks (warning: crude language - one thing you’ll find when reading programming blogs is language is much more harsh than on education sites).

There are four “best practices” for dealing with frustration:

  • Google it. Odds are someone else has dealt with a similar problem before. This course is going to rely less on including all of the information on the HTML pages in this course versus linking out to resources you can reference in the future. Get comfortable with reading documentation.
  • Store code snippets. If you have something done right, keep a document or use an app to store bits of code that work well for you. This way you can reuse them when you have similar issues in the fiture.
  • Walk away. Coming back later with a fresh perspective can work wonders.
  • Persevere. When you finally get the computer to do what you want, you will feel like you’ve won the lottery.
Never have I felt so close to another soul
And yet so helplessly alone
As when I Google an error
And there's one result
A thread by someone with the same problem
And no answer
Last posted to in 2003