Programming isn't just for people who want to make video games. No matter what you want to do, or who you want to be, learning programming will give you a massive advantage.
Programming has a million applications - once you know what you're interested in, you can use it as a tool to learn more and eventually even advance your career.
What do you want to do? Use the guide below to find your interests, and we'll give you the best languages and free resources to start out with!
Knowledge of web development allows you to create blogs where you can post your work. Knowing how to create your own site can make your blog stand out more than if you used a web tool to create it. Check out Khan Academy's Intro to HTML/CSS
WordPress is also a great way to start creating your blog. It's easier to start with but still lets you edit the code as you learn more about web development.
Technical Writing: In this type of career, you serve as a middleman between engineers and people that don't know the field very well. Those interested in journalism would have a great advantage if they were able to write on complex technology. Try out CS50's Introduction to Computer Science
For research, scientists often use programming languages to make raw data more readable and determine how meaningful it is. An early start into understanding programming logic will make the eventual learning of any data programming language much easier. For this, try Khan Academy's Computer Science Course.
For more complex data, scientists often use Python. Programming for Everybody is a great course to start with.
Starting off with a game engine is the best way to go. Engines like Unity and Unreal program a lot of the complicated background stuff (like game physics) for you! That way, using a C# or C++, you can skip straight to creating levels, game mechanics, and making playable content. Try this course: Codecademy: Learn C#.
We recommend learning Unity and C# first, as it's a bit easier to start off with. Unity Learn is an excellent source.
The best way to start is by learning HTML, then CSS, then Javascript. These languages are the building blocks of websites. HTML places text and media, CSS changes the way a site looks, and Javascript focuses on how users interact with your website.
Web Design for Everybody is a great course to start with. Once you have the basics down, you can keep learning more languages and libraries to make more modern looking websites.
Find languages you like, and start building projects with them. Large companies don't look for expertise in a certain language; they look for tangible proof that you can produce projects. Once you create something of the caliber they're looking for, they'll know you're skilled enough to learn any language they would want to throw at you.
Try out creating projects on Scratch. It'll give you great exposure to the logic of code, and you can explore other people's projects for inspiration!
Once you feel inspired, try out different languages on Codecademy and see what works best for you.
Use Linux Journey and switch your operating system over to a Linux Distro. Go through the tutorials and learn how to interact with your computer at a lower level than windows or Mac usually allow you to!
Purchase a Raspberry Pi and try out some Raspberry Pi Projects. This tiny computer is easily programmable and can grant you great insight into how more complex computers function.
The first thing you need to decide is whether you want to make apps for Apple or for Android.
If you want to make apps for your Apple products, focus on Objective-C. Foundations of Objective-C App Development is a good course to start with.
If you prefer android products, learn Kotlin. Android Programming for Kotlin is a great course that focuses on learning through creating a working project!
- Foundations of Objective-C App Development
- Android Programming for Kotlin for the beginner: Calculator App
If you're interested in creating art for programs, games, or websites, it's incredibly important that you learn the terms and vocabulary that programmers use. Being able to communicate with your team will make or break your future projects.
If you're more interested in making beautiful websites, we recommend learning HTML, CSS, & HTML5 Canvas first. These languages are used to design the way a website looks, and once you get a good understanding of them, you can make amazing looking websites!
If you're looking for more of a computer science approach to art, check out Introduction to Real-Time Audio Programming in ChucK. It focuses on music but serves as a great tool for anyone in the art field that is interested in applying their skill to the digital world.
Yes you can! Python is a great tool for math, especially statistics. Look into Statistics with Python Specialization, even if you don't know statistics yet! All you need is an understanding of high school level algebra.
Wolfram is also a great tool for math lovers too! This algorithm-focused language is a little easier than a lot of other languages to pick up, so you can focus on the math instead.
MATLAB is an incredibly diverse language with tons of mathematical applications! A wide range of college courses use this for data analysis and mechanical tests and measurements, so if you are considering going into any major that deals with data, learning this now will be great preparation for college. MATLAB Courses.
Get an Arduino kit and create a tiny machine. The kits themselves are pretty pricey, but once you have it, there are a countless number of free resources to learn and projects to get inspired by online!
If you want to take your music to the next level, learn ChucK. This language will let you create amazing digital music. It's one of the easier programming languages to pick up and is made specifically for music composition and performance.