What do I need to learn?

What do I need to learn?

Over the past few weeks, and continuing into the forseeable future, I have been working tirelessly to learn as much as I can about web development, but what does that really mean? Web development is such a broad category encompassing numerous languages, frameworks, and tools. If I intended to get anywhere with my studies, I had to narrow my list down to what I needed to learn. I scavenged the curriculum pages of as many web development bootcamps as I could find. The most commonly taught concepts I wrote down and decided to focus on. I whittled the list down to HTML/CSS, Ruby, Ruby on Rails, and SQL.

What about Javascript? I wanted to focus on Javascript, and after Flatiron School, I probably will. However, Flatiron focuses on Ruby and I don’t want to confuse my syntax trying to learn two languages simultaneously.

##HTML/CSS The web runs on HTML and CSS. HTML, or Hypertext Markup Language, was created in 1993, arguably one of the most influential years in hip-hop (unrelated). Over the years, HTML has undergone numerous revisions and is currently on HMTL5 with a draft of 5.1 expected at the end of 2016. CSS, or Cascading Style Sheets, was invented 3 years after HTML, in 1996. It has undergone fewer revisions or standards and is currently on CSS3.

###How do they work together? HTML is the content of your site. It’s where your facts, figures, opinions, information, and graphics go. CSS makes your HMTL look nice. It’s formatting, coloring, italicizing, arranging, organizing.

###Learning Resources w3schools.com I never go to this site directly, but when I have questions about a particular HTML tag and I google them, w3schools is usually the top result.

Stackoverflow If I can’t get a quick answer out of w3schools or I have a question whose answer is larger than a definition, I turn to stackoverflow. You’ll see it a lot on this list. It’s an amazing resource. In fact, I have yet to submit a single question to the site as it seems like just about everything has already been answered, often several times.

##Ruby Ruby is a dynamic open source programming language. It’s meant to be simple and easy to get started with. It was invented in 1995 by Yukihiro Matsumoto and it’s currently on version 2.2.2. The language was inspired by Lisp, Perl, and Smalltalk. So far my key takeaways have been that everything is an object and there’s a great community and lots of documentation should you encounter any trouble.

###Learning Resources

####Code School Code School offers a few free courses on Ruby, the rest you have to pay for. The structure of the course is based around a series of videos followed by challenges. You watch a 5-10 minute video then do a series of coding exercises, called challenges. I recommend their Try Ruby course.

####CodeCademy CodeCademy is probably my favorite resource. It’s completely free and it’s extensive. Codecademy covers just about every popular programming language. Instead of videos the site offers a short explanation and an example then it walks you through the process of creating your own example. Every now and again I find a question to be vaguely written, but often a simple Google search of the question is enough to turn up some answers.

###Practice Resources

####Euler Problems These are a series of coding problems that you can use as prompts to write your own programs. The problems often involve performing numerous small problems over a large series of numbers to find the final answer. For example, finding the sum of all the multiples of 3 or 5 less than 1000.

####CoderByte CoderByte offers a series of problems, less related to math, that you can solve using the programming language of your choice. These problems are broken up into easy, medium, and hard. Many of these often involve manipulating arrays and strings to find palindromes or capitalize various letters in a string.

####HackerRank This site’s challenges start as tutorials but rapidly increase in difficulty. There are only a handful of challenges, but they’re fun to work through.

##Ruby on Rails Ruby on Rails, also known as just Rails, is a popular framework for creating webapps using the Ruby language. It makes a lot of assumptions about what you want to do and without knowing the detailed ins and outs of the framework, can be difficult to customize if you disagree with the assumptions it makes about how your code should be structured. I’ve only just started on Rails.

####Code School They have a fun series of tutorials based around a Twitter clone for Zombies. I’m learning a lot from it, but I feel as though I’m missing out on a lot of context. All of the Code School tutorials feel that way, like there’s a series of videos I’m missing or that Code School is designed for people who have already heard about the concept at hand and come into it with a little bit of prior knowledge.

####CodeCademy This week I will be starting Codecademy’s Rails track and I’m really looking forward to it. Like I said before, I really enjoy their pacing and depth into each language.

##SQL SQL or Structured Query Language is a language for working with relational databases. What are relatonal databases? They’re databases that relate to each other based on an id column with a value unique to each row, called a primary key. I like SQL, I haven’t delved too deep into it yet, but from what I’ve learned so far, it seems pretty simple and even more user friendly than Ruby. Giving instructions in SQL feels like typing regular sentences in English. Ruby uses SQLite3 for development and test databases. However, you cannot use SQLite3 in a production environment so many web app hosts require you to use Postgres or another database.

###Learning Resources

####Treehouse SQL Course Team Treehouse is a great resource, similar to Codecademy and Codescool, almost a hybrid between the two. It includes videos, quizzes, and coding exercises. The quizzes are kind of a waste, but the coding exercises are helpful and quite challenging for their SQL course. A subscription is required for Team Treehouse.

####MISSQL Command This is a free resource for learning sql, based on the old arcade game Missile Command. It’s fun to play and only takes a few minutes to get through. I would recommend this as a simple refresher following the Treehouse course above.

comments powered by Disqus