HNHacker News
TopNewBestAskShowJobs

acbart

912 karma · joined August 12, 2013

https://acbart.com
submissionscomments
acbart··on Snap! 6 is here, and it's all about scale
You're awesome too Brian! Didn't mean to be exclusive, I know just know Jens better from SIGCSE.
acbart··on Modular Game Worlds in Phaser
I really enjoy Phaser, although I vastly prefer to use it with Typescript instead of JavaScript.
acbart··on Snap! 6 is here, and it's all about scale
Very well deserved, Jens is an awesome person.
acbart··on Python for Kids: A Comprehensive Python Development Tutorial for Kids
That's nifty. I've seen the "drag text code" a few times, and I think it's an interesting model. Certainly helps with the discoverability problem. I actually had that feature in BlockPy at one point, but I believe my collaborators said it was too confusing for the students.
acbart··on Python for Kids: A Comprehensive Python Development Tutorial for Kids
If by "translation" you mean Mutual Language Translation (turns text into blocks, and blocks back into text, as you type/drag blocks) then yes. If you mean "translation between human languages" then less so. It supports whatever you can do with Blockly, minus whatever things I broke adding the MLT support. I'd love a PR to handle other languages, but again... time.
acbart··on Python for Kids: A Comprehensive Python Development Tutorial for Kids
That's my hackish unit tester. You can see more information on the console log.
acbart··on Adults with ADHD show decreased function in brain dopamine reward pathway (2010)
It sounds like you've had too many bad reactions to want to keep trying, but did you try Concerta/Ritalin? That's what I was on when I was younger, and it seemed effective. I'm on Vyvanse now.

The only major side effect that's a problem for me is the utter loss of appetite. Frustratingly, it's not that I'm not hungry, I just don't want food. So my stomach will start hurting and I force myself to eat, but it's a challenge. Plus earlier this year I had to give up sugar to account for prediabetes, every day is a struggle to make myself get enough calories. Still, the ability to stay focused on a task for 15 minutes, or even just process my students' sentences, is worth it.

acbart··on Python for Kids: A Comprehensive Python Development Tutorial for Kids
I really wish some folks interested in the K-12 space would steal BlockMirror[1] from me and put it in more editors. I have BlockPy[2], but I'm not really trying to move aggressively into that space - I'm just a researcher. Still, I feel like having a dual block/text environment for Python would help make Python way more accessible to younger learners.

[1] https://blockpy-edu.github.io/BlockMirror/docs/index.html [2] https://www.blockpy.com/

acbart··on Using Microsoft Word with Git
Wait, wouldn't this actually be fairly simple to set up? I'll admit my Git knowledge is a little shaky, but couldn't you set up a Hook that runs when you commit a Docx/Pptx/etc. file to unzip it in memory first, and then another Hook when you checkout to zip it back into the original structure? I guess conflicts are the major issue... asking users to navigate the XML/binary structure stored inside could be a mess. A GUI could help, but that would invoke different issues.

ETA: Apparently right below this comment someone has already created this: https://news.ycombinator.com/item?id=24303611

acbart··on What is the core of the Python programming language?
I love Skulpt! I'm so glad that it's being actively maintained. Thanks for all your hard work!
acbart··on After GitHub CEO backs Black Lives Matter, workers demand an end to ICE contract
Which part of the definition do you take issue with in this context?

> Concentration Camps: A place where large numbers of people (such as prisoners of war, political prisoners, refugees, or the members of an ethnic or religious minority) are detained or confined under armed guard —used especially in reference to camps created by the Nazis in World War II for the internment and persecution of Jews and other prisoners

acbart··on The PEPs of Python 3.9
I'm extremely excited about this. I had been using a short-hand literal-based syntax like [int] for a while, but list[int] is obviously so much better.
acbart··on Twitter tags Trump tweet with fact-checking warning
I disagree, giving certain folks a platform only raises them up and legitimatizes them. Didn't the Reddit folks discover that shutting down hateful subreddits prevents them from popping back up effectively? I believe this is the citation[1].

[1] http://comp.social.gatech.edu/papers/cscw18-chand-hate.pdf

acbart··on Students think the College Board is running a Reddit sting
I like to the curriculum I'd been developing for the past few years was scaling pretty well. Most of the technology is reaching enough stability that I can give a ton of automated feedback without killing myself, I had a pretty low DFW rate, most students could complete my final programming problems in a proctored exam situation, and evaluations came back high. I wasn't happy with my project rubric scores, but I think I was on the way to progress with that and it was partially just too high expectations (I just want students to test and decompose more). I'm interested in how we can scale introductory computing experiences, and I think I was on a good path before they yanked out my proctored exams out from under me :)
acbart··on Students think the College Board is running a Reddit sting
Sadly, certification is more or less our job now in higher education. Wasn't how the system was designed, and isn't what most faculty think about. But it's really becoming accurate.

And I can't do that without proper assessments!

acbart··on Students think the College Board is running a Reddit sting
Djikstra - not a professor I would want to emulate.

I'm unconvinced that oral exams provide the most secure and consistent form of assessment. I'm not even sure how to evaluate such a claim, though, so it may have to stand as an opinion.

