HNHacker News
TopNewBestAskShowJobs

acbart

933 karma · joined August 12, 2013

https://acbart.com
submissionscomments
acbart··on On HtDP
Wow, just read that bit about "HtDP and Colleagues". What a pretentious bit of writing with no actual arguments. The strawman they propose is just one argument, and is not the one I would reach for when arguing against Racket in CS1. I am open to being persuaded about these silly language wars, but the argument there is completely uncompelling. I hope they have the real back-and-forth laid out somewhere else.
acbart··on What do Stanford CS PhD students think of their PhD program? [pdf]
I much prefer divergent stacked bar charts for likert/1-5 ratings, rather than these side-by-side bar charts. It's really hard to compare the distributions. Even a box plot would be better, I think.
acbart··on The independent researcher
I do Computing Education research, so being able to access learners is actually a necessary part. I guess it'd be possible to do this externally, but it's so hard to roll out new ed tech without quick access to an audience. But more importantly, I feel like I'd be very misguided if I didn't interact with students and understand actual classroom needs.
acbart··on Ask HN: Old CS lecturer looking for advice from current and recent students
Have you gone through SIGCSE related materials? Checked out the CS Ed Researcher's Facebook group? Maybe looked into the CS Ed Stack Exchange? There's a whole, deep world of CS Ed pedagogy and practice that can probably dramatically improve your teaching.

Not to insult Hacker News, but I think you can get A LOT more from the expert teacher community than the expert software engineering community.

acbart··on Ctrl-labs’ armband lets you control computer cursors with your mind
The potential for accessibility seems massive here!
acbart··on Aristo – A system that reads, learns, and reasons about science
Question: Why does my head hurt? Aristo is not sure about this one...

Aristo's best guess: It hurts because you're alive.

Confidence: 19.04%

acbart··on 30 years later, QBasic is still the best
I think you should also consider letting them use the more modern learning environments for kids, too. It's hard to do fun things in Turbo Pascal, but it's easy to do fun things in languages like Scratch ([Jr]), Racket, and Python.

I say this with a tremendous love of Turbo Pascal - it was my first real programming environment as a kid. But I also had a great time with environments like Klik-n-Play and GameMaker.

acbart··on Conversations with a six-year-old on functional programming
It's graded immediately (automatically), so there wouldn't be any issues. Further, the text of the problem makes it clear that I'm not actually going to check their age - they can return any valid number (although it does check >0 and <100, perhaps discriminatorily). It would be a little invasive to their privacy otherwise, I think.
acbart··on The Difficulty of Faking Data (1999) [pdf]
This is awesome, and could be a fun project for introductory students. It gives practice with:

- Extracting digits from numbers (easily done with a few function calls in Python, or some math)

- Calculating frequency of a known set of items in a sequence

- Some application of simple mathematical formulas[1]

I wouldn't mind trying this at some point...

[1] https://en.wikipedia.org/wiki/Benford%27s_law#Statistical_te...

acbart··on Conversations with a six-year-old on functional programming
I have a series of programming assignments in my introductory course that has students write simple functions in Python. One of those functions is to consume nothing and returns their (the programmer's) current age. So for example, you might write

    def get_my_age():
        return 21
The students' reaction to this in office hours can be... interesting. I am curious how many of them actually follow the comment at the bottom of the question, and what they think:

> Reflect on the difference between creating a variable with a constant value and creating a function with no arguments and a constant return value.

Up to you to decide if this has any pedagogical value. The real learning objective was to "write a function that has no arguments but returns a constant value", so getting them to draw big conclusions about the nature of functions and values and so on is outside the scope of this little activity.

acbart··on Unraveling rm: what happens when you run it?
Cool "anthropology" method. This triggered my interest to go look at the C source code for linux[1]. Turns out the command actually relies on a few different files, including a "remove.h"[2]. I was surprised I didn't immediately see the call to unlink in the source code, but obviously there's a lot of useful infrastructure to build on. Further investigation that the unlinkat[3] syscall was actually being used. Minorly fascinating :)

[1] https://github.com/coreutils/coreutils/blob/master/src/rm.c

[2] https://github.com/coreutils/coreutils/blob/master/src/remov...

[3] https://linux.die.net/man/2/unlinkat

acbart··on Exercises in Programming Style
This sounds like it's gearing up to some Myers Briggs or Learning Styles garbage. I don't think you'll get very far with correlating personalities with code. I think you might be able to learn some temporary behavioral traits by studying code, but nothing like a "personality".
acbart··on Laws of UX

    Miller's Law - The average person can only keep 7 (plus or minus 2) items in their working memory.
I actually needed to research this claim for my dissertation, and found that some researchers believe it is more complex than as presented by Miller. The number can fluctuate depending on what is being stored, the individual, and a number of other factors. A worthwhile starting point is the Wikipedia Page [1]

[1] https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus...

acbart··on Things I did wrong as a professor (2016)
I was going to write that I disagree with you, but according to the Taulbee survey this is true:

    The percentage of Ph.D. graduates who took North American
    academic jobs rose in 2015-16 for the second straight year,
    to 30.7 from 29.0 last year. However, the percentage of
    graduates taking tenure-track positions in North American
    doctoral-granting computing departments fell from to 10.0 in
    2014-15 to 9.0 in 2015-16. The percentage taking positions in 
    North American non-Ph.D.-granting computing departments
    fell from 2.3 percent to 1.6 percent, while the percentage
    taking North American academic postdoctoral positions
    jumped from 9.7 percent to 14.3 percent.[1]
