Live data from Hacker News

If not SICP, then what? Maybe HTDP?

stevenrosenberg.net

71–80 of 227 posts

Re: If not SICP, then what? Maybe HTDP?

#71

On htdp.org: https://htdp.org/2018-01-06/Book/part_prologue.html "If programming were just about numbers and arithmetic, it would be as boring as mathematics." What's wrong with this author?

From an AI point of view, all subjects are the camouflage of mathematics. If a person with good math thinking and boredom can learn many subjects as quickly as possible.

Re: If not SICP, then what? Maybe HTDP?

#72
post #52

They may even come to the conclusion that programming is a shallow activity and that what truly matters is an understanding of domain knowledge THE HORROR ;) In all seriousness, IMO we'd have much better programs if developers spent more time thinking about domain knowledge and less time believing that "programming" in isolation is the important part.

We need both. Not enough domain knowledge and you end up with software that isn’t a great fit for what it’s trying to do, but without enough computer science and software engineering knowledge and we end up with all of these stupidly memory-and-cpu-hungry applications that are all the rage these days.

Re: If not SICP, then what? Maybe HTDP?

#73

"that make me jump through intellectual hoops made of mathematics" There is actually surprisingly little mathematics in SICP. What is does have are mechanisms that are then analysed and modelled, after which the mental model is adapted so it can be turned into computational model that is a faithful representation. Some of the presented mechanisms are mathematical in nature, but you don't need a mathematical backgroun…

This comment reads like a very partisan, overstated puff piece in defence of the book.

The Scheme aspect of SICP, and other decisions made by the authors, matter a lot because, contrary to what you seem to be claiming, there are many different approaches to and flavours of programming. There isn't a single core philosophy that, once imparted to students, "clues them in" to the essence of the cultures/styles/models deployed by Forth, Haskell, APL, Prologue, C etc.

Re: If not SICP, then what? Maybe HTDP?

#74

> If not SICP, then what? Maybe HTDP? I can recommend "Concepts, Techniques, and Models of Computer Programming" (CTM or CTMCP). Book's page: https://www.info.ucl.ac.be/~pvr/book.html Quote from www.c2.com: "Like SiCp, CTMCP is first and foremost a book on programming, not on Oz or Scheme or anything else. And if SiCp is the reigning king of such books, CTM is a worthy challenger to that particular throne."

I found CTM a harder book to read than SICP for some reason, so if the author finds SICP too much, then they probably won’t like CTM. I personally thought SICP and CTM were both great books.

Re: If not SICP, then what? Maybe HTDP?

#76

> If not SICP, then what? Maybe HTDP? I can recommend "Concepts, Techniques, and Models of Computer Programming" (CTM or CTMCP). Book's page: https://www.info.ucl.ac.be/~pvr/book.html Quote from www.c2.com: "Like SiCp, CTMCP is first and foremost a book on programming, not on Oz or Scheme or anything else. And if SiCp is the reigning king of such books, CTM is a worthy challenger to that particular throne."

Speaking of CTM, it's a little unfortunate that the modernization of Oz's implementation as Mozart is progressing very slowly.

Re: If not SICP, then what? Maybe HTDP?

#77

It's always interesting seeing the textbooks that are renowned by professors/people with prior knowledge, yet disliked by actual students. The Feynman Lectures on Physics is a pretty famous example (iirc, the actual course was received pretty negatively by students). I wonder how many people have actually sat down with a bunch of students and done a real experiment with textbooks. It's quite easy to think that a text…

Academia is double Dunning-Kruger. Most students don't know what they don't know about the topic, and most professors don't know what they don't know about teaching it.

It's amazing anyone gets out alive.

Re: If not SICP, then what? Maybe HTDP?

#79

It's always interesting seeing the textbooks that are renowned by professors/people with prior knowledge, yet disliked by actual students. The Feynman Lectures on Physics is a pretty famous example (iirc, the actual course was received pretty negatively by students). I wonder how many people have actually sat down with a bunch of students and done a real experiment with textbooks. It's quite easy to think that a text…

> people with prior knowledge, yet disliked by actual students

This is the key!. I was about to say SICP was great then, yeah, I read it only when get interest in build compilers and after 20 years on the craft.

I think you need a progression on material:

1- Start with a highly practical book more alike build little experiments/programs

"Build a pacgam game" "Make a calculator", etc... ie, do a single pass for the minimal amount of info necessary to build a practical yet rewarding project.

2- Now the student have accomplished their first success, slowdown a little and put a small amount of theory here and there, but put focus on:

"Discipline and follow good practices" then re-do the projects right this time.

To build a analytic mindset move to:

3- How a computer think, using debuggers, disassembles, etc.

You get your hands dirty and see the magic behind the magic

And at the final step (is necessary to put some more steps before, just wanna get to the point):

4- Finish with a well round, deep and wide treaty about the field like SICP, so with some practique behind you can actually see what you have done and how it relate to the new info you are getting now.

Also, this will broad your horizons and open the appetite to get in the deep more.

----

I think is to be like how is learn to cook. You start doing simple yet good dishes, without worry to learn first the theory. You move to more challenge, learn techniques tools and tricks of the trade. Finally, move to see the theory behind, round your mental framework and challenge yourself in come with exotic, new dishes...

Re: If not SICP, then what? Maybe HTDP?

#80
post #52

They may even come to the conclusion that programming is a shallow activity and that what truly matters is an understanding of domain knowledge THE HORROR ;) In all seriousness, IMO we'd have much better programs if developers spent more time thinking about domain knowledge and less time believing that "programming" in isolation is the important part.

I came here to comment on this. Its probably actually true :)

As a software engineer, I find HtDP awesome. As a teacher, I found it lacking. I think the best way to teach programming is in the context of a domain of interest to the student. Problem is, you can't write an universally usable book like that.

Post reply on HN