As part of our commitment to education, we’re thrilled to be celebrating Computer Science Education Week. This year, we have teamed up with Playcrafting, an organization that utilizes gaming through events, classes, and workshops that make computer science education available to all. Playcrafting has introduced us to some of their top instructors, who showcase opportunities in computer science beyond primary and secondary education.
Samuel Eng, Instructor — Playcrafting NYC
What was your introduction to the gaming community?
My first introduction to the NYC gaming community was through a game jam, sponsored by Tresensa and Microsoft NY. It was a game jam for kids, and I was signed up as a mentor. I met a bunch of really great people there, and made some incredible friends, while helping kids create their own games using the game engine for the jam.
What do you teach in your Playcrafting courses?
I mainly specialize in Unity and C#. I do a variety of courses, from basic navigation of Unity’s interface, to a complex lesson on syntax and architectural techniques.
How did you learn game dev / design?
It was persistence. I put in the hours, coding and making little things, day after day. I spent hours upon hours over my compiler, making silly little things that weren’t impressive in the slightest. But it all was great, great fun. I was incredibly lucky to go to a high school that offered computer science, and upon that, AP computer science. We learned Java and C, which are invaluable when doing any sort of programming. A lot of times, when I learned a new concept in school, it felt like I learned a new ability, or just got a level up. Learning arrays in AP computer science was like discovering fire!
Who is your computer science mentor?
I never really had a single mentor, but a huge variety of people have helped me in huge ways. My computer science teachers from high school were incredible and introduced me to many crucial concepts. One of my great friends in the game dev community is a seasoned developer who has been extremely helpful to just shoot some questions at. Of course, those are not the only ones—there have been many people that I’ve taken inspiration from, and many internet posts I’ve soaked in.
Outside of higher ed, what are some opportunities to learn dev or design?
Playcrafting is of course one of the great ways to learn about every part of making a game. Outside of Playcrafting are a huge variety of resources. Unity and Unreal themselves make dozens of tutorials to inundate people into their engines, for example.
Tell us about computer science applications in gaming.
In my experience, there are certain aspects of academic computer science that are critical to gamemaking, while the rest of them are miscellaneously irrelevant or only useful in minor circumstances. When I took traditional computer science, I learned about data structures and almost arbitrary algorithms. Perhaps I’m the type of person to learn by application rather than theory, but I found such studies drab. That is until I found a use for it. Hash maps, for example, were ridiculous when I first learned them in high school, but the first time I cringed when looping through an enormous array every frame to find an object, I realized its use.
Outside of game dev, how do coding skills apply in your everyday life?
I’m pretty mediocre on my skateboard, but I still find it amazingly fun. While I’ve only been at it for a short amount of time, I found that learning to skate had similarities to learning how to code—it’s all about persistence and learning tiny steps one at a time.
Who can learn computer science?
Anybody who wants to!
Who can take a Playcrafting course?
Anybody who wants to!
Looking for more coding opportunities? Find more coding tools and resources for students, parents, and educators at microsoft.com/hourofcode.