What are the best current resources available?
So youve decided to learn programming. The next question is, which language should you learn? This is a common hurdle that many complete beginners like myself find more intimidating than coding itself. Experienced designers, even those that work closely with web developers, might decide that coding isn't worth the effort, and in doing so leave thousands of dollars on the table.
HTML is a common suggestion for a first language because it is relevant to the average person, no matter their level of technical experience. Someone learning to code may have no interest in ever building an app, but they most likely use dozens of different websites each day. A beginner can learn to create a simple website of their own in a fairly short amount of time, and in the process learn foundational programming concepts.
As someone with no computer science background, I decided to learn HTML in order to bring together my social media accounts and host my resume through a personal website. In today’s market, being able to sell yourself is a critical skill, and establishing a web presence is important even if you don’t work in the tech industry.
For total novices, writing beginner HTML is not too different from using a word processor, and because projects can be tested through a web browser, the technical barriers to entry are fairly low.
Experienced designers like MediaLoot readers might want to expand their technical skill and increase their marketability. Whatever your particular reasons for learning, there is a large variety of resources available to meet your needs.
However, having to sort through all the noise is another common pain point, and the quantity of choices can be overwhelming. You should keep a few questions in mind when choosing a program:
Below are two courses -- one premium and one free -- that I personally used in my introduction to programming and learning HTML. I feel that they are some of the best options to learn HTML both quickly and comprehensively.
Tuts+ is an online source for tutorials, ebooks and courses on a variety of subjects, ranging from graphic design theory to PHP security. Many of their tutorials are free, including 30 Days to Learn HTML and CSS, and are designed to instruct the fundamentals of programming through short but focused daily instruction. The 32 videos in this course average about 10 minutes each, but the digestible video size does not sacrifice quality of content.
The course begins by outlining the basics of HTML and CSS - such as the parent child relationship - before moving on to more complicated subjects. Small assignments, like building a website fragment, are used to reinforce the information presented in the videos. Because students are required to complete assignments entirely on their own, they strengthen the critical problem-solving skills needed for serious development work.
While it is a free course with a relatively low barrier to entry, the Tuts+ course is a fairly robust introduction to programming for someone looking to become a serious developer. Downloading a separate text editor is required, but the first video helpfully provides a few free suggestions. Moreover, later videos cover industry best practices and resources commonly used by web developers -- such as normalize.css and code validation -- which are incredibly helpful for anyone wishing to pursue further serious programming, but may be off-putting for more casual students. In summary, this is perfect for someone who is looking for a course that offers both challenge and easy to understand content.
Team Treehouse is an online learning platform that offers a tremendous variety of courses beyond just HTML, including other popular languages like Ruby and Swift. Unlike Tuts+, however, all of the content on Treehouse is premium and requires a monthly subscription of $25. Those who are unsure about learning HTML or any programming language at all may be best advised to start with a free course. However, for those who are seriously interested in learning about development, Treehouse is a tremendously long-tailed resource.
The course “How to Make A Website” introduces students to HTML and CSS. Like Tuts+, the subject matter is presented through videos and organized around increasingly complex assignments, yet there are key differences between the two:
What makes Treehouse stand out as a source for learning HTML is the way that content is curated into “tracks”. Courses are arranged around concepts or job positions, such as “Front-end Development” or “Web Design”. This makes it easy for students to decide on “what’s next” after completing their introductory course. This makes Treehouse ideal for experienced designers interested in expanding their skillset because they can easily connect their new HTML knowledge with design theory.
While Tuts+ and Treehouse are indeed excellent and highly recommended, there are tons of other quality programs available online.
After completing one or more courses on HTML and CSS, students can apply their newly-minted skills to a variety of projects. Try downloading an HTML template, like those available on MediaLoot, and customize even further. Those looking for a challenge can purchase a domain name and try their hand and building a personal website from scratch. This is a perfect way to reinforce what you have recently learned, and also show off your skills to the world. After finishing the Treehouse course “How to Make a Website”, I decided to put together a quick single-page site of my own.
Describe your own experiences with HTML and CSS courses in the comments!