Hacker News new | past | comments | ask | show | jobs | submit login

A logic class teaches logic, worrying whether people get interested in programming because of it is at best irrelevant and at worst detrimental to the subject(such as allowing the students to brute force it all, missing the point completely). That's like expecting the calculus class to foster programing interests because they use matlab.

Maybe i'm missing something, but what does for-loops have to do with logic in a way that it might be part of the class?




As Leibniz put it, it's a goal of logic to be able to say "well, let's calculate" when you have a dispute. Truth tables are about the simplest way to calculate logic, but they don't scale. I think a good intro course could be made starting there and working up to fancier methods, explaining logic and computing together. My article https://codewords.recurse.com/issues/four/the-language-of-ch... aimed in that general direction, though it's for people who can already program, because I wasn't ready to tackle anything more ambitious.


My problem isn't with the idea of using truth tables to solve problems or using languages to assist in the class, but with the bizarre expectation that logic classes that make you to actually use the subject matter and prove stuff in a -supposedly- scalable way are somehow not modern(whatever that means) and the "right" way to teach such logic classes is teaching the basics of control flow.

You can go in a direction of explaining logic and computing together, and by what I skimmed from your article it does seems to be a cool way to tackle the problem, but that's not what someone who takes a logic class should expect from it, they should expect it from the "topics of logic in computing or something like that" class.


My two cents is that teaching logic, without bogging down in mathematics is teaching how to practically use chisels, saws, sandpaper. It gives you the tools for woodworking, but it alone does not instill the love for woodworking.

You absolutely need something more. Maybe the teaching of logic as a means to solving a larger problem, whose result is beautiful, exciting, engaging. This is why I love robotics for children. How do we make a hand-built toy robot do the things we want it to do using logic?


If you are teaching youngsters, you probably don't want anything more. Show them how to use the tools, and present the higher order concepts as how others have used them. But for young adults and adults, yes we need a map of the bigger picture.


See http://www.cs.toronto.edu/~hehner/aPToP/ for a textbook treating programming and proving in an integrated way with a unified formalism. I think generally how subjects get divided up into courses is too fossilized, especially pre-college, so I might have too little respect for the conventional meaning of a "logic class".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: