Practicing the Fundamentals
If you've learned some fundamentals and are ready for more practice, there are several platforms that promote a learn-by-doing approach in a multitude of languages—if you're ready for some immediate gratification of hands-on coding, try these:
- Exercism: coding problems for many languages in the style of koans, where you're given failing tests with the task to make them pass. Adds an (optional) element of peer review.
- FreeCodeCamp: a free online "bootcamp" program that teaches full-stack web development from first steps, guiding you to create a real application.
- HackerRank: an online coding challenge platform that is often used by companies for interviews, but also has a progression of lessons for many languages starting from bare basics.
- CodeChef: similar to HackerRank, also with numerous practice problems for many languages ranked by difficulty level.
- Kaggle: data science challenge problems with cash prize competitions. Check the Data Science page if you need more preparation for taking on these types of problems.
This kind of practice can be a more fun fit for the environment of a hack night, so you may want to try studying background material in advance.