Resources for Learning How to Code
Frequently asked questions
Where do I start?
We recommend learning Python first, as it is easy to learn, but also powerful. If there is a specific device you want to target, look at the table below to see what you can do with a few languages.
What do I do when I get stuck?
One thing you can do is ask someone at the club meeting for advice. Another thing you can do is look for an answer or submit a question on stackoverflow.com. StackOverflow is a popular website that helps answer all your questions.
How do I get better?
The only way that you can get better is by practicing. Practice by coming up with a goal, and write a program to accomplish it. It does not matter if someone has already written a program to do it, you can challenge yourself by making your own. Challenge yourself by writing something that you can not currently make. When you get stuck, refer to the "What do I do when I get stuck" question. If you need ideas, this site has a list of some.
Which language should I learn?
This is not a complete list of every platform and every language. If what you want to write programs for is not on here, then you need to do your own research. Considering adding to this page if you do.
Target | Commonly used language(s) |
---|---|
Desktop apps for Windows, OS X, and Linux | Java |
Websites or webapps | HTML, CSS, and JavaScript |
iOS apps | Objective-C or Swift |
Android apps | Java |
2D games | JavaScript or Python |
3D games | C++ or C# |
Command line programs | C or Python |
Windows only applications | C# (C Sharp) |
List of resources by language
Java
Java is a popular programming language. It is used to write programs for Windows, Mac OS X, Linux, Android, and more. It is also the language used in the AP class.
Websites for learning Java
We recommend doing Getting Started, Learning the Java Language, then Essential Java Classes. After you have done those 3, branch off and learn things as you need them.
Books for learning Java
Free books for learning Java.
Python (Recommended for beginners)
Python is a programming language that is easy to program with, but it still powerfull. It is great for people who are new to computer programming.
Websites for learning Python
Codecademy Python tutorialCodecademy is a great resource for learning Python.
Swift
Swift Standard Library Documentation
Mac OS X Platform Documentation
watchOS Platform Documentation
Swift is a programming language that was recently created by Apple. It is the replacement for Objective C. It is what is used to write apps for iOS and Mac OS X. It has the power of a language like Java and is comfortable to work with like Python.
Objective-C (Swift is recommended instead)
Mac OS X Platform Documentation
Objective-C is a programming that is exactly as it sounds: C with objects. The language is built on top of C, and you can even use C code along side Objective C. It's use has declined significantly since Apple replaced it with Swift in June 2014, and we do not recommend learning it.