Friday, November 09, 2018

How Do We Define a Successful High School Computer Science Program?

Mark Guzdial has an interesting post asking When do we know that a programming course is not working for non-CS majors? The focus of the post is undergraduate level computer science courses. Can universities create CS courses that work for CS majors and non-CS Majors at the same time. It’s an important question for universities who are faced with more and more CS students and having trouble hiring enough faculty. We face some similar questions in secondary school computer science.

In secondary schools we don’t really have majors and we don’t have a way to identify CS majors. So all of our courses have students who may or may not major in computer science when they get to university. We not only have to ask if our courses are working for future CS majors and for students moving into other majors. Do we even know what “working” means in the secondary school environment?

Is a first course working if enrollment is up in more advanced courses? If enrollment does not go up does that mean the first course is not working or are their systemic reasons like guidance pushing students to more world language or other sciences? Or perhaps scheduling problems with too many interesting electives and to few open slots in the schedule?

Are our courses working or failing based on the number of students who do go on to major in CS? Or is that not a good measure because a lot of people in other majors are likely to need CS. More and more math and science courses make use of programming for example.

Generally it is very hard to collect data about our students once they graduate. I need to think on this some more but I am hoping some of you, my readers, have some thoughts on the matter. We probably need some answers as we work to convince more schools to offer CS. Administrators will likely want to know how we know we are teaching the right things the right way.

1 comment:

Garth said...

I have always measured my CS programs' success by the comments my visiting graduates say about their college CS experience. So far they have all done very well and were very glad they had my classes. I may not teach them to be any kind of expert in any particular language but I do force them to read and think on their own. I also offer them the opportunity to try almost anything in the CS field. If I have a kid who wants Java (which I am terrible at) I offer a Java course and point them at Java resources and find a guest speaker for the rough spots. (I am at a school where I can have classes with only one student. I have two one student classes right now, both CS.)

I let my students tell me how successful my CS program is. That works for me.