Skip to content

{ Category Archives } Education

Android Projects Retrospective

The Android Projects class I ran this semester has finished up, with students demoing their projects last week. It was a lot of fun because: I find mobile stuff to be interesting the students were excited about mobile the students were good (and taught me a ton of stuff I didn’t know) the course had [...]

Perverse Incentives in Academia

A perverse incentive is one that has unintended consequences. The world is full of these and the Wikipedia article has some great examples. Academia seems particularly prone to perverse incentives. Incentive Intended Effect Actual Effect Researchers rewarded for increased number of publications. Improve research productivity. Avalanche of crappy, incremental papers. Researchers rewarded for increased number [...]

Putting Oneself Through College

A lot has been written lately about the rising costs of higher education. Is it still possible to put oneself through college without working full time? It’s certainly not easy. For example, the Utah minimum wage is $7.25/hour. If a student works 20 hours per week for 50 weeks, the resulting $7,250 doesn’t even cover [...]

Online University

Yesterday someone in my department’s main office got a request from a student to receive credit for taking the now-infamous free online AI course from Stanford. It is routine for a university to award transfer credit for a course taken at a different school, but this case is trickier since a student taking the AI [...]

Hello Android

Some semesters I teach courses that just need to be taught. On the other hand, this Fall I get to teach a class that should be purely fun — an Android projects course for upper-level undergrads. I already promised an “A” to anyone who (legitimately) makes at least $100 using an application developed for the [...]

When to Teach C++?

Some friends and I were recently debating when CS undergrads should be taught C++. People have various opinions, but it’s clear that C++ no longer enjoys the somewhat dominant position that it did a number of years ago. My own opinions are rooted in an experience I had around 1995 as a TA for a [...]

What’s Fun About Teaching

When I started this blog I expected to write a lot about teaching. In retrospect it seems that teaching is similar to raising kids and cooking meals in the sense that these are jobs to just shut up and do, as opposed to writing a lot about them. Even so, I have a short series [...]

Guidelines for Teaching Assistants

I’ve been teaching university-level courses for the last nine years, usually with the support of teaching assistants (TAs): students who get paid to do things like grading, office hours, fielding email questions, making and debugging assignments, proctoring exams, and perhaps even giving a lecture when I’m sick or traveling. At the start of each semester [...]

Better Testing With Undefined Behavior Coverage

[The bit puzzle results are based on data from Chad Brubaker and the saturating operation results are based on data from Peng Li. They are respectively an undergrad and a grad student in Utah's CS program.] Klee is a tool that attempts to generate a collection of test cases inducing path coverage on a system [...]

Undefined Integer Behaviors in Student Code, Part 2

[This post is based on data gathered by my student Peng Li. He also wrote the undefined behavior checker.] The other day I posted about undefined integer behaviors in code written by students in a class I used to teach. This post is more of the same, this time from CS 5785, my advanced embedded [...]