I've interacted with several HS graduates from India, and those who opt for CS in HS (11th and 12th grade; usually ages 16-17) are usually taught C++ in Turbo C++ 3.0. This release of Turbo C++ was released in 1990.
That's... not great. For reference, the C++ programming language was first standardized in 1998.
Thus, most graduates never learn proper C++ in the sense that a lot of what they're taught doesn't even compile on modern compilers and they aren't aware of many new* features.
That said, this project is still pretty impressive for an HS student, even if it's written in ancient C++ and requires DOS to run :)
*new = anything introduced to C++ in the last three decades (after 1991).
However, apparently they've introduced Python3 last year, so hopefully the situation will improve :)
It was taught in Turbo C++, Syllabus was very basic ones which has basic i/o, file stream, loops, etc.
So at that time, wanted to explore something out of box, and for the 12th Grade Project, School did restrict to only Turbo C++ at that time, so the thing which was most possible solution was to hack around with that and having a mouse pointer and a GUI was a pinnacle moment at that time when the resources was limited.
But now School's Board of Examination (CBSE) did change syllabus to Python did move to Python scraping C++.
I agree it's unfortunate that schools are/were slow in catching up to a modern programming environment. This highschooler's project was made in 2015, so the students were learning a language standard/platform that was a couple decades behind.
It makes the project even more impressive, given the technical constraints that the student had to work with, in addition to their young age.
It's a good example of the "hacker" spirit that we encourage on HN. Software (and hardware I imagine) engineers deal with similar situations often, having to work around the limitations of legacy codebases or platforms, challenging what it can be made to do.
Another comment mentioned that some schools moved to teach PHP instead of C++. Granted that's an improvement in some aspects to Turbo C++ 3.0, I think the latter might have been better in terms of learning the real fundamentals.
The downsides are that it doesn't run on modern machines, is difficult to maintain, and you need to implement dozens of workarounds to do basic things that can be done in modern languages with just a couple lines of code.
C++ is not the language I'd use to get many people attracted, but if that is the only language the teacher is able to teach, it's better than nothing.
10 years later when I worked as a substitute teacher it was PHP instead which felt more odd as a starting general programming language ...
It was very very basic stuff though.
Still, I was able to basically walk through my first year at Uni (which was exclusively C programming) with almost zero effort.