For students in an undergraduate computer science course-who most likely have no “real world working experience” in their chosen field of study-it is extremely difficult for them to understand why what they are learning is important. They are left wondering how they can apply their skill-sets outside of the classroom. I personally remember that some of my favorite classes at UC Berkeley were rich with examples and stories about how concepts in the lesson plan mapped to the world outside my college environment.
Some of my favorite discoveries at SC10 were the university booths that showcased ways in which students from different fields leverage their expertise to produce results that can change the world. From combining knowledge in biology, mathematics, astronomy, and geology- parallel programming was not being studied in isolation.
I think that there are a few ways that professors can inspire their students in the classroom:
1) Combine teaching parallel programming with demonstrating real-world examples of how it is being applied to solve tough and fascinating problems in the fields of:
2) Explore the idea of pairing a computer science class with classes from different fields (for example, math, science, and computer science) so that students can be exposed to real-world applications of what they are learning
The more that students are inspired and excited about an idea, the more effort they are willing to apply to studying or exploring it.
Parallel programming need not be a concept that is taught solely with textbook examples. Consider sprinkling in some real-life applications, or creating a joint-project that will combine a computer science class with a course in another subject matter. This will help students develop not only computer science skills, but also communication, leadership, and analytical skills. After entering the workforce, students will be thrust into a world where everything happens in teams. Rarely are the fascinating and life-changing accomplishments made in an isolated environment.
After students get out of college, most of the problems that they are faced with are not computer science problems-they’re problems originating from other fields, such as biology or physics. Let’s get students interacting with these other disciplines early in their undergraduate education.