# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 14
# self = https://watcher.sour.is/conv/wbjwkzq
Recent computer science education research strongly suggests that "computational thinking"--a way of logical/analytical thinking--is distinct from learning to code. Based in part on that research, my wife and I designed and taught a course for several years and wrote a number of articles about it. The latest was titled "Programming Without Code". While I'm not a "no code" evangelist, I strongly believe that pushing the "learn to code" message is pedagogically unsound and intellectually dangerous, and I wish it would stop.
One observation we note from prior research is that gaining fluency in a programming language takes roughly the same amount of time--730 hours, depending on lots of factors--as gaining fluency in a natural language. Most people don't have 730 hours of free time to spend learning another language, and if they did have that free time there are lots of other things they'd probably need to do with it. Nevertheless, as we demonstrated over and over in our course, students with very limited prior background in STEM can learn a "no code" system for data analysis in a few weeks of class, lab, and homework time--at least an order of magnitude faster. When I say "learn", I mean by the end of those few weeks they are capable of producing non-trivial data analysis programs on their own.
None of this is to say that people shouldn't learn programming languages. Quite the opposite. I think learning a programming language can be a great thing for some people. But a 3 week bootcamp is not enough to really *learn* a programming language, and on top of that it's not necessary to learn a programming language to do really cool stuff with a computer. I urge for more realism about all this, is all.

Incidentally, a number of "no code" systems are Turing complete, so they are as capable as any programming language. Tut tuting that they're not "real" programming only exposes the tut tutter as ignorant of what computing actually is. Older people sometimes have a prejudice against languages that aren't "close to the metal", but I think that comes from a place of ignorance, too. Nowadays, you'd have to be writing things like CPU microcode to be close to the metal--which you're not, come on.
@abucci I'll be starting to teach an introductory course on Python for a university, as part of that 'teach lawyers to code' so I'll take your words into consideration.

I've given that course before, so I kind of know when a student really wants to or it's only a requirement.
@abucci about being Turing complete, do you think that's still something useful?

I mean, we could define Brainfuck as Turing complete, and we have strong discussions on the subject https://softwareengineering.stackexchange.com/a/315924

IMO newcomers don't want the most optimized and engineered way to code, but what's easier to start with. If a Spreadsheet allows me to calculate something, that's a programming language for them!

Im trying to be empathic with the learning curve. I don't like the verb code as a synonym of programming, but I need an English word for: "Being able to make a computer do what I want", code is the interface for that
@eaplmx yeah, I don't think Turing completeness is the be all/end all of programming. Total functional programming languages (especially theorem provers) are not Turing complete, but they are very useful anyway. However, every time I've taught this course I've had at least one student ask about whether the system is a "real" programming language, and at a theoretical level, Turing completeness is it.
@eaplmx cool, good luck! I hope it goes well.
@abucci
As I was discussing on the evil microblogging, with a friend fan of ASM, real programming doesn't exist, you make your own microprocessors and write the machine code in binary with electric signals... Hehe, just joking

I said to my friend, pick your abstractions, that will become real for you (and I remind Matrix, when Morpheus asks Neo "what's real?" )
@abucci thanks dude! I don't know what to expect, but it's my alma mater and the 'best school in town' so I hope everything will go smoothly
@eaplmx I like this video a lot for that: https://www.youtube.com/watch?v=8pTEmbeENF4 , especially starting around 2:30 when he talks about how people who used to code computers directly in binary machine code resisted assembly language as "not real programming" when it first appeared (late 1950s?).
@abucci this video is gold, thanks for sharing!
@eaplmx 👍
@abucci Very interesting points 👌
@abucci Very interesting points 👌