Coding is a hobby and a skill that I always continue to practice and enhance so I can prepare myself for my future tech career. It has been 3 years since I started learning Python, and since then I just keep practicing and upping my level in that same language. It has been long enough since I did the intermediate level, and I feel more comfortable, and familiar with Python, I also do some of the intermediate courses and projects. So I decided, this was a good time to start learning a new coding language. The language I choose to learn is C++ because it is one of the languages that will be used in robotics. My goal is to learn all the basic concepts of C++, get familiar with the language, and be able to code a simple project. I plan to join an online course on Codecademy, to have more guidance and practice. Through this experience, I aim to develop my coding skills gain more experience, and confidence, and build a portfolio of coding to see my progress.
1st
During the first few lessons in my CAS experience, I was filled with enthusiasm and motivation. I have been using the online lessons from Codecademy. The first part of this online course is to learn the basic concepts and basic commands of C++. The material was very easy to understand because some concepts are almost the same as in Python. The only challenge that I faced was remembering the different commands to compile and execute. Since C++ is a strongly typed language that is very different from Python, at first, when I was still trying to get used to the language, I always forgot to put the type in the variable. However, after many practice sessions and projects that the course provided, I started to understand and remember the basic concept of C++. The second part of the course will go deeper into C++, where I will learn about conditional statements, loops, vectors, functions, classes, and objects.
2nd
As I completed the C++ course on Codecademy, I felt a strong sense of accomplishment. The second part of the course was more challenging, as it drove deeper into essential concepts. Initially, functions and classes were the most difficult for me, due to their complexity and new syntax compared to what I had previously encountered in Python. However, through trial and error, with a lot of practice, I started to understand and get used to it.
This course has shown me how C++ offers greater control over the system resources, making it suitable for building efficient, high-performance applications. Moving forward, I plan to use the knowledge I have learned to create a small project. Completing this course has inspired me to continue exploring other languages and concepts, strengthening my coding foundation for my future career in AI and robotics.
3rd
To apply the knowledge I have learned, I completed a small project where I built a simple rock, paper, scissors game. This is my first full program in C++.
While building the program, I faced some challenges, especially with the syntax, since I was still getting used to how C++ works compared to other languages that I have learn. One of the main difficulties I encountered was using the rand( ) function to generate a random number for the computer. I wasn’t sure how to set it up properly, so the program has encountered a lot of bugs. After doing some research and experimenting with different solutions, I finally understood how randomization works and fixes the bugs.
This experience helped me gain a better understanding of basic C++ concepts. It also reminded me how important it is to be patient during debugging and to keep trying different approaches when something isn’t working.
Overall, this experience motivated me to keep learning and improving. Completing this project showed me how small programs can already bring big learning opportunities.
Discuss, evaluate, and plan student-initiated activities.
Undertake challenges that develop new skills.