Programing Resources

Free Online Websites/Courses:

  • Trinket Hour of Python—Great tutorials to get started with Python, a popular text-based language, including Turtle graphics.
  • Scratch—You can move customizable characters (“sprites”) around on a screen. This block-based coding language is a perfect introduction to the way programmers think. Create your own game or use one of the guided challenges that show you what to do. Scratch can use user-input and can be as simple or complex as you want.
  • Microsoft MakeCode Arcade: Develop your programming skills by quickly creating and modding retro arcade games with Blocks and JavaScript in the MakeCode editor. (Used at the Microsoft workshop at LI HackHers 2022 Hackathon.)
  • CodePen: CodePen is a social development environment for front-end designers and developers. Build and deploy a website and show off your work! (Used at the Juni Learning workshop at LI HackHers 2022 Hackathon.)
  • Thunkable: The platform where anyone can build their own mobile apps. Available for iOS and Android. (Used at the Zebra Technologies workshop at LI HackHers 2022 Hackathon.)
  • Khan Academy—Khan Acadamy has a course you can work through that teaches you to code in JavaScript, a text-based coding language. Again, this is based on results that print to a screen. Eventually, you can learn to create complicated, interactive programs.
  • Codeacademy—Offers both Basic (free) and Pro (paid) courses in multiple programming languages, as well as advanced options.
  • Code.org—Free online platform that teaches coding in a variety of different languages. It also has an hour of code course.
  • Amazon Future Engineer—During the current pandemic, Amazon is offering free access to courses with their partners.

Books:

Advanced Online Resources:

  • Dr. Java—An Integrated Development Environment (IDE) that is used for Java programming. I recommend it for those who want to program on their own in Java, without much guidance. This requires installation, though, which can become fairly lengthy. Make sure to install Java on your computer.
  • Github—Excellent for communication and collaboration on code, and very well known among programmers.
  • Git—Git programs are organized by cells that can be run separately while maintaining variables across sections. They are useful for code that works best if run modularly or long-running code that must be tested one section at a time.

Programming Competitions

  • FIRST LEGO League—In this team competition, you can build and program a robot to navigate its way through a board of themed challenges. Both text-based languages or a unique block-based language can be used. There are teams throughout the globe, so it may be possible to join or create one in your area.
  • Scratch Olympiad—The Scratch Olympiad allows students ages 7+ to make creative programs using a block-based platform (Scratch). No text-based programming knowledge is required to compete.
  • USACO—Although mainly for high schoolers, the USA Computing Olympiad allows middle school students to compete as well. The competitions are held several times a year, allowing students to advance through several difficulty levels. This competition is very prestigious, but the Bronze level is a great opportunity for anyone to try out their coding skills. There is also a training site.

Girl Scouts:

Think Like A Programmer—Learn how programmers solve problems by participating in interactive computational thinking activities and complete a Take Action project. Complete the Think Like A Programmer Virtual Journey!
1. Visit classroom.google.com
2. Sign in to google
3. Click the + in the top right corner to join a class
4. Enter classroom code

  • Daisies (grades K-1) vcwtgqt
  • Brownies (grades 2-3) 4ibal7x
  • Juniors (grades 4-5) i7m6kex
  • Cadettes (grades 6-8) jkr7pmb
  • Seniors (grades 9-10) 5surb5j
  • Amabassadors (grades 11-12) uqcfd74