The school where I work at is incidentally piloting a intro to computer programming course that uses Blender and Python for completely green 10yr olds. I don't see this turning out well; how doesn't it just devolve into a CTRL-C/CTRL-V bonanza?
The school where I work at is incidentally piloting a intro to computer programming course that uses Blender and Python for completely green 10yr olds. I don't see this turning out well; how doesn't it just devolve into a CTRL-C/CTRL-V bonanza?
This is coming from someone who loves VS, but it is not something beginners should have to deal with. Some of my questions that distracted me from actually solving problems (note the technically incorrect usage of certain terms; this is intentional):
- Why is the options menu so huge?
- What the hell is a project?
- Oh my god I clicked in the thing and this red ball popped up and now the code won't move past it!
- Why do I need to build the project? Can't I just run my code in the file?
- Why do new menus pop up when I click "Run"?
- What the hell does "step into" and "step over" mean?
I think that a CLI or super basic IDE with minimal options and capabilities is the way to go when dealing with people who are beginners. On that same note, I do find it disheartening that many upper-division courses at college never bother with IDEs, and teachers tell students to just "figure it out on your own".
Both are valuable to know, but teaching someone how to be a mechanic without ever having them drive a car is a bit of a mess.
I'm a big fan of VS for C# and IntelliJ for Java. Neither of these are Babby's First IDE, but once you have mastered the basic ideas of working in an IDE they pretty much work the way you would expect.
JetBrains' other IDEs and plugins have also been uniformly excellent, in my experience. The VC++ parts of VS are a lot rougher, but I suppose that's to be expected.
Today I fired up Android Studio for the first time, and I literally cracked a smile and did a fistpump when I saw IntelliJ staring back at me instead of fucking Eclipse.
I personally was introduced to programming as a hobby when I was 10y old, in an after-school class, where we used visual basic for applications. This was early 2000's and VBA editor bundled with every Office was suprisingly decent, and I remember quite fondly creatin random poem-generators spamming endless streams of message boxes :D So, if they manage to make their way around some thing ordinary but complex such as spreadsheet/presentation editor, I don't think bloated IDE's would be too much of a hinderance.
So even though in principle, I like the simplicity of repl for teaching somebody, my afternoon class 15 years ago didn't have problem with the "high cognitive load" :)
Regarding blender ... If you want to teach them basics of graphics/3d modeling first and then showcase the basic, and make them interactive with its drag&drop/node-based actor model ... it might be fun. But I haven't used blender in more than 5 years, so I don't really know, how much it supports the "game-dev-teaching" angle.
Unfortunately I have found that NetBeans is often missing some functionality around the edges. For example, it doesn't support parameterized JUnit tests (they run, they count towards success/failure, but don't display in the GUI). That's not exactly new functionality either, they've been around since what, 2010? It's a shame because Netbeans is definitely a more polished environment.
I would suggest that you check out PyCharm and see if it suits your needs. Everything I've tried by JetBrains has been absolutely fantastic.
https://www.youtube.com/watch?v=K5HEyoDb-tw&index=64&list=PL...
I don't understand the appeal of learning programming without the beginning programmer being in charge of control flow.
Attaching scripts to things is useful for people with skills in using 3D tools, but now you have to introduce them to the concept of writing functions to be executed repeatedly in a loop without them being able to see the loop.
Student: How does it know to keep running my script?
Teacher: It runs every frame in a loop.
S: What's a loop?
T: teaches loops
S: Where's the loop that runs my script?
T: Deep inside the bowels of Blender.
S: Oh.
People that say this have almost never actually tried to teach kids programming from scratch. Throw someone in the ocean and they will drown. Build up starting in a kiddie pool and after practice, they could be a life guard.
The same thing happens with computer science all the time. The very first thing taught is C++. I can't think of anything worse for someone who hasn't ever seen an if statement or a loop than to burden them with a deluge of functions whos motivations aren't clear until programming a large project for two years.