Where do I start?
While Girls Who Like Code doesn’t offer an out-of-the-box coding curriculum and has attendees of all experience levels, some of you are new to programming and that’s OK! This part is for you 🙂
Welcome to the world of code! One of the biggest questions new coders or those who are interested in learning to code wrestle with is “Where do I even begin??!”
Don’t worry, we’ve all been there.
“Programming” is such a big field that you’re never done learning, so pointing to where you should start is nearly impossible. It also really depends on what you want to do or make! But we’re gonna try and give you some pointers anyway, because the most important thing is to just get started with something, anything at all. You can always adjust later.
We’ll update this list of resources as we grow – if you have any suggestions of great tutorials/resources to add let us know at firstname.lastname@example.org or on twitter @girlslikecode !
One of the most common entries into code is the desire to make your own website, or maybe you have one already and you want to improve it.
HTML & CSS are the basic building blocks of a website: together they determine how your website is structured and what it looks like. There are many resources to be found to get started with learning html & css. Codecademy is a good place to start, also for many other programming languages!
To get a simple, static website (great for a blog!) off the ground in no time, have a look at Hugo.
(Let’s ignore the debate for now whether html and css are real programming languages ok?)
There are so many languages! Which one do I pick?!
General advice: It doesn’t really matter – pick one and stick with it. Once you get familiar with general programming concepts through your language of choice, it should be much easier to pick up a new language.
That being said, some languages are more beginner-friendly than others, and if you already have a specific project in mind it makes sense to pick a language that’s suitable for that. Also, don’t pick a super-obscure language because it’ll be much harder to find tutorials aimed at beginner programmers (as opposed to experienced programmers who just want to learn a new language).
Python is generally known as a very readable, human-friendly language with tons of documentation for beginners! (Full disclosure, yours truly started with Python so I am biased) There’s lots of tutorials online (like the aforementioned Codecademy) but also a couple of good books that are available for free online! The great thing about Python is that you can use it for many purposes, ranging from web development (with the help of a framework like Django or Flask) to complicated math to machine learning. And of course, also just plain old regular software.
Ruby with the Rails framework (“Ruby on Rails”) is another great start for web development. Excellent startingpoint on the website of RailsGirls.
If you plan to expand on WordPress (a popular blogging platform) the best language to start with would be PHP.
Java is another very popular programming language that can be used for a huge variety of tasks. It’s also the language to start with if you want to get started with developing apps for Android. For iOS apps you’d need to look into Swift.
Here is an endless list of even more resources.
If you want to make cool stuff with Arduino the language you’re looking for is C++, although it is generally known as ‘not the easiest programming language for beginners’. There are lots of cool tutorials for Arduino stuff though, so plenty of projects to get started with!
Command-line what? Kernel? Great starter on linux basics with plenty of exercises can be found at LinuxJourney.
Git is a version-control system for your code, so you never have to save programversion1.py, programversion1.py and programtherealdefinitiveversion.py ever again. Using GitHub (not the same as git) is also an excellent way to share your code with others and contribute to open source projects. A how-t-get-started-guide can be found here. (on GitHub, of course).