
The Myths and Realities of Studying Computer Science - rbanffy
http://www.hindustantimes.com/class-of-2018/the-myths-and-realities-of-studying-computer-science.html
======
dheera
> confessed that they simply read the textbook out loud to their students in
> classrooms without computers.

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.

~~~
mataug
The reality is that many children in Asia, especially India, don't have access
to a computer at home. Only children in relatively wealthy families have
access to a computer at home.

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.

~~~
bluGill
People don't understand how expensive computers are to most people. My in-laws
took me to visit a family in Mexico, (My in-laws live 5 miles from the
boarder) seeing real people off the tourist track is and in their home is an
eye opener.

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.

~~~
dheera
Sure, there are places that are actually poor. You have a point there. I'm
talking less about those and more about the places which are actually
reasonably affluent enough for the school to have a few computers yet have
this traditional education system that is only focused on spitting facts and
disciplining students rather than educating them to be thinkers and leaders.

~~~
yorwba
TFA seems to imply that "reading out the textbooks" happens because the school
doesn't have computers, so theory is all they can teach.

------
barrkel
I learned programming from programming books; the only actual computers I got
to use were demonstration units in computer stores, where I'd hang out on
lunch breaks until the staff threw us out. I'd memorize a fragment of syntax,
then try it until I got it right in the store.

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.

~~~
a-nikolaev
This is a fascinating account, thanks for sharing.

------
amrrs
Few institutes in India:

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.

~~~
storgendibal
I agree with all your points except the first two. There is absolutely no
reason to teach C before C++. In fact, modern C++ is a very different animal
from its C origins, and it's often better to teach the correct C++ idioms
first, and then later go into detail on what happens under the hood.

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.

~~~
agnivade
On the 2nd point - what OP wanted to say was that students are just forced to
learn the language without really understanding why it is what they are doing.

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.

~~~
storgendibal
Yep, that is true, and I agree. I found that applied to my math classes as
well, unfortunately. It was not until I came to the US that I started to find
the intellectual wonder in math (versus memorizing stuff). However, I was very
fortunate to have some amazing physics teachers in high school in India, who
taught from first principles, which was simply amazing.

------
criddell
Is it worth pointing out that studying computer science and learning to
program aren't the same thing?

~~~
bluGill
No. While the two are different, you need both to be good at either.

~~~
criddell
I had a teacher that was fond of saying that the only thing he needed to work
as a computer scientist was a pencil and paper. That was around 1989, so maybe
things are different now. That was usually when we were complaining about
using Prolog or SML for some assignment rather than C.

~~~
khedoros1
15 years later, I had professors that said the same thing. And it was true in
a lot of classes. Even though the mid-aughts was a time when almost every CS
student had a laptop to bring to class, the arguments for actually "needing"
them in class were usually pretty contrived.

------
jorgeleo
This is not about learning computer science, this is about learning how to
program. Two very different things. I mean if C++ scare, what until your
homework is to write an interpreter in an object oriented language.

Having said that I think is admirable that there are students that flourish in
these conditions!

------
k__
In Germany it's called "Informatik" and there are different kinds of it.

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.

~~~
pitaj
IT and electrical engineering are very different fields in my experience.

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.

------
W0lf
Programming is to Computer Science what telescopes are to astronomers

~~~
anonacct37
Inaccurate. Software engineering is as to CS as electrical engineering is to
physics.

[edit]

I guess a telescope is like a library like quickcheck. Both specific
applications of a type of engineering that might help science out.

~~~
pitaj
What are some other fields which are applications of CS?

For instance, civil, mechanical, and electrical engineers are all applications
of physics.

------
zeveb
> 'We faced resistance from the private textbook lobby, who didn't want to
> invest in fresh textbooks for Python'

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)?

~~~
jogjayr
Typically in Indian private schools the students are responsible for
purchasing textbooks at the start of the school year, not the schools (I don't
know how it works at public schools). And they won't change their textbook
mid-year.

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.

------
kapilkaisare
We should probably link to the main article:
[http://www.hindustantimes.com/class-of-2018/the-myths-and-
re...](http://www.hindustantimes.com/class-of-2018/the-myths-and-realities-of-
studying-computer-science.html)

~~~
tlb
Changed from [https://cacm.acm.org/careers/220766-the-myths-and-
realities-...](https://cacm.acm.org/careers/220766-the-myths-and-realities-of-
studying-computer-science/fulltext), thanks

