I was thinking in an earlier thread how flash anim...
# thinking-together
r
I was thinking in an earlier thread how flash animation might be a good introduction to programming, and a lot of you here are working ways to democratise / make programming easier. So perhaps understanding how people learnt to program could offer insights into how to teach people to program and make programming in general less complex. So I'm curious, how did you learn to program?
❀️ 3
πŸ€” 1
I learnt the basics via RPG Maker 2000. You can use it to make little gameboy-like RPG games with point n' click coding (I wanted to make my own Pokemon obviously). At first if I wanted something different to happen I just duplicated the map, so if you entered the forest, and went back to town you'd end up in an entirely new but identical map with characters saying new things. I had 100s of identical maps but the great thing about the RPG Maker is you could download and see inside other people games. So I downloaded someone else's game and they only had one copy of each map and instead they used these things called switches (boolean values) to make different things happen after particular events. Soon my games had 1000s of switches. Eventually, I downloaded another game and it had barely any switches instead it had a single storyline variable that would increment by one every time something significant happened. From there I learnt to use variables in more complex ways, and whilst I only pursued programming as a career fairly recently, I've used a basic level of programming with almost everything I do, and that's stuck with me as a foundation ever since.
πŸ˜„ 1
πŸ‘ 1
r
When I was a kid, we would get the "Things You Never Knew Existed" catalog in the mail. For those not familiar, it was full of mostly useless "as seen on TV" type products. I loved looking at all the weird stuff in that magazine... I somehow convinced my parents to order two things from that magazine. First was a deck of Pokemon cards. Second was "Interplay's learn to program BASIC on CD-ROM" I am a product of late 90's edu-tainment 🀣 I found a youtube video of "learn to program BASIC" for your horror and entertainment:

https://www.youtube.com/watch?v=uBYz9syhNAAβ–Ύ

