News for hackers. Stuff that matters.
Re:Learn C programming and the rest will come by cloudster314 on Wednesday November 29, 2017 @10:07AM (#15807297)
Thank you for posting this reply as I agree with many of your points. Also, I didn't know about Racket, which looks like a good tool for teaching. I would like to learn more about how you use Racket. Many years ago, my high school taught fortran first and then assembly as the AP course. This was later changed to Pascal. I believe that assembly was used for some of the same reasons the author is suggesting C. However, I also think that learning Python and Go is a better starting point. Learning about pointers is going to cause a significant portion of the class to drop out or tune out. At some, they will need to learn more about memory addresses, but I think that it can come later when performance becomes more of a concern.
Re:Learn C programming and the rest will come by alew1 on Wednesday November 29, 2017 @01:57PM (#15809677)
For our first semester, we use a modified version of "How to Design Programs": http://www.ccs.neu.edu/home/matthias/HtDP2e/ Highly recommended for teaching! I do teach pointers, but in stages — so that students can understand the mutability behavior of Python lists and other objects, we talk about how a Python list variable, for instance, is _really_ storing a memory address of a list. When we move to Go, they actually use pointers, but unlike C's, it's hard to shoot yourself in the foot with Go's pointers. When we finally get to C, pointers seem natural.