Jochen "Jeff" Rick
I am an effective, engaging classroom teacher. I have taught classes in object-oriented programming (3 semesters), educational technology (3 semesters), introduction to programming (3 semesters) and CSCL (2 semesters). In addition to these, I would feel comfortable teaching classes in human-computer interaction, ubiquitous computing, and media theory.
As research faculty, there is pressure to emphasize research (grants, publications, supervision, etc.) over teaching. Fortunately, as a learning scientist, there is a natural synergy between my research and teaching contributions. My research is concerned with applying innovative techniques and technologies to learning and studying them in a meaningful context. My classroom has been such a context.
During my time at Georgia Tech, I used the wiki technology I developed to support my classes. From a teaching perspective, the students benefitted from the technology. From a research perspective, I was able to gain a better understanding of putting the technology into practice. In turn, this influenced my development of the system and how to support adopters. When I taught educational technology, I used the class as a test bed for medium-based design.
At Saarland University, we designed the Master of Educational Technology degree with the intention that students without a computing background would gain some base competencies in programming. Unfortunately, the external classes available proved inadequate (i.e., low success rate, covering irrelevant topics). To offer our students a meaningful alternative, I took over both introductory programming classes. Given our relatively small student body, I crafted a tutorial-style class that moved at the pace of the students. This approach required significant time and effort on my behalf. While the students appreciated it, it also had a tangible impact on my research.
I have significant expertise in programming language design (traditions, elements, trade-offs, etc.) and was already familiar with the literature on novice programming environments; however, as an accomplished programmer, relating to novices proved difficult. This class gave me the opportunity to investigate the actual problems that novices face. In class, I could address them through live coding, lecture, problem sets, one-on-one tutoring, etc. I also discerned how a better programming environment could support students in engaging the important ideas without getting stuck on extraneous details. As a new research direction, I am developing such a system. That system will combine insights from (1) the literature on novice programming environments, (2) a novel interface design approach, (3) my experience in creating touch-based interfaces, (4) craft knowledge of programming language design, and (5) this concrete experience of working with novices. Programming is one of the most powerful ways of interacting with the world, yet it is still unavailable to the average secondary school student and success rates are problematically low for tertiary school students. It is a meaningful problem and I am well equipped to make a significant research / teaching contribution. I already created several microworlds (e.g., turtle graphics) for students to use. That has allowed me to investigate the microworld approach (observe users, create a curriculum, etc.) as I prepare to create a multi-touch implementation.