HNHacker News
TopNewBestAskShowJobs

acbart

933 karma · joined August 12, 2013

https://acbart.com
submissionscomments
acbart··on Keshif, a web-based tool that lets you browse and understand datasets easily
No matter what kind of local file I upload, whether JSON or CSV, it warns me that it is not supported.
acbart··on Giving Every Student an Opportunity to Learn Through Computer Science for All
A lot of new funding is being made available through the NSF. Maybe now I can finally get a grant proposal accepted!
acbart··on How Soylent and Oculus Could Fix the Prison System
Out of curiosity, have you tried the 2.0 liquid version? It's much better than v1. I only use it when I need to get a meal on the run, though. I can totally see how people could dislike the taste in this version.
acbart··on Intellectual Need and Problem-Free Activity in the Mathematics Classroom [pdf]
I've only skimmed it, but it seems like they're implying that "Intellectual Need" (emphasis on intellectual, as opposed to social or economic needs) is the only possible way to meaningfully motivate students. I see their point that it might be argued as one of the most effective ways to motivate students, but it seems to me like it's unrealistic to expect this "Need" to always be present, and is a trivialization of a more complex situation.

Academic motivation is a force caused by a wide range of internal and external factors, which people experience in different quantities at different times. Sometimes, you are in a course simply because you are obligated to be there and you do well because you need it to accomplish a long-term goal. Sometimes, you are solving a course problem because you find it intellectually stimulating. Sometimes, you give up on a problem because you believe you cannot succeed. Sometimes, you are simply unmotivated because you are tired and don't want to deal with stuff anymore. The MUSIC model of academic motivation [1] suggests a number of factors involved in the process.

Of course, I don't want to sound entirely dismissive - I definitely see the value in ensuring students perceive the "need" to solve a problem, and it's undoubtedly fantastic for an instructor to create that perception. I just wanted to voice that there's more to motivation than just the one avenue, and that's not necessarily a bad thing.

[1] http://www.themusicmodel.com/

acbart··on How Measurement Fails Doctors and Teachers
Why do you assume they don't stop to think about that? People who develop assessments usually think quite rigorously about exactly such problems, assuming they're following proper methods. Is it so surprising to you that this is a very difficult problem?

I would compare this to asking, "Why don't software developers think about bugs?" They do, and they attempt to handle them, but it's almost impossible to solve all such problems in programs (tests) of non-trivial size.

acbart··on Don't be an architecture hipster
From the author's blog:

"Self-taught all-around software-guy in his 20s. Just moved out to California. Passionate about software, psychology, self-sustaining systems, and business. Dabble in everything else (philosophy, go, reverse-engineering, painting, writing, chess, meditation, music, DVORAK). Preference for writing in fragments rather than sentences. ;)"

Obviously, philosophy is only worth attacking if you studied it formally.

acbart··on Don't be an architecture hipster
From his bio page:

"Self-taught all-around software-guy in his 20s. Just moved out to California. Passionate about software, psychology, self-sustaining systems, and business. Dabble in everything else (philosophy, go, reverse-engineering, painting, writing, chess, meditation, music, DVORAK). Preference for writing in fragments rather than sentences. ;)"

So, philosophy is only bad if you study it in school!

acbart··on The concept of “learning styles” is one of the greatest neuroscience myths
4/5 of my way through a doctorate in CS Education, and I must admit that I cringe whenever I see Hacker News and r/programming discuss education. We have very intelligent people who have almost no formal educational knowledge making anecdotal claims, often trying to draw on their own atypical experiences. There are so many things that I feel I need to convey and correct in these threads, but I don't think there's time or energy available to do so.

Learning Styles is mostly considered snake oil. Of course different students learn differently. Assessment is hard. Instructional Design. There's so much material out there, I wish people would learn more before asserting and speculating.

I suppose I should just be pleased that people are interested. But I hope many posters will be encouraged to look further into this subject and develop expertise as they develop their opinions.

Here's one potential resource: http://www.learningandteaching.info/

acbart··on Earthbound Battle Background JS
I never realized how much variety there was in the backgrounds of enemies in that game.
acbart··on Blockly is a library for building visual programming editors
www.blockpy.com

Let's you switch back and forth seamlessly as you learn. Among other features.

acbart··on Have Static Languages Won?
I don't know, I'm taking a Program Analysis graduate seminar this semester, and my take is that the techniques for dynamic analysis are getting halfway decent.

