Learning how to program used to be a hard thing. Thanks to the internet the only problem now is to choose your way from all the possibilities.
I want to help you get into the basics of programming and show you some tricks that will make it easier than you would think.
The different ways of learning.
If you want to get started with learning something new there are multiple ways to do so. Let’s have a look at the most common options and what the advantages are for each of them.
This is probably the first type of learning that will come to your mind when thinking about learning a new skill. Read a lot about your new skill and hope that you will remember some or most of it later when you’ll need it.
Mostly used by students during university this aspect does have some major advantages over video-based alternatives like online lectures. You can immediately jump to the details you are looking for. Skimming a page allows you to quickly see if the needed information can be found – something that is not possible with a video. You can also easily read the same text again when there are concepts which are unclear to you. With so much text out there on the internet, it will also be very unlikely that you won’t have any results for your search. This multitude of sources allows you to learn about very specific aspects and piece them together in whatever way you want.
But text-based learning also has some disadvantages. Most of the text pieces are structured like dictionaries where you will only find information about a specific topic in isolation. This may prevent you from seeing the bigger picture. Some people also are having a hard time to learn when they are only reading. That is why this method is particularly good when looking up some piece of information again and not learning them from scratch.
Web Tutorials and Online Courses
Web tutorials and courses are the most knows options when thinking about learning online. They can either be a series of videos on YouTube or a complete online course on sites like Udemy.
They have the advantage that you have a video most of the time where the instructor can show what he is currently talking about. This lets you see what it is they are doing rather than just reading about it. The advantage over classical courses is that you can set your learning phases to fit into your schedule. If you do not have time between 1 pm and 6 pm that is fine. You can still access your online courses before 1 pm so you can get some learning done in the morning or learn after 6 pm when you are back home.
If you want to fully commit to learning you can also attend in-person courses. Depending on your location your local university might have an open course for you to attend. Another option is boot camps which try to teach you everything in a fairly short time (around 3 months).
The main advantage of in-person courses over online solutions is direct feedback. You are sitting right next to the other students and your instructor. If something isn’t clear you can simply raise your arm and ask questions. This feedback circle is something unique to this learning environment. You will also probably have some group work which lets you interact directly with other students so you can work out problems together and support each other. This builds a community and will also kickstart your professional network.
However, these courses do not fit everybody. Firstly it is one of the more expensive options (with tuition going up to $10.000 for boot camps). The time frame is also rather rigid, as you have to fully commit for these 3 months. This makes it hard for people already having a full-time job who try to pick up a new skill.
What’s important to me?
The beauty of these methods is that you can combine them all to fit your needs. The best option here is the one you actually take and follow through. However, you should try to not only learn about your new skill theoretically. You should rather try to apply everything that you have learned to real projects. They help you to put your knowledge into context and train your problem-solving muscles.
For this series, you will build a fun project rather than isolated exercises. This will not only teach you everything you need to know but it will also leave you with a game you can play and share with others.
What’s the project?
The project will be a game you probably are already familiar with. We will be programming a Mad Lib game. If you don’t know Mad Libs or don’t remember everything exactly let me recap it for you. The game is fairly simple and consists only of a couple of steps.
- get a text with placeholders (madlips.com is a great resource)
- ask your friend for random words
- place the answers into the placeholders
- read out the text loudly
This rather simple game can create some seriously funny situations. A great example is Jimmy Fallon on his Tonight Show. He does this game regularly and there are quite a few hilarious videos of it on his YouTube Channel.
What will I do?
Inspired by this great example you will create your own online version of this iconic game. We will start with a very basic version and then you can add more features as your journey progresses.
The next step will be to plan out everything that is needed for the first basic version of this game. I will help you get familiar with the tools needed for this project and we will talk about one of the most important aspects in programming – variables. In case you want to have a look at variables before the next article you can look them up at Mozilla Developer Network. They have an excellent article about storing information in variables.
If you have any questions or problems you can contact me via Twitter and I will respond as soon as possible.