Category: Education

  • Udacity Visit

    Yesterday I took a day trip to Palo Alto to visit Udacity where I’m getting ready to teach a course on software testing. The goal was to become familiar with the recording setup, hash out any infrastructure issues, and try to refine my course content–which right now is just a collection of rough notes. Originally I had…

  • 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…