C and C++ at High School
CONALEP
At the age of 16, I entered the CONALEP high school (Colegio Nacional de Educación Profesional Técnica -= National College of Technical Professional Education =-). At this time I was already finishing my English course with a TOEFL level.
When entering CONALEP they ask you to choose a technical career to study. I chose Computer Equipment Maintenance because I already knew electricity and I supposed that it would be easier for me to pass the subjects, in addition to learning some electronics and office automation, which would help me in the future if I were to study robotics at the University.
You could also choose the Computer Science degree, but I didn't choose it because I didn't know what it was. Curiously, although I had already made video games in the past, I still didn't really know what programming was.
MINECRAFT
Minecraft has become one of my favorite video games in life. Interestingly, believe it or not, Minecraft made it easier for me to understand many school subjects.
When I entered CONALEP, I had already been playing Minecraft for about 6 months, and what most caught my attention about playing Minecraft at that time was the Redstone.
The Redstone is an element of Minecraft that works as if they were electric cables (in a way), in addition to being used to make various mechanisms and something called in digital electronics as "Logic Gates".
In the first semester of high school there was a subject called Logic, where we looked at truth tables. We saw concepts such as: Affirmation, Denial, Disjunction, Implication, etc. Where they gave us a sentence and we had to determine if said sentence was a truth or a lie.
The concept was the same as the Redstone and logic gates. Both determined True or False (On or Off), both had their truth tables (Which were identical), conceptually they were the same. Obviously, and it's not to brag, the person who stood out the most in that class was me, and it was thanks to the fact that I had been playing Minecraft for a few months with these concepts.
On other occasions, starting in the fourth semester, I had a subject each semester that dealt with digital logic, electronics, logic gates, multiplexers, etc. And once again, I stood out.
I remember that my classmates sometimes asked me, how is it that you understand the subject so easily? I told them the truth, although no one ever believed me: "Play Minecraft" 🤣.
Also from the fourth semester, we started to see programming for the first time, and thanks to Minecraft's logic it was very easy for me to understand conditionals.
The same thing happened when we saw the binary, octal and hexadecimal system, sending data, saving memory, etc.
C language
My first contact with programming in something other than Game Maker was in the fourth semester of high school.
I had 2 subjects that were dedicated to explaining in one way or another what programming was and how it was programmed in the C language.
I learned what is an algorithm, what is a program or software, what is a flowchart, what is a command console, and many other basic things.
I learned what a language is (high, medium and low level), what a code is, how a code is composed and, above all, the C language.
As the school's computer equipment was not very good, we programmed in an IDE (Integrated Development Environment) that was a bit old, and which certainly hurt the eyes if programmed for a long time. Borland C++.
I made several programs in C, but all very basic. We saw what the variables were and how to manipulate them, the conditionals, the cycles or loops, the input and output of data, and little else. The most we got to see were arrays or vectors.
It was very easy for me to learn how programming worked. Every time we saw a new topic on the subject, it reminded me of a similar feature in Game Maker and related it. Also, as I mentioned above, Minecraft helped me easily understand conditionals and things that have to do with Boolean algebra.
C++ language
In the fifth semester I took a subject on "object-oriented" programming with C++. We didn't really see any object-oriented programming. The only thing we saw was to do the same thing we had done in C, but now with the C++ language.
I liked this language better than C, plus the school's computers had already been upgraded and we could program in the Code Blocks IDE, which looked more modern and was easier to use than Borland C++.
The most complex things I remember seeing were pointers, structures, and how to create functions.
By this time programming was calling my attention more than computer repair. In fact, currently (2022) computer repair and maintenance seems very boring to me 😴.