It's also interesting to compare Python and JavaScript. Holkner and Harland did a pair of papers about those two communities' usage of dynamic typing - JS people do type changes throughout the program execution, but after initialization the Python people follow the Aycock quote: "Giving people a dynamically-typed language does not mean that they write dynamically-typed programs." Languages have different characteristic programs, to some degree.

acbart··on Dockercraft: Manage Docker containers from Minecraft
About this time last year I was working on an animal mod. The tools and documentation were pretty abysmal. Doing anything interesting required a lot of messing around. I'm not doing any more modding of MineCraft until official work is done on an API.
acbart··on Helping my students overcome command-line bullshittery (2014)
That's why it's nice to have online systems like my BlockPy [1], or Skulpt/Pythy/CodeMirror.

[1] http://blockpy.com

acbart··on Improving your code readability with namedtuples

    age, height, weight = person_data
Silly example for such a useful tool.
acbart··on Teaching is Selling
It boggles my mind that I don't see more material about Instructional Design and the work done by Gagne in education discussions. These are extremely powerful theories with deep practical application, well-known in some disciplines. But CS Education heavily underutilizes them.
acbart··on Google's driverless car is brilliant but so boring
Especially when you consider that it may not be certain who the "other people" are. It may have a probabilistic model that says there's a 45% chancce it's hurtling towards a mother pushing a stroller and that it has a 100% that it has a driver sitting in the seat. If it's two actions endanger either the driver or the mother, what kind of calculus should it do?
acbart··on Avoiding the Adjective Fallacy
I attempted to use only intuitive explanations in my programming class once, and a student rebelled and asked for some more definite rules. She wasn't asking for a dictionary, just SOME structure to help her out. The conclusion I reached is that you need a mix - ground students in rules while supplying them with high-level concepts. You shouldn't rely on only one approach, but give them multiple entry points into the idea. Moderation, as in all things.
acbart··on John Carmack's son's game in Racket
One of the more valuable things I've found when teaching is to always establish "the path forward". I wish that the CS Ed community had more established paths that I could share out. It's easy to point people towards CodeCademy, for instance, but I don't always have a glib answer after that.
acbart··on Continuum Analytics Raises $24M Series A for Anaconda Python and PyData
Works great if you have the time in the classroom. Sysadmin skills aren't among any of my learning outcomes, so I don't have time to cover it. My students are still trying to grapple with the idea of a for loop!
acbart··on Why I give my students a ‘tragedy of the commons’ extra credit challenge
Alternative experiment: every day, students are allowed to do this voting. Assuming that the first few days run like this experiment, I wonder if we'll see a change in their behavior. This actually models reality more closely, to some extent.
acbart··on How to learn data science
As someone who uses "Data Science" to teach "Computational Thinking", I think this blog post hits on a lot of really valuable pedagogoical notes. Getting motivated, learning things through doing, and having a strong context for your learning.

For those wondering why I put my buzzwords in quotes, it's because I don't want to sound like I'm a huge proponent of either of them. CT is the term I use to describe how I teach my students about abstractions, algorithms, and some programming. DS is the term I use to describe how students learn all of that in the context of working with data related to their own majors. I'm not trying to claim some crazy paradigm shift, just that it's a great way to convince students that CS is useful to them.

acbart··on Former Reddit CEO says the site's about to be purged
Well, people don't go to Costco for commentary, they go there to buy things. So a more apt comparison would be a section that sells things that certain groups may find offensive - e.g., sex toys, confederate flags, bibles, guns[1]. The metaphor holds mostly, Costco is free to do what it wants to cater to those people, but I don't think it's unreasonable for some groups to want to fight to hold on. It's hard to make blanket statements about some of the groups - of course, that's less true for some than others. I don't have any horses in this race, personally, I don't think anyone is planning on banning r/corgis or r/noideadogs.

As for profitability, I'd argue that stupid people with strong opinions and a need to vocalize them are advertisers favorite kind of people. They're probably surprisingly profitable.

[1] Don't assume I'm putting any of those on the same level as each other, just making a list of what I suspect are violatile items to some groups.

acbart··on Humanities Data: A Necessary Contradiction
I don't know how common my definition is among the CT community. Frustratingly, few researchers operationally define the term (cardinal sin in Education research!) and establish graded metrics based on it. I haven't met any other researchers who have resisted our definition, but there are other definitions. Repenning has one that is particularly... distinctive from my own:

