The Myths and Realities of Studying Computer Science
hindustantimes.com
hindustantimes.com
The root of the problem is this kind of rote-based Asian education system. I started learning to code when I was about 6 years old because it was fun and it was empowering to be in command of this electronic monster that could do all kinds of awesome stuff at lightning speed. There was simply no other reason at that time.
People learn well if you make it fun to learn.
Have a hackathon with the school computers. Have a contest for students to build the best website for the school. The best chatbot. The most useful application. The most educational application. Give prizes. Make it so children enjoy it. Repeat.
This means that having a hackathon isn't really feasible as the students would struggle with even the basic requirement of having a computer to learn the skills necessary to take part in a hackathon.
Their tiny houses look "quaint" at a distance, but seeing them live in them is different. It was sleeting that day, so they were inside their house with all their blankets on, the one heater wasn't making much a dent in the cold despite all the guests crowded into a room that barely could hold the table. When we went back home they had to sleep in that house: all 5 of them in the one bedroom.
I'm told their income is $45/week, the couple is each working, so figure $90/week. From that they have to make their house payment, buy clothing, food and everything else. Since an American was visiting they were showing off: they probably spent more than a weeks income on just that one meal I ate. (they are too proud to take cash, but we find other ways to pay them back)
A raspberry pi is only $35, but that is more than 1/3rd of their weekly income. It still isn't a useful computer though, you need quite a few more accessories that are not common in poor homes.
So you can imagine the difficulty involved in training oneself for the imminent new world which is going to be shook up by automation. The rich keep making money hand over fist because they can afford to invest in this future while the only thing left for the poor is either a quiet handout, or a life of crime and insurgency.
That is incredibly cheap. When my dad bought our first home computer it was 3 or 4 times his weekly income.
The bigger question is how much of their $90 is discretionary? If they have $5 a week spare then a raspberry pi is affordable.
Although I had a computer at home I did a lot of my learning at school because there was a faster internet connection there, and I could often use multiple computers and multiple screens. At my middle school I regularly stayed at school from the end of class around 2:30pm until 5:30pm or so. It was in those hours that I learned a lot of coding (I built a distributed search engine), web programming (I built a website for the school), network administration (the school needed help administering student e-mail accounts and I wrote various scripts to speed up the process) and so on. I also assembled a computer from scrap parts from other non-working school computers at one point. I wasn't the only one doing these things at that school, either.
When it comes to technology it should be the goal of the school to have students teach the teacher.
The style of teaching where they give you small easy tasks at first and them proceed toward variety of small difficult tasks suits me better. Kinda like the way other classes are taught.
I always liked the programming part and solve problems part more then make it look nice and fiddle with UI or came up with funny sentences for chatbot parts.
Later, at home, I'd make up my own language / CPU hybrids from lists of instructions in notebooks. Whole pages for memory / registers. The intensity of my desire to understand computing is hard to comprehend to me now. I'd spend hours thinking about how to combine what I'd learned to do new things.
When I eventually got a (second-hand) Amstrad CPC464 for home use, the tape drive didn't work reliably. I'd lose every program I wrote when the machine restarted - and certainly, without a tape drive, I couldn't be tempted by games. It was just me and the BASIC prompt, fresh, every day.
If people are genuinely motivated, and they have access to information, there isn't much need for a lot of sophisticated electronics to learn. I'd even write programs on those little toy computers that had two lines of LCD digits, where you'd never see more than two lines of your program at a time.
C++ is taught before C;
C++ is taught before explaining OOP;
Teachers hardly have industry exposure.
Lab exercises are so kiddish with practically no purpose - build a pyramid shape with asterisk.
Complete mismatch between the way real-world software project is built and Final Year College Project is built.
Students passionate about Computer Science are deprived of hacking it because you're supposed to do what's required for your lab assignments.
Government is only interested in focusing, regulating and reforming big names like IITs which help them in PR while Private colleges with a huge inflow of students every year never have to kind about being right and do what students want. And the inflow is primarily because of the culture IT industry has set CS pays off well because of which students flock into this course with no understanding of what am I going to learn and why.
Similarly, C++ is not an OOP language. It's a multi paradigm language, and arguably the generic programming style is better suited to C++ 11 and 14, than the traditional, inheritance heavy OOP style that was in vogue in the 90s.
Teachers just try to finish the syllabus, and students just want to get marks. Nobody is bothered to explore the language, get involved in open-source projects, create something cool of their own.
Having said that I think is admirable that there are students that flourish in these conditions!
Often the "Informatik" is just translated to "Computer Science".
Angewandte Informatik -> Applied Computer Science (administration, application development, etc.)
Praktische Informatik -> Practical Computer Science (compilers, software engineering, programming paradigms, etc.)
Technische Informatik -> Technical Computer Science (IT-/electrical engineering)
Theoretische Informatik -> Theoretical Computer Science (math, complexity, algorithms, etc.)
Also, especially smaller universities just call their degrees "Informatik" and its often a mix of appied, practical and theoretical.
"Theoretische Informatik" is what maps best to the US "computer science"
"Praktische Informatik" is what maps best to the US "software engineering"
"Technische Informatik" is what maps best to the US "electrical engineering"
I even did a master that had the English name "computer science" despite being more "software engineering" than computer science, but it got renamed to "praktische Informatik" later.
I think of IT as networking, operations, etc. Though I guess if you're more on the communications side of both, there's a bit of overlap.
[edit]
I guess a telescope is like a library like quickcheck. Both specific applications of a type of engineering that might help science out.
For instance, civil, mechanical, and electrical engineers are all applications of physics.
The private textbook publishers didn't want to invest in something that would result in their customers replacing all of their books‽ Is there some structural reason for this (maybe Indian schools pay a flat fee for textbooks or something)?
Textbooks don't usually have much resale value, though I'm sure poor students buy them secondhand. They are paper-bound (and not even as sturdy as the average paperback) and tend to fall apart after a year unless you rebind them with cardboard. The quality of the paper isn't great. These are all good things because the books are inexpensive to purchase new (and it's possible some government subsidies may be involved).
My guess is that the publishing company would prefer to keep printing the same book and make minor updates year-to-year, instead of investing in writing a whole new book. Unless the number of students enrolling increases dramatically they're not going to make more money by writing a new Python book.
They'd always have page-sized EULAs threatening brimstone and firing squads if the books were used outside of select Indian universities so there's clearly some generous licensing going on.
Since the same goes for Indian pharmaceuticals (pennies on the dollar compared to retail price in the US), I doubt they can get away with extorting Indian students to the extent they can American students.