Short post today. We (a group of faculty at Oxy who advises on the development of the computer science program) have started thinking about what the ideal computer science curriculum should be. I am still learning about the material that is taught in the current computer science courses here, but have also started thinking about the (kinds of students) that we want to attract.
One of the more interesting things I have been learning is where computer science is being used in other disciplines. I’ve always been interested interested in the intersections of computer science with other things, almost more than what might be “pure” computer science, and this is something I want to encourage in students and enable them to understand as well. Part of the discussion that is going on right now is about where faculty want computer science in their own courses. I am aware of faculty who do computational research, or who teach classes in computational methods, but was surprised by faculty who wants to use programming as optional material to engage advanced students. Other faculty wants students to not just understand how to create computer models, but how to evaluate whether other models are valid – something which I wouldn’t have thought of in a computer science course, but definitely something that I think students should learn as well.
Beyond this, however, I was thinking about the different kinds of students that would take a computer science course. I’m not talking about their skill level when they come in, which is often discussed in curriculum design, but what students want to do what they learn. Here’s a list of different types of students I can think of:
- students who want to go to computer science research
- students interested in the tech industry
- students interested in programming for other disciplines
- students interested in programming for fun
- students taking the course out of boredom
Making this list reminded me of user stories in software development. It’s the practice of writing short vignettes about fictional users, with enough details to explain what they want to accomplish and how they would do so using the developed product. I feel this must have been used by departments to plan their curriculum, but I also have not heard of classes being discussed in this manner. Of course, this must be integrated with what faculty think are the required fundamentals. I will be thinking about both of these in the coming week, and see if insights pop up.