❀️ 1
😧 1
πŸ˜„ 2
r
@Ray Imber this aesthetic is clearly what FoC projects are missing
🀣 1
πŸ‘Œ 1
o
So technically I was taught QBasic in secondary school but I don’t remember any of it. Then first year in uni picked up Java but never got to the point where I felt competent so I dropped it. Then I found Python In year 3 I think and I loved it! Compared to C, which was another language I dabbled in because I wanted to write embedded systems; It had/has better UX. With C, I guess I was way too sloppy and would get frustrated by the segmentation faults + it was really low level while python had this robust standard library. To get proficient, my gateway drug was competitive programming - Hackerrank in particular. It was/is fun coming up with solution and it appealed to my math/competitive side a lot. Was a side thing and planned to write embedded systems but here I am πŸ™‚
😎 1
❀️ 2
m
html, then copypasting javascript without knowing what I was doing (20 years ago), then c
πŸ‘ 1
g
cheating at warcraft 1 bychanging the .ini files to finish the campaign because i was too young to understand how to be even marginally good at it lol
πŸ˜„ 2
πŸ‘ 2
z
@Ryan King that's exactly how I started coding πŸ˜› I got my hands on a burned copy of Macromedia Flash 5 and started with bouncing ball animations. I remember using a lot of free tutorials. At some point I learned to trigger frame changes with buttons, and that's all I needed to start making cursor mazes where you need to avoid the walls and moving obstacles. All of the obstacles were just animated buttons that you weren't allowed to hover over.
πŸ‘ 2
πŸŽ‰ 1
That's all possible without having to write any ActionScript, which I did eventually learn, but I think it was a steep learning curve from there on.
I wish I could remember exactly what features of the editor/model made things accessible for me at 13. But I'd guess it had to do with having a traditional graphics editor with the capability of attaching code/behavior to objects on the canvas.
p
It was QBasic for me. At some point I discovered that Microsoft Office came with VBA which was fun because I could make buttons and stuff.
r
@opeispo maybe we should be teaching programming in a way that fits into Bartle's taxonomy of player types ( although I'm a bit iffy on psychological taxonomies ) @Zach Potter I'm no scientist but that's theory validated for me! πŸŽ‰
πŸ™‚ 1
βœ… 1
πŸ’― 1
z
As a kid I was briefly exposed to programming through gamemaker and a community college java class. But it never really stuck. As a college freshman I took intro to programming (also in java 😭) but at the time I didnt really have a reason to want to learn to program so it never really stuck. I started programming seriously my senior year. I became motivated to actually learn to program after I learned about people I felt were doing interesting things with computers (Bret Victor, Paul Graham, _why, David Nolen, Rich Hickey). I also felt motivated to learn because I was graduating from an unknown liberal arts school with a low gpa πŸ˜…. I suspect for most people they need to first understand how they can use programming to do things that are meaningful to them (make games, music, money, β€œI want to be like x person”, learn things, etc.) in order to have the discipline to learn. I think starting with a domain specific tool for doing meaningful things like a game maker and allowing users to β€œopen the hood” with programming is a good way to scaffold learning.
πŸ’― 3
r
100% - if they taught me how to play the Mighty Morphin' Power Ranges theme instead of hot cross buns on the recorder in kindergarden, I imagine I'd at least have some musical talent right now.
🀣 2
k
I saw a computer for the first time in my life at age 18, in my sophomore year of undergrad. However, my dad was always sure that it was the field for me (even though he had no computer knowledge either). So he bought me a computer book when I was in IX or X grade -- on dBASE III Plus. And I read it a few times over the next few years. In my freshman year I was declared CS but had no CS courses, and we weren't permitted yet into that holy of holies, the computer lab. But I could access computer books in the library. I read the K&R C book and various others that year (including one that had an Alice in Wonderland theme throughout; I no longer remember the title, but I really enjoyed that one). But still without access to a computer. I was pretty good at Math and Physics in high school, but it was pretty clear by the end of my sophomore year that computers were the thing for me: I never fell asleep in front of a computer the way I fell asleep over my textbooks for other subjects. And the feeling of flow was intensely pleasurable. In my junior year there was a contest to build an AI for a boardgame, and I won it by implementing A* search. So it seems clear that I must have had a few hundred hours of practice in that first year.
❀️ 4
o
If I recall well, I first program in Basic with a Comodore 64 in a school small workshop when I was a kid (maybe 12). Then also at school and with some friend's computer I continue Basic on computers like Sinclair ZX81, MO5 and TO7. I don't recall well all what I have created that time, just one thing: some program related to the 1986 FIFA World Cup (at that time I loved soccer) to show teams and results or something like that with some graphic part. I recall using some grid paper to figure out the pixels for the logo as I had to encode it pixel by pixel, there was no drawing tool at that time. Later I owned my first computer an Atari 520 STF, in fact co-own because it was the family computer. I was amazed by the possibilities of the computer and in particular there was MIDI input/output which allows to use the computer for music and also to play network games (by connecting two Atari with MIDI). I uses mostly for games of course. But I also continued programming with Basic for some little programs every now and then. During all that period it was in fact a bit frustrating, because several time I wanted to develop games, but it was very complicated at that time, and I have started some but never really finished one. But, in fact programming was my thing, so I was happy to create things whatever it was.
πŸ‘ 1
❀️ 3
o
@Ryan King first time I am hearing of that taxonomy. (love how I get exposed to random stuff like this here) πŸ™‚
πŸ‘ 1
j
@Kartik Agaram This reminds me a little bit of my friend Karsten Schmidt's initial experience. He did see a computer, but there was only one for all the kids at his school in what was then East Germany, so he did all of his programming using paper and a (IIRC handwritten) copy of the manual. πŸ™‚ He went on to do all sorts of good work: http://postspectacular.com
❀️ 2
m
I started with basic on the commodore 64 quickly followed by assembly language on both c64 (1985/86) and later amiga. Then pascal, c, delphi, c#, javascript, actionscript3, objective-c, php and knowadays mainly c# and typescript. And I've just started with Rust. Mostly I've learned all of it by myself by reading books/internet, trying things out/building applications and I had formal education here in the Netherlands as well ("Hogere Informatica" in Eindhoven in the beginning of the 90's).
r
@Kartik Agaram's story makes me appreciate that I was extremely privileged to have access to a computer at a young age. It's easy to forget that it is a privilege (even as computer access is becoming more ubiquitous with younger generations). Anecdotally, in my experience, programmers tend to be slightly more auto-didactic than the general population. This thread seems to confirm that. It's an interesting correlation. I'm curious about the connections there. πŸ€”
❀️ 1
g
I started with basic on 8bit computers like Atari 800, TRS-80, Commodore 64, Apple II etc.... I learned by experimenting and typing in programs from various magazines and having to debug the typos out. I can't really imagine that would be a good way to learn in 2020 tho. To the original question though about Flash. My gut tells me it's easier and more interesting to take more complete systems and modify. I'm thinking VBA meets Unity (I'm sure this exists, maybe Roblox?). The point is if I have a simple game and I just double click an object in that game and add 1-3 lines of code to change something, I feel like that would be a more approachable way to start than the start from nothing way. There was a failed kickstarter trying to teach coding in a game (not the same thing as above but similar) https://www.google.com/search?q=code+hero+kickstarter The distinction I'm trying to make from Unity itself (and maybe this not an important distinction, not sure) is that it seems more intuitive to just double click the object you want to edit and get presented with a function to fill out the same way VBA did for forms. That is not how it works in Unity. In Unity you add script components which give you a blank script and I think requires a lot more knowledge what to put in that script where was if it was designed for learning maybe there would be more direction or more or simpler and easily discoverable places to add small snippets of code to change things.
c
I'm another one that came in through gaming, wanting to make games. My first actual programming was something called DarkBASIC. A sort of BASIC with DirectX bolted on. I don't think it was popular outside of the UK, but it used to come on the cover disc of PC Gamer. Probably picked that up around 13yo-14yo. Basically self-taught by editing example source code and seeing what it did. I remember when I first installed DarkBASIC and ran it, I thought it hadn't booted properly. I was like "It's just a blank screen? It's a text editor...? How do I make games". I literally closed it and opened it again several times πŸ˜€. Before that (~11yo) I used to make games in MS Publisher that involved moving images around with the mouse (drag-dropping). Would have worked much better with physical paper, but I wanted it to be a "computer game". Before that (~8yo) I used to make mazes on paper which had sort of RPG-like elements e.g. a corridor with spikes along the side ("You have to go fast along this bit!!"). So I definitely think the motivation was to tied to kind of world-building creativity. I separately loved puzzles and later, maths, and only a long time after learning to program did I realise there was a thing "computer science" that involved maths-like puzzles and thinking.
Dunno if this is a weird thing so say or not but if there's any women out there lurking I'd be really interested in hearing how you got into coding
βž• 3