Talk About Teaching and Learning
January 18, 2011,
Volume 57, No. 18
Keeping the Classroom Relevant in a Rapidly Changing Field
Zachary G. Ives
In many areas of academia, especially those that connect closely to an industry, there is a tension between focusing curricular activities on principles and foundations versus skills. Given that the University’s primary role is to teach how to learn, we as faculty tend to gravitate more towards the principles and away from the pragmatics. Yet, particularly in a fast-moving technical field, such as my home area of Computer and Information Science (CIS)—this can make the curriculum seem detached from the state-of-the-art in the discipline. In turn, that can make students concerned about whether they are prepared to enter the workforce, when their peers have more experience in the skills many employers are seeking.
I believe the best response to these concerns is to not only explain to the students that principles can fairly easily be developed into skills—but to actually show students how to do this. Over the past seven years, I have sought to develop a teaching approach that presents not only the principles and the pragmatics, but also exercises students’ ability to generalize what they have learned, and also helps the students see how ideas and topics form an integrated picture from principles to pragmatics.
I teach courses that have very strong relevance to practice—Web and data management-related topics—and I seek to bring the state-of-the-art into the classroom as illustrations of the principles. There are many technologies that students learn about from their readings, from their friends, and from the Web. I try to stay relatively up-to-date on these and to include them within lectures: to present their fundamental ideas and their strengths and weaknesses. I believe it is especially useful to pay attention to news announcements, and to lead the students through discussions where we break down and analyze the likely principles behind a “bleeding-edge” technique. Perhaps there is a new scheme for ranking information on the Internet, and we will analyze its likely benefits and drawbacks. Or alternatively there might be a set of claims made by a technology company, and we might try to analyze whether the claimed functionality is actually even attainable. Such discussions, while in some sense diversions from the standard lectures, help the students to realize that the insights they have gained from their theoretical readings can help them to understand today’s cutting-edge technologies even without yet knowing all the details. I believe the extra work involved in such exercises encourages critical thinking and analysis, shows relevance, and help separate a conventional course from one that will truly impact the students in the long term.
A second cornerstone of my teaching philosophy is to give large-term projects, which ideally bring together many of the concepts discussed during the class—including the practical manifestation of many of the theoretical ideas. I always try to come up with projects that students can get excited about, and to break these up into achievable milestones (possibly even included within the regular homework assignments). Through these projects, the students truly develop an understanding about how the course material fits together, and they learn many useful real-world skills like design, critical analysis, debugging and troubleshooting. Moreover, I make liberal use of extra credit to encourage the students to exercise their creativity in going far beyond the original homework assignment.
The course where I feel I have best incorporated these ideas is CIS 455, Internet and Web Systems. This course focuses on understanding how to build very large-scale services on the Internet: the underpinnings of sites like Google, Facebook, EBAY, and so forth. Throughout the semester, we discuss many topics, including algorithms and complexity results. However, we also talk about how these ideas are manifested in real Web sites, and how different ideas are more appropriate for one type of Web site (perhaps iTunes) than another (perhaps a multiplayer game). We look at how Google’s market position gives it strong advantages over everyone else—both in terms of economies of scale, but also in terms of information about how the Internet is being used. When new social networking or search companies make announcements, we discuss the pros and cons of their approach. Initially, only one or two students tend to participate in these discussions—but most students are fascinated by the discussion, and over the semester, others gain confidence and start to chime in.
Perhaps the defining feature of CIS 455, from the perspective of the students, is the project. It is fairly ambitious in order to make it appealing: the goal is to build a fairly realistic clone of Google, hosted on so-called “cloud computing” nodes at Amazon. Initially some of the students find this daunting. However, the project is structured in a way that allows them to build incrementally, to redo things when they make a mistake, and to learn from others. For the first half of the semester, they get 2- or 3-week homework assignments to build simplified components that will become part of their project. Then I team them up in groups, and ask them to choose the “best of breed” from the individual group members’ work (or from other students), and to build the system for real. The key here is that everyone in the group has seen and had to think about all aspects of the project, and in the second iteration things come together much more smoothly. The final project demonstrations are always tremendously gratifying, as the students truly come away with a sense of accomplishment, and of knowing something about how something they use every day works.
While some aspects of my approach are fairly specific to Computer Science, I believe that many ideas generalize to other disciplines. Encouraging critical thinking, staying abreast of the news and analyzing ideas based on classroom teachings—these are all key ideas that I believe are what academia should be about. Moreover, I believe ambitious projects can provide great perspective to the students: but the key with an ambitious project is to give the students many milestones and the chance to refine and revise.
Zachary G. Ives is Associate Professor of Computer & Information Science and the Markowitz Faculty Fellow
in the School of Engineering and Applied Science. He serves as the undergraduate curriculum chair for
Penn’s new Singh Program in Market and Social Systems Engineering.
Dr. Ives was a winner of the 2010 Lindback Award for Distinguished Teaching.
This essay continues the series that began in the fall of 1994 as the joint creation of the
College of Arts and Sciences and the Lindback Society for Distinguished Teaching.
See www.upenn.edu/almanac/teach/teachall.html for the previous essays.