Prepare for a very large infodump.
My first 3 semesters while at an engineering college at Texas A&M University, everyone starts out as “general engineering.” Then after, you would apply into a major such as aerospace, computer science, or mechanical.
And in those 3 semesters, all of them required programming. In fact, your first semester in an engineering college may likely be a programming course. And this aplies to all engineering pathways.
Around half of the individuals in my general engineering program dropped out before getting into an engineering major. People drop out due to the difficult mathematics, electrical engineering, programming difficulty, or a multitude of factors such as personal/family. However, many of those accepting college applications are more likely to admit someone into engineering with higher levels of programming and mechanically applied experience → Which VEX Robotics can afford you.
By learning C++ before you graduate high school, or by taking a computer science course in high school, you unlock so many more opportunities and reduce academic friction in the present and future for you.
- You give yourself more libraries and systems to utilize, which gives you a more competitive edge in VEX Robotics.
- You can put that you are familiar with C++ in college applications to improve your odds if things end up holistic (holistic meaning that you are accepted for your knowledge in the industry instead of mere general academic performance).
- You have an easier time your first three semesters, allowing you to get more familiar with engineering and get an academic bump at the start of your career.
So I do understand learning blocks introduces you into programming at the start. But I strongly suggest at some point to take a 6 month break from VEX and learn C++ (or at least taking a Computer Science course if available). It is only one time, but you will have that programming knowledge for the rest of your life.
The hardest thing about programming at the start is mentally bridging digital programming with actions in the physical world.
I remember in LEGO when they had something similar to block coding. It was quite simple, but it introduced me into the programming space a lot easier than jumping straight into text. I think the fact that there is something visual about blocks that lets it be low barrier and not as stressful to learn. This was the biggest assistance that bridged the digital world to the real world actions.
Also at the time there was Roblox, which was way easier to code in 2014 compared to 2026 because everything was replicated between server and clients (big security issue at the time, but at least made programming games so much easier than now).
I remembered using the Roblox having a toolbox and I would see what the community made to start learning to program:
I learned that I can modify pre-made graphical user interfaces (GUI’s):
I then learned RobotC when I was in VEX:
ROBOTC
At the time, I paid around $70 in 2016, or around $95 today to program in RobotC in VEX Robotics. Oh yeah, programming required paying unless you used PROS. This was in C, and honestly this was where I started to learn a bit more about programming.
In 2017, I took a computer science course in high school and dropped out because I was struggling with the history sections. But then, I took computer science again in 2018 and got an A in the course. I learned about Java and data types like strings, floats, integers, and classes.
The programming language in my computer science course was NetBeans for Java:
Afterwards, at around 2018-2019, VEX switched to V5, and everything was primarily VEXCode and PROS. There was no VSCode extension, so I programmed with this interface.
One big issue I faced was that any file updates sometimes didn’t appear in the explorer menu on the lefthand side. But the auto-generated robot and motor configuration was very nice however. → Note I was also taking computer science II, so I was learning Java as well which translated quite decently to C++.
The documentation and simplicity of VEXCode is the strongest strength. I even made a custom GUI auton selector with buttons and cool sensor readings, which was so cool at the time. (Currently working with TeamYouTube right now to recover the lost videos, so I need some time) Delta IV Menu (C++)
Afterwards, in around 2018/2019, I switched to PROS. I downloaded PROS with Atom and started programming and started to learn PID programming. However, at VEX Worlds in 2019, Atom completely wiped and corrupted the code in the save file. I did have a backup, but then Atom corrupted the backup too: Some basic questions from a newbie Robotics team - #9 by anon4126930
I, however, stuck with PROS until my last season. My last season, I switched to VEXCode, and had no major issues since. The documentation is hard to find, but once you get familiar with where to locate the documentation it was much easier to program. In fact, my first year in VEXU (WHOOP) in 2022, we used VEXCode and clean sweeped Texas State Championship in 2022 until later when the team switched to PROS, and the team cleaned sweep Texas State Championship in 2023 again.
In 2020, entering my new engineering program, I learned Python. Python is absolutely amazing language and I don’t blame teams for switching to it after blocks, but I just believe it’s better to just bite the bullet and learn C++ and data types because Python uses data types under the hood too. Having more understanding of what’s going on “under the hood” is very powerful because programming is more predictable.
As for VEX Robotics, I believe that VEXCode and PROS both are quite powerful but PROS typically have more libraries available made by the community. In fact, I made my own library that works for both PROS and VEXCode too, proving that both are equally just as powerful.
And here we are. In this order, I learned the following:
- LEGO Block coding (Blocks) 2011 (Personal)
- Roblox Lua (Lua) 2012 (Personal)
- ROBOTC (C) 2016 (VEX Robotics)
- Java 2017 (High School)
- VEXCode (C++) 2018 (VEX Robotics)
- PROS (C++) 2019 (VEX Robotics)
- Python 2020 (College, General Engineering)
- LaTeX 2022 (College, Computer Science)
- JavaScript 2022 (College, Computer Science)
- PhP 2023 (College, Computer Science)
- SQL 2023 (College, Computer Science)
- C# 2024 (College, Computer Science)
- R 2024 (College, Business Minor)
Man… ![]()





