teaching machines

Computer Science in High School

A student is working on a project about teaching computer science classes in high school and is trying to gather insights from folks about how it might be done. His questions and my answers follow. Could you give a quick overview of what your process is for implementing these classes? There’s a term sometimes comes […]

ITiCSE 2016 Rejection

I submitted two things to ITiCSE 2016: a paper on Madeup and a proposal for working group to make games for computer science education. The paper was rejected. Though ITiCSE is usually a little more forgiving of papers that don’t have a lot of data collection and rigorous experimental analysis, I didn’t include enough. I’m […]

CS 330 Lecture 40 – Multiple Inheritance

Agenda what ?s design this multiple inheritance TODO The Wasd utilities.rb was treating a Vector2 instance immutably, which violated the spec. It was been updated. You’ll need to pull down the revised file. (Thanks, Paul!) Note We start today with this task: Design a reusable piece of Java code that allows a class to “listen” […]

NSF S-STEM Rejection

Last year I submitted a proposal for the National Science Foundation’s S-STEM scholarship program. Our intent was to provide scholarships for women to attend my university and pursue degrees in math or computer science. It was not funded, but I got some helpful direction for revising it and resubmitting. In our revision, we opened up […]

CS 330 Lecture 39 – Inheritance

Agenda what ?s why inheritance? how is inheritance done? inheritance gotchas virtual override is-a vs. has-a TODO I’ve added a Wasd grader and fixed some omissions in the specification. Make you pull these down. One more 2-participation point extra credit opportunity for those of you who couldn’t make the evening talks: make two models in […]

Comparing High-dimensional Objects

Lots of researchers have studied children’s perceptions of the size of multidimensional objects. Children compare two lines with reasonable accuracy, but how about comparing two rectangles of differing aspect ratios? Or two containers of liquid, one short and squat, the other tall and narrow? Based on a some experiments I read in Duckworth’s The Having […]

Combining Temperatures

I’ve been reading Eleanor Duckworth’s The Having of Wonderful Ideas, and I can’t go a page in the book without reading about an experiment that I want to try on my children. Last night I tried one about combining temperatures on my older sons, who are seven and five years old. Knowing that my seven-year-old […]

CS 330 Lecture 38 – Dealing with Temporaries

Agenda what ?s fixing output issues read constructor splitting images with | move semantics TODO One more 2-participation point extra credit opportunity for those of you who couldn’t make the evening talks: make two models in Madeup. The objects must be reasonably interesting and not just random globs of triangles. At least one must be […]

CS 330 Lecture 37 – Object-oriented Programming

Agenda what ?s C++ I/O open classes overloading builtin operators move semantics Note Today we continue our discussion of object-oriented programming through the lens of C++. Many of C++’s design decisions are what they are because of Stroustrup’s ideals, including RAII and type parity. We’ll look at why Stroustrup felt C’s I/O system needed revamping. […]