Keep Learning 📖 and Growing 🌱

The adventure doesn’t stop here!

Check out the additional VVA courses you can take below.

10152 / 6640 Introduction to Computer Science Full Year, Fall Block, Spring Block 1
10152 Introduction to Game Design & Development Full Year, Fall Block, Spring Block 1
10157 AP Computer Science A Full Year, Fall Block, Spring Block
1

Have an idea for a VVA Computer Science and Programming course that doesn’t exist? Post your ideas below.

But wait; there’s more (free) courses!

Understanding Technology

This is a great starting place for learning the basics of technology. Understanding Technology is created by Harvard and covers six topics: Hardware, Internet, Multimedia, Security, Web Development, and Programming. Taking this course will be a good baseline for you to determine which field of CS to focus on next and which course to take next.

C and Python

Want to learn C and Python? Check out my all time favorite online course CS50x (or the slightly modified version CS50 AP which is an implementation of AP CSP that is endorsed by College Board).

Python

Want to learn the fundamentals of CS while also learning the language of Python? Go here for my absolute favorite Python course (split into 4 parts).

Artificial Intelligence (A.I.)

Interested in A.I. and learning Python? Here’s a new course from Harvard

Java

Purdue has released my favorite free AP CS A course via EdX. This will also prepare you really well for success in your AP CSA course should you take it via Virtual VA.

  1. AP Computer Science A: Java Programming
  2. AP Computer Science A: Java Programming Loops and Data Structures
  3. AP Computer Science A: Java Programming Classes and Objects
  4. AP Computer Science A: Java Programming Polymorphism and Advanced Data Structures

Runestone Academy has released another one of my favorite implementations of AP CSA called CS Awesome.

UPDATE: 12/15/2021: I just discovered that Georgia Tech has released their own Computer Science and Programming in Java course.

  1. Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics
  2. Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms
  3. Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs

JavaScript

Want to learn JavaScript? Check out this excellent resource.

Many Languages

Also, SoloLearn is great for learning the basics of a number of programming languages.

Creatives: Art, Music, App/Game/Web Development and Design

Processing and P5.js (Used to Create Art, Graphics, Games, Music)

CodingTrain teaches Processing and P5.js.

EarSketch Music Production

Create music in a custom DAW using Python or JavaScript with EarSketch.

Sonic Pi Music Production

Want a different approach to music production with a bit more of a challenge and in the Ruby programming language? Check out Sonic Pi.

Mobile App Design and Development

CS50’s Mobile App Development with React Native is another great resource for after you’ve completed Harvard’s CS50x or CS50 AP.

Learn about mobile app development with React Native, a popular framework maintained by Facebook that enables cross-platform native apps using JavaScript without Java or Swift.

Game Design and Development

Learn about the GameMaker Scripting Language (GML) as you create 2D games with GameMaker Studio. Mr. Janetka has a wonderful free course online with all the assets and everything you need to get started. You may use the free/lite edition of the older GameMaker 8.1 Lite or GameMaker Studio 1.2. Other versions of GameMaker do cost money though.

CS50’s Introduction to Game Development is another great option if you’ve completed the CS50x or CS50 AP course.

Web Design and Development

CS50’s Web Programming with Python and JavaScript This course picks up where CS50x or CS50 AP leaves off, diving more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap.

Fundamentals of Web Programming via Runestone Academy.

You’d never know it wasn’t Bach (or even human)

In her spare time, when she can find any, Donya Quick composes music, typically jazz, generally on the six-foot baby grand piano that dominates her apartment’s living room. A baby grand isn’t an all-hours option in a multi-unit building, so she also keeps a Yamaha silent guitar on hand, for the days when inspiration strikes late in the evening.

“I like to compose at 11 p.m.,” says Quick, a lecturer in computer science at Yale. “I have been able to use that piano so little, the keys are starting to get sticky.”

For most of the last two years, Quick, who is originally from Virginia, largely subordinated her compositional impulse to the demands of another type of musical project: The fine tuning of a computer program she developed to create music for her — original, never-before-heard music that sophisticated listeners have mistaken for the fruit of a sublime human sensibility.

In two separate tests, each involving more than 100 human subjects of varied musical experience, participants listened to 40 short musical phrases, some written by humans, others by computer programs, including Quick’s, which she calls Kulitta. The subjects were asked to rate the musical phrases on a seven-point scale ranging from “absolutely human” to “absolutely computer.” In both tests, Kulitta’s compositions rated, on average, on the human side of the scale.

The late Paul Hudak, Quick’s dissertation adviser at Yale, organized a separate series of informal public demonstrations where he juxtaposed a musical phrase composed by Kulitta with a phrase by J.S. Bach, the 17th-century German musical genius famous for his cello suites, fugues and chorales. Hudak then challenged audience members to identify which was which; invariably, even some music sophisticates confused Kulitta’s phrase for work by Bach.

“It really does work, and that judgment isn’t just based on a few people listening to a few of the pieces that have been produced,” says Holly Rushmeier, a Yale computer science professor who has seen the system in action. “I was impressed with the user study that verified how effective the system is. Kulitta produces wonderfully sophisticated compositions.”

Read the full article here.