http://www.cs.colorado.edu/~ralex/papers/PDF/SIGCSE10-repenn...

acbart··on Education in Minecraft
I suggest reading up on the block-based literature, it's very interesting stuff. I focus on introductory programming experiences for non-CS-major undergraduates. Some of that research involves block-based languages. The scaffolding is extremely helpful in getting them to write working code quickly, and that's a valuable trade-off with "real" coding. Of course my goal is to transfer them into real coding (we use Mutual-Language Transformation a la Matsuzawa and embeddable code snippets a la Weintrop).

However, from what I've read of work with younger learners, you'd be amazed at the level of complexity their code can reach. Just because you're young doesn't mean you can't write big complex programs. Of course, when they're older they'll look back on much of their work and say, "Oh it's so bad". But that's just what learning means.

As for "damaging" learners - banish the thought. Short of actively lying and gaslighting students, I've always found learners to be extremely robust. In fact, technology and context have relatively little impact on young students long-term compared to positive, excellent interactions with educators who know what they're doing. It's more important for students to have successful experiences that are fun and make them think, "Hey, this does stuff! Like, real stuff!" There are many nuances to that statement (gender is particularly fascinating), but I've found it's mostly true. Learning is all about constructing experiences on top of experiences, and your introductory experiences will always have degrees of artificiality and scaffolding. Understanding evolves with time, effort, and feedback.

acbart··on Mozilla Games Technology Roadmap
It's a pain, and I've yet to find any good guides. I'm actually in a fix right now because I want to develop over localhost, but need this Flask site to work on HTTPS. I'm sure it's possible, but I have yet to find any guides or examples that make it straightforward. I love that we're moving towards security, but I wish it was easier...
acbart··on The Algebra of Algebraic data types
Very cool! Thank you for writing this article, I found it very helpful and extremely interesting. I also found it a very nice read in general.
acbart··on Humanities Data: A Necessary Contradiction
I help teach a "Computational Thinking" undergraduate course for non-CS majors. The topic at heart here is essentially Abstraction. Specifically "Data Abstraction", since there's more than one kind of abstraction in a bigger picture, but we don't try to tackle that nuance with our students.

We say that Abstracting an entity (the most vague word we've found, referring to people, places, things, events, and even other abstractions) causes you to lose details. That abstraction is contextualized to a stakeholder, since you have to have some criteria for deciding what details you keep and lose. An abstraction for a person would be different if it was for Facebook ("Name", "Age", "List of Friends") or for a doctor ("Name", "Age", "Sickness"). Abstraction is powerful because it lets us concretize real, vague things into something that a computer can understand and process ("Because computers are very stupid!").

I often discuss how an abstraction loses a lot of valuable data. One student was working with NFL games, representing them a set of properties like ("away team name", "home team name", "away team wins", "home team wins"). That representation ignores how many interceptions were made, the weather that day, the feelings that the crowd had, how much effort the players put into training - a lot of "humanist" data.

This article makes me wonder what goes through their minds. No one's complained about making these abstractions - they've never suggested we're ruining a game, a historical event, or whatever we're abstracting. But I think maybe we should encourage the students to think about what happens when you abstract something and what it means for the entity and not just the stakeholder.

acbart··on The Algebra of Algebraic data types
You're right, I missed two cases! Thanks a bunch. Second pedagogical note: we just demonstrated the value of cooperative learning, which can really help a weak assessment. Similar to paired programming!
acbart··on The Algebra of Algebraic data types
If you're like me, and you didn't immediately understand why the number of inhabitants for "a -> b" is "a^b", and needed help for the answer[1], then here's my solution to the author's question ("Why are there eight inhabitants of Tri -> Bool, but nine of Bool -> Tri? It helps to write out each possible function.").

The nine inhabitants of Bool -> Tri: https://gist.github.com/acbart/5d3fdfd8d363af26a59c

The eight inhabitants of Tri -> Bool: https://gist.github.com/acbart/c695355880a706a4ff59

Pedagogical note: If you're going to poise a question in an online presentation of material, try to have a solution (automatically checked or at least statically available). A huge part of learning is having the learner participate (which you did!) and then assessed.

[1] I got help from here, @tikhonj suggested this in another comment: http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of...

acbart··on No Code of Conduct
You sound pretty knowledgable about intersectionality. Do you have any material on it? I'm only familiar with it from one blog post, so I wouldn't mind learning some more. It sounds like there are more nuances to it than I first understood.
← PreviousPage 8 of 11Next →