From our mobile phones to our household appliances, the technology we use daily is grounded in code. These days, anything seems possible given the right code—from cryptocurrency, to self-driving cars! Literacy in various programming languages is an in-demand skill, but where to start? Like with anything else, it’s important to be in it for the right reasons: “You first need to have a genuine interest,” says Vardan Kemechechyan, programming workshop leader at TUMO. While being a good problem solver is a key asset, he says it doesn’t take much more than basic arithmetic to get started.

The world of programming is full of possibilities, and it’s easy to find your niche once you get into it. One thing’s for sure: Programming and math are interconnected, and what ends up happening, says Vardan, is that learning to code makes students fall in love with math.

Level I

Kicking off their programming education, teens in level 1 develop their analytical thinking, the most important skill for completing the levels in this focus area. Students are introduced to JavaScript, which is the basis for learning other, more complex languages like C++, Java and SQL. “Anyone with a computer and Internet access can work with JavaScript. That’s why it’s the most common language in the world,” says workshop leader Levon Ghasabyan.

Level II

Moving on to the second level, students complete practical assignments aimed at familiarizing them with object-oriented programming, a programming approach that comes closest to human thinking. Rounding out their tech skills, students are acquainted with HTML canvas; the concept of libraries; learn how to use documentation; and are introduced to the basic functions of the p5 library. Using all this new knowledge, teens finish off the level by creating The Game Of Life, an artificial intelligence game fully developed by students in this level. What objects and characters end up in the game depend solely on the limits of students’ imaginations! This level is the best one for workshop leader Artak Kolyan. “Here, the students create artificial reality, which is very interesting and a great platform to use object-oriented paradigms.”

See a few “Game of Life” programs created by TUMOians in the second level of the workshop.

Level III

It’s all about web scraping. At this stage, students write code to automate data search and extraction across the web. By gathering the data into a database, students can analyze statistics and find patterns stemming from a huge pool of information. This process uses the newest tools, like GitHub, JupyterHub, and various libraries, posting the results on the heroku platform. “Of course, the most important part of all this is Node.js technology, a real server-side programming experience with JavaScript,” says workshop leader Vardan Kemechechyan. (OK, we admit that things get pretty complex at this level and it might be hard for those who aren’t as tech-savvy as us to understand—but trust us, it’s all awesome!)

Take a look at this data collection and visualization project, including various statistics from all the countries in the world, created by 3rd level programming TUMO Gyumri student Seryozha Sargsyan.

The three levels of programming workshops, explained by workshop leader Artak Kolyan.

According to Vardan, completing all 3 levels, especially in conjunction with the web development and game development workshops at TUMO, offers students a real chance at entering the professional world of programming. “Students who complete the 3 levels of programming have enough knowledge to work on larger projects. The most important condition for success in this field is to never stop learning, even after the workshops are over. The programming industry is very fast-paced,” says Arevik Arevyan, workshop leader.

In any case, to stop learning would be impossible at TUMO. In addition to the core workshops, tech leaders from Airbnb, Twitter, Google, and other large organizations, periodically visit our centers to work with teens on increasingly ambitious projects. Like we said, anything is possible with the right code.