[1] https://cra.org/crn/wp-content/uploads/sites/7/2017/05/2016-...
acbart··on What's so hard about histograms?
In my introductory programming class, we teach a few basic forms of chart visualization. By far, students struggle the most with Histograms. Even more frustrating, they love line plots and attempt to use them everywhere. Despite my explanations that you can almost always use histograms, and you can almost never use line plots! Yet they go with what they find more intuitive...
acbart··on [dead]
So what is the state of the art in turning text into speech files in Python? Especially in terms of free options? Everything I find on google seems to be a year or two out of date.
acbart··on Show HN: PDFLayoutTextStripper – Converts PDF to text while keeping the layout
I had to use Tabula to extract a decade of SAT scores from PDFs for each state/year. It was a nightmare, but I managed it. More recently, I was hoping to do something similar with decennial census data, but it was just too much. Far, far too many groups publish data to PDF, which is about as bad as if they just deleted it straight-out. It's very upsetting.
acbart··on Cloudflare data still in Bing caches
> Trump's website requires a captcha to view static content.

I'm not particularly adept at security. Why would this occur?

acbart··on C for Python programmers (2011)
The trick to teaching pointers is to model memory with boxes. You have a stack, and a heap, and you draw arrows to represent pointers. At some point, you need to reveal that those arrows are just numeric indices, but the visual helps early on. The * and & operators just let you follow the value in the pointer. I've had a number of students who were baffled up until I showed them this model.

Notational Machine for the win!

acbart··on Why I’m Not a Fan of R-Squared
This is not very accessible for people with weak statistical backgrounds.
acbart··on Scribble: The Racket Documentation Tool
Having had to write in Scribble, Markdown, HTML, LaTeX, and a other similar environments, I'm very surprised everyone is that excited about Scribble. It's not bad, but it was never a game changer for me. Is it just because of the ability to use LISP macros? Is that really that big a deal for you? Personally, I really like Jinja2 for my dynamic sites, MarkDown for writing static documents quickly, and LaTeX for anything where a professional document should be created. What do you think is the major advantage of Scribble?
acbart··on A Lincoln High teacher gets all his students to pass the AP Calculus exam
You did not talk about the necessity of unlinking the results of high-stakes testing and the funding for schools/teachers/districts. Or at the very least, to not penalize low-income areas for low test scores by stripping their budget, since that will only make the situation worse. If anything, more resources should flow to areas with lower test scores, even though the opposite happens (or they just flow to charter schools, which are not a great idea either).

Look beyond the mechanical aspects of the problem, and consider the ramifications of testing within the education system as a whole.

acbart··on A Lincoln High teacher gets all his students to pass the AP Calculus exam
Common Core, in theory, isn't a problem - unifying standards across schools has a lot of benefits (easier to design reusable curriculums, perform scientific inquiries, develop software). The problem is when it gets conflated with high-stakes testing, which is a terrible thing.
acbart··on Data Brewery – Python Framework for Data Processing
So is Cubes an interface for Bubbles? I'm having a hard time figuring out the connection between them.
acbart··on Teaching C
Although this is an interesting post, I'm disappointed from a pedagogical point of view. The article covers these topics, in this order:

1. What book do we assign?

2. What should we lecture?

3. What sort of code review work should we have students do?

4. What kind of assignments should we use? But only to say that he won't cover it in the article!

This is the almost the exact opposite order of what is most useful in terms of learning. Yes, some people (especially auto-didactic and well-focused students) are able to learn tremendous amounts on their own through books. But they are a relatively poor tool for teaching, compared to active learning methods. Lecture can be great, but usually is passive and worse than useless.

I want to acknowledge the importance of defining what you will teach and what successful (end-of-course) students look like and how to assess them. After you've decided that, it is proper to devise assignments and assessments, and then to decide on lectures and supplemental materials that support students in completing the assignments and assessments successfully. The time students spend should be active and practical - not that readings can't be provided, but they should be on-point and meaningful. Proper application of Instructional Design principles and theories of learning can make a world of difference for students.

But kudos for thinking about it, kudos for thinking about feedback mechanisms, and kudos for

PS: Obviously, I believe C has a great place in the curriculum - shouldn't leave undergrad without it!

acbart··on Panama Papers affair widens as database goes online
I assume that this is sarcasm?
acbart··on Chart.js 2.0 Released
Any way to make histograms conveniently with this system? Can't seem to find anything. That'd be the major thing preventing me from switching away from D3.
acbart··on SandDance – Dynamic Visual Data Exploration
Is this closed source?
acbart··on KindScript – A kinder JavaScript experience
Precisely correct! Adding authenticity and relevance to the first major learning experience is crucial for appealing to a wide array of beginners, especially people who don't necessarily see programming as a first-order joy.
acbart··on Top Myths About Teaching Computer Science (2015)
#7 and #8 can be summarized as "Teaching is the right combination of presentation, participation, and feedback". Lecture is a valuable way to do presentation, but you need to integrate participatory activities such as clickers, worksheets, ANYTHING that gets the student to actively work with the material. And of course, that won't be enough for non-didactic people, so you should plan for how students will get timely feedback. Clickers are one mechanism that let you give immediate feedback, but there are many other approaches.
← PreviousPage 7 of 11Next →