So, I did qualifying exams at Michigan State over winter break. My main takeaway from the experience was that no one really told me what to do, what to expect, or even what the exam would look like in advance. This post is for people who are in that same boat in the CS department at MSU. It won’t help you if you’re in another department, ’cause quals vary greatly from department to department.
What are quals and what do they entail?
Quals are an exam that students take relatively early in their career as a graduate student. They typically happen a year and a half to two years into the program. The occur over winter break of your second year (Dec-Jan) or the summer after your second year (Aug-Sept).
For the exam, the department assigns you a committee (different than your PhD committee). Your advisor will definitely be on this committee, but other than that, anyone (with a somewhat relevant research interest) could be asked to be on your committee. The committee selects 3-5 papers for you. When quals start, you are emailed a document with specifications for the exam. The specifications include the papers the committee has selected and a prompt (with several questions) asking you to synthesize the papers in your own research paper.
Students are typically given about a month to do this synthesis. You submit the paper to your committee members after ~4 weeks. At that point, you coordinate a time to give an oral presentation of your paper to the committee. Usually there is a 2-3 week break between submitting the paper and presenting the paper.
The presentation varies depending on what your committee is looking for. In my case, my advisor asked for a 50 minute presentation and an hour for questions. After the presentation is over, the committee deliberates and decides if you pass the exam. I believe that people are allowed to take qualifying exams multiple times if necessary, but I’m not sure.
What did my exam look like?
I was assigned five papers:
- Characteristics of Problem-Based Learning, Erik De Graaff, Anettee Kolmos, Int. J. Engng Ed. Vol. 00, No. 0, pp. 000±000, 200
- IPython: A System for Interactive Scientific Computing, Fernando Perez, Brian Granger, Computing in Science and Engineering, vol. 9, no. 3, pp. 21-29, May/June 2007, doi:10.1109/MCSE.2007.53
- Modeling how Students Learn to Program, Piech, Sahami, Koller, Cooper, Biklstein, SIGCSE’12, February 29–March 3, 2012,
- Novice Mistakes: Are the Folk Wisdoms Correct? James Spohrer, Elliot Soloway, in the book Studying the Novice Programmer, L. Erlbaum Associates, 1989
- Detecting and Understanding Students’ Misconceptions Related to Algorithms and Data Structures, Danielsiek, Paul, Vahrenhold, SIGCSE’12, February 29–March 3, 2012
The prompt questions were:
- How have learning theories (e.g., constructivism, cognitive load theory, others) motivated the development of new approaches to teaching programming? Looking back with knowledge of both learning theories and approaches to teaching programing introduced over the last decade, how do the learning theories help ground our understanding of those new approaches in your view?
- What do you see as the most important, current issue in trying to help students learn to program? How would you propose to address that issue?
- What role do you see for collaborative learning approaches like problem-based learning for helping students to learn programming?
- How can you develop an appropriate experimental design to properly evaluate the effectiveness of different approaches for teaching programming? What are the barriers to effective evaluation of different approaches?
- Do new languages/environments enhance the learning process for novices, or do aspects of their design that improve productivity for experienced programmers impair novice learning? If so, how can instruction take this into account?
What did my report look like?
I ended up using a lot of my background knowledge and research from the previous semester to link all of these papers together. The overall progression of my paper turned out to be: a discussion of learning theory and how it relates to computer science; an overview of different innovative teaching strategies, tools, and techniques; and a discussion of best practices for assessing education for the purposes of research. Here is a copy of the paper, which I had a little less than a week to write because I was working on a compressed schedule for quals.
What did my presentation look like?
Here is a link to my quals presentation. The presentation was actually pretty informal. The committee members asked their questions throughout the presentation rather than waiting til the end. And I passed. :]