Even MIT abandoned Scheme and SICP and switched to Python. There's a beautiful elegance to that approach. It gives a sense of the mathematical foundation of computer science. It's not that useful for building large programs from off the shelf libraries, which is what almost everybody does today. At one time, computer science required a good understand of what's in Vol. 1 of Knuth. That's not in much demand any more.…
Where can one find those hash table theorists? (Just curious, that sounds really interesting actually)
Why did we ever think a student's first programming language didn't matter?
121–130 of 286 posts
Re: Why did we ever think a student's first programming language didn't matter?
#122The syntax is so unlike other languages that I might have been better off learning C outright.
Re: Why did we ever think a student's first programming language didn't matter?
#123Even MIT abandoned Scheme and SICP and switched to Python. There's a beautiful elegance to that approach. It gives a sense of the mathematical foundation of computer science. It's not that useful for building large programs from off the shelf libraries, which is what almost everybody does today. At one time, computer science required a good understand of what's in Vol. 1 of Knuth. That's not in much demand any more.…
There's really no reason to go to university if all you want is to write some Python scripts. University is not vocational training.
University started out as a trade school for the clergy, then added law and medicine, and then became a finishing school. At all points the median student was more interested in drinking than studying. Scholarship has always been a minority pursuit at universities and research universities haven’t even existed for 300 years. Universities are now and always have been vocational institutions. The supply of idle rich who don’t need a job has never been all that high.
Re: Why did we ever think a student's first programming language didn't matter?
#124There’s a lot of folks in this thread who’ve shared their personal experience with learning and teaching programming languages. Some attempt to generalise this experience into principles of how much the first language matters and how to choose it. It would move the conversation forward if people were up front about which metric they’re trying to move. For example, here are two equally valid pedagogical goals that are…
Lets keep the standardized tests with the standardized humans: absent.
Re: Why did we ever think a student's first programming language didn't matter?
#125Earlier quoted context omitted.
There's really no reason to go to university if all you want is to write some Python scripts. University is not vocational training.
> University is not vocational training. I'll believe that when employers stop giving preference to people with university credentials. Until they do that, the primary reason most people go to university for CS will continue to be 'for vocational training.' People follow incentives.
Just because there is a need for vocational experts doesn't mean the universities should try to fill it. The place in society for universities is not a short-term-practical one.
Re: Why did we ever think a student's first programming language didn't matter?
#126Earlier quoted context omitted.
The grandparent comment was about teaching, so I interpreted the parent comment to mean that "innate ability matters much more than good teaching", which my personal experience teaching people disagrees with. And sure, the statement "not everyone can understand computer science" is technically true if you include people with mental disabilities. But in reality, some people draw the line a lot higher as a form of gate…
I've spent about 2.5 years teaching programming. Students really do seem to have some innate programming difficulty slider, which absolutely matters. Some of my students worked their absolute butts off to learn programming, and asked for help constantly (which I gave gladly). And they still barely scraped by. Other students seem to learn programming extremely easily. I would show them something one day, and the next…
* The student might have other stuff going on in their life at the time. Heavy course load, personal drama, etc..
* The student might have other interests, so they don't devote as much time to studying as they should.
* The student might not yet have had a good math education, so their abstract reasoning skills lag behind. I think it can still be learned, but someone in a college compsci course just doesn't have time to catch up.
I've been an undergrad/grad TA as well as a tutor for high school students in math/programming. My own experience tells me that learning is very "path-dependent". Students will be more receptive to my way of teaching if their background is similar to my own. Part of my job as a teacher is (was) to try to recognize the gaps in their background, but sometimes I do have a lot of trouble understanding what path a student took before coming to me, so it's harder for me to help them.
Re: Why did we ever think a student's first programming language didn't matter?
#127Earlier quoted context omitted.
> University is not vocational training. I'll believe that when employers stop giving preference to people with university credentials. Until they do that, the primary reason most people go to university for CS will continue to be 'for vocational training.' People follow incentives.
Employers don't prefer university graduates because universities offer better vocational training. Universities teach scientific thinking which makes students better employees. Universities don't teach specific skills but they teach the underling principles.
Re: Why did we ever think a student's first programming language didn't matter?
#128Earlier quoted context omitted.
>> I don’t think everyone can understand $RANDOM_DISCIPLINE. > This is a bold claim. I disagree. What makes computer science so special that it can be understood by everyone, while it is generally accepted that other disciplines cannot? After all, saying "Not everyone can understand chemistry" doesn't draw the same ire.
Why do you believe that "not everyone can understand chemistry"? Perhaps I should be a little more specific. When I say "everyone" below, I mean "the overwhelming majority of people in the average range of human intelligence, without debilitating mental deficiencies". This group spans virtually everyone you are likely to encounter, from car mechanics to school teachers, to postal workers, to professional software eng…
At least 5% of the population can’t understand algebra. If you can’t do algebra then you might be able to follow recipes but you can’t do chemistry. Without algebra you can’t do stochiometry and that’s essential for even high school level chemistry.
Re: Why did we ever think a student's first programming language didn't matter?
#129In my opinion the best sequence looks something like this: - Machine language (not assembler) — Assembler for a couple of different architectures (i.e: Von Neumann vs. Harvard, CISC vs RISC, etc) - Forth (written from scratch with one of the above) - C - LISP - APL - C++ I think of everything else beyond these mostly as C/C++ cousins or derivatives. With languages like Javascript and Python it’s far more about learni…
I recall the class which used a 6800 derivative in one of my college courses had a _very_ well written developer's spec manual for it. Complete with a (large) table that showed the logical relationship between the binary value of an instruction and the assembly mnemonic.
Today that might be RISC-V.
'x86' and ARM should also be used, and at least a taste of very constrained systems for super cheep stuff and very low level state machines for components would help round out the package.
Forth should be a semester project for one of the classes. This should include some practical case where either a manually clocked serial link, a set of dip switches and memory transfer captures, or some other constrained input method (maybe that 'boot sector forth' I recall seeing recently?) are used to trickle the core into RAM and then add higher level instructions. This might also include a small boot blob that inits the platform and opens an external data link; a useful example for subsystems.
Re: Why did we ever think a student's first programming language didn't matter?
#130Leaning the second language is certainly hard, but learning your fifth or sixth language or so becomes easier? Hopefully? At least if you put forth any effort or interest I would think? If anything, I feel like the biggest trap people fall into is assuming they know a lot of languages when they really just know a lot of Algol-descendants... you should make sure to spend time really building something meaningful at le…
Then again switching programming paradigms not so easy, but when you can...