Computing Kids aims to teach young students problem solving skills while exposing them to the powerful and financially lucrative world of computer science. One way we achieve this goal is by engaging kids through teaching game development with Java.

Why Game Development?

Several studies have shown that game development is a strong motivator for young students to learn computer programming. Consequently, we focus on having our students design and develop their own games but within this framework we teach them fundamental computer science concepts such as problem decomposition, logic reasoning, abstraction, sequencing, iterative design and troubleshooting.

They implement these concepts via basic language constructs that are composed together and played back as a gaming application. We teach programming in a manner that requires students to break-down a complex problem into smaller more manageable components and then solve (program) these components individually. This problem solving methodology transcends most scientific fields and all engineering disciplines. Students are encouraged to create and share their games with friends, relatives and well-wishers.

Why Java?

Java is one of the programming languages we teach because it’s a popular, well used, computer programming language that has withstood the test of time (Java was developed over two decades ago). It is an extensible object oriented programming language with a rich set of open source software libraries (small programs). There is a large and active community where seasoned programmers help and share their knowledge making application development easy. Furthermore, it is platform independent and free. Java is the most popular computer programming language on the planet! It is everywhere! From laptops to data centers, game consoles to scientific supercomputers, cell phones to the internet.

Our instructors work hand-in-hand with students analyzing different game scenarios and recreating some of them within the game design software. In parallel students are introduced to previously mentioned concepts along with algorithms, design patterns, and logic. They also learn basic programming constructs like selection, recursion, events, and loops, all of which are fundamental to almost all computer languages.

…and it works!

We have seen it first-hand and prior research has shown that game design helps young students develop critical thinking and analytical problem solving skills. Our trained and dedicated instructors help the students see the connection between game design tasks and general problem solving, and between trouble shooting and iterative design. Making mistakes and learning from them is a normal part of computer programming, it is also a great way to gain life-long insights. We embrace this form of learning in our courses as we continue to inspire youth to become not just consumers, but innovators of technology.