Thoughts from the Tower

This is my computer science blog where I collect more academic thoughts.

• Low-Tech Audience Response with Plickers

Active Learning, Education, Teaching

Last winter, I tried to engage a small group of students in class by using a method of active learning: audience response. The idea is that you ask reasonably scoped questions during your presentation or discussion and have the audience respond, typically using some technology that enables quick and accurate counting as well as anonymity (at least among students).

• Google Hashcode 2016: Our approach

Algorithms, Programming

In this post, I briefly discuss the approach we developed for Google Hashcode 2016.

Algorithms, Programming

Last week, a colleague and I participated in Google’s Hash Code. The idea of the event is simple: give small teams of programmers a hard task and give them too little time to solve it. See what they can come up with.

• The Agile Education Manifesto

Education, Philosophy, Teaching

Gunter Dueck is one of my favorite voices on (and off, I guess) the internet. Also on Twitter and YouTube. In a recent blog article he observes that while we1 have embraced the paradigm of agile software development, we have not thought to transfer the ideas to an arguably more critical application: education.

1. Read: a non-trivial subset of the people in this area of work.

• How useful is Landau notation?

Algorithm Analysis, Discussion, Notation

In the context of a new answer to an old question on Computer Science SE and a subsequent chat, I started thinking about how useful Landau notation (also “Big-Oh”) really is. Since I am quite opinionated about the whole thing I thought a blog post would be a better place than Stack Exchange for collecting these thoughts.

• A Researcher's Jekyll

Website

There are myriads of ways to build websites. When I decided to create a new one for my work, I evaluated my past experiences – mostly with Wordpress and JoomlaI don’t know if there is a use-case for Joomla. – and decided to go with something less bloated. That is, something that

• On Planarity of Control Flow Graphs

Graphs, Programming

For our master’s project, we include visualization of control flow graphs of Java bytecode as a user interface feature. When discussing the feature, a question quickly became apparent: are control flow graphs (CFG) planar? If so, we expect drawing them to be relatively easy. If not, however, we can abandon hope for being able to always draw nice graphs.

Obviously, unconditional jumps can cause arbitrarily nasty CFGs; that is not surprising as goto is generally to be considered harmful. We agreed, however, that we should rather consider basic blocks of actual Java rather than arbitrary bytecode, as it is Java code we want to talk about. Sadly, even if we disregard labeled break just to be save, Java CFGs are not planar in general. The examples we found suggest that this is true for most procedural and object oriented languages, too.