The Special Session on “The Place of Logic in Computer Science Education” took place at the Logic Colloquium on Tuesday. It was well attended and, I think, overall a successful session. The newly-formed ACM Special Interest Group on Logic and Computation (SIGLOG) was represented by its chair Prakash Panangaden. He stressed the importance of logicians (and computer scientists/instructors relying on logic and logical methods) to push for the integration of logical methods in the CS curriculum — the way the SIG on Programming Languages SIGPLAN has successfully managed to give prominence to programming languages and design. In the US, the existence of a standard curriculum makes it difficult for departments that would even want to put a focus on logic and formal methods to introduce dedicated courses, a point made by Phokion Kolaitis in discussion. That curriculum includes only propositional logic and just the very basics of predicate logic as a requirement for all CS majors. In a previous panel at a SIGCSE meeting, it was argued that a remedy would be to integrate bits of logic in other courses where logical methods are needed. This resulted in the TeachLogic Project, led by Moshe Vardi at Rice University, which aimed to provide course materials and ideas for where and how to incorporate logic into CS courses.
In Europe, departments seem to have a lot more leeway. This makes it possible, e.g., for Austrian CS departments to even offer specialized grad programs in logic and computing, as Alex Leitsch reported. Nicole Schweikardt presented ideas from an introductory course she teaches in Frankfurt. One of her didactic lessons was that engaging examples are important to draw in students — pure logic courses tend to do a less-than-optimal job at convincing students that this stuff is useful and important. Her “provocative statement was: “When confronting computer science students with formal logic for the first time, we should dare to be less formal.” This tied in with another topic of discussion: diversity. In the US, the gender split in CS is even worse than in philosophy: 12% of 2010-11 CS degrees were awarded to women. Byron Cook also mentioned this as an issue, and pointed to Harvey Mudd College as a success story for how to get and keep members of underrepresented groups in(to) CS. Now Harvey Mudd is an elite college and in many places that kind of institution-wide initiative is sadly not feasible (as Phokion pointed out).
There are lessons to be learned, not just for how we teach formal methods in CS but also for logic courses in philosophy departments. One may be to make these courses — not: less rigorous — but simply more appealing by focussing more on examples and applications which are familiar and engaging to a broader audience that’s not already familiar with formal methods. In the discussion, Brigitte Pientka pointed out, however, that it would be a mistake to think that we have sacrifice rigor in logic or CS courses to make them appealing to women and enable them to succeed in them. She referred to the environment at Carnegie Mellon University and the research by Carol Frieze and others who have documented that a more balanced environment allows both men and women to participate, contribute, and be successful, in the CS major, without accommodating presumed gender differences or watering down the curriculum to become “more female friendly”. Since 2002 the percentage of bachelor‘s degrees granted to women in the CS major at CMU has exceeded and stayed well above the national average. It is currently at 25%. These and other initiatives are covered in a piece on drawing women to computer science published in the NYT’s TheUpshot blog just yesterday.
SIGLOG is forming an Education Committee, which will carry on the work of the TeachLogic project and hopefully can serve as a clearing house for ideas, materials, and tools. If you’re interested in being involved, Prakash would like to hear from you! In addition, this would be a good place to announce that the conference Tools for Teaching Logic is happening again next year!