acbart··on Students think the College Board is running a Reddit sting
Well, it's not an easy suggestion, but certainly an interesting one. I'm going to think more about this one. Thanks for providing a new thought on a hard problem!
acbart··on Students think the College Board is running a Reddit sting
Yes, thank you for the clarification :)
acbart··on Students think the College Board is running a Reddit sting
Reduces the risk, but doesn't prevent it.
acbart··on Students think the College Board is running a Reddit sting
I'm 1-on-1 interviewing my 59 Algorithms students this semester. 20 minute interviews, and I have 2.5 TAs to help offset the workload. Starts on Wednesday, I'm absolutely dreading it. This would never scale to my 180 Intro students that I'll be getting this fall.
acbart··on Students think the College Board is running a Reddit sting
I'm 1-on-1 interviewing my 59 Algorithms students this semester. 20 minute interviews, and I have 2.5 TAs to help offset the workload. Starts on Wednesday, I'm absolutely dreading it. This would never scale to my 180 Intro students that I'll be getting this fall.
acbart··on Students think the College Board is running a Reddit sting
I still have yet to hear anyone propose a workable solution for the ultimate problem of remote assessment in CS: hiring someone to just do your work for you. Everyone keeps saying "oh just make it project-based" like I didn't have a student last fall who hired someone to do his final project. I only detected him cause the person he hired sucked and left bread-crumbs; how many students did I not detect because they hired competent people?
acbart··on Show HN: An online collaborative UML editor using PlantUML
Blockly is definitely open source[1]. Scratch looks like Blockly because Scratch is now written with Blockly :)

[1] https://github.com/google/blockly

acbart··on Colleges at the breaking point, forcing ‘hard choices’ about education
Perhaps if the conservative voices would stop saying stupid stuff like this, they wouldn't be systematically excluded from the conversation. In my particular subfield of CS, there's a "self-identified conservative" who's been more or less utterly rejected from the community because, in addition to their bonkers political opinions, it turns out they also have bonkers scientific opinions. In fact, I'd go so far as to say that they reject the scientific process. It's hard to find that compatible with doing science. Perhaps I have many secret conservative colleagues in my field, but the only one I've seen is not someone who I would ever wish to collaborate with.
acbart··on Show HN: An online collaborative UML editor using PlantUML
This is cool. Random idea: set up a Blockly[1] mode for using blocks to generate the PlantUML. Even more amazing if you have it bidirectional with a text mode!

[1] https://developers.google.com/blockly

acbart··on CS Unplugged – Computer Science without a computer
One of my hypotheses is that it's incredibly difficult (and relatively rare) to be able to turn non-programmers into Computer Scientists. It's much easier to turn programmers into Computer Scientists. The conventional model of trying to turn non-programmers into programmers at the same time as you turn them into Computer Scientists is not very effective.
acbart··on Educated Fools
I'm a university professor in CS. I don't teach people how to problem-solve, and I have never known what other people are talking about when they claim they teach that in their courses. I teach fundamental skills, and then I put my students in front of lots of problems. In an ideal world, they transfer that experience to new problems. My most important role is providing the motivation and structure to go tackle assignments that might be similar to the ones they tackle later on in their careers. I really like Amy Ko's take on the process: https://medium.com/bits-and-behavior/the-transfer-problem-in...

All of that pales to the real process going on: good students were matriculated into my program, and I credential them via a bunch of assessments that I wrote despite never having any classes on formal assessment design. If you gave us a random sample of the population, I doubt we'd be that great at turning them into Computer Scientists.

acbart··on PyRobot
Looking over the robots they support, low cost means about "thousands of dollars" in this context, right?
acbart··on Pygame Zero: Creating games without boilerplate
Indeed, we do talk more about good contracts with the Turtle alphabet than we do about global state. But it's a small part of the conversation.

The `World` (which is based on the concept from Racket's Universe library) does indeed get broken down into smaller objects. We talk about how to do that too. The idea is to lead this naturally into more OO stuff next semester, but we talk for a while about how we can use dictionaries to structure data at least.

acbart··on Pygame Zero: Creating games without boilerplate
The objection is because of testing, debugging, and getting compiler/autograder feedback.

Obviously, global data is powerful and allows us to do a lot. I let my students define top-level functions and use them globally throughout their programs, and as you say the import mechanism also gives us useful constants and functions to be used anywhere. We talk about how great global constants are for this reason.

The problem is mutation. When you have global mutable state, it becomes difficult to reason about the program. Code written in one part of the program can cause issues hundreds of lines later even though they are seemingly unrelated. You can no longer easily write simple unit tests to confirm that your program works as intended. Global mutable state also frustrates my attempts to use program analysis to give enhanced autograded feedback.

As a concrete example early in the course, we use the Turtle library to define a bunch of functions to write letters, and then they use those functions to write out their names. Difficulty ensues when I ask them to swap definitions and reuse the functions. One kind of issue they encounter is the Turtle library's reliance on global state, which makes it difficult to reason about where the cursor should be after you call a function.

You are thinking about the World example, but what about when they make a list of Coin objects? With global state, they start encountering very mysterious bugs related to the shared coin instances. When its all contained within the World object being passed around, we can write more coherent unit tests to debug this kind of trouble. In a class of 150, it's helpful to give them mechanisms like that.

← PreviousPage 4 of 10Next →