One of our graduating seniors shared the below blog post with me, and I shared it with all the faculty who teach the lower division courses in Georgia Tech’s College of Computing. Andrew makes the strong statement in his blog post: “Students shouldn’t be able to graduate with a Computer Science degree from Georgia Tech without being able to read and write production quality code.”
My sense is that most of the faculty who have responded agree with Andrew. Our students should know how to read significant code (e.g., walking through the whole Linux kernel in OS course). One of our professors talked about the value of watching his own code be rewritten by a professional, expert programmer — it was stunning how much better the code got. We could teach more about readingproduction code at the University, but I’m not sure that we could teach enough aboutwriting production code at the University. As Bjarne Stroustrup pointed out, faculty don’t build much these days. Programming well has much in common with craft and art, and it’s not something that the University does well.
If the University could not teach reading and writing production code well, where should students learn it? One answer is, “On the job.” Craft is often taught as an apprenticeship. I worry that the computing industry has given up on its professional development responsibilities. We talk about people being lifelong learners. Is that entirely an individual responsibility? When I was at Bell Labs and Bellcore, there were dozens of classes that I could (and did!) take. Where has that gone? Is everyone a contractor these days, or does industry have a responsibility to develop its human resources?
Related articles
- Friends In Egypt’s Army (andrewsullivan.theatlantic.com)
- Teaching Comp – Section One (engresearcher40.wordpress.com)
- Show Me The Code (computinged.wordpress.com)
- Superintendent’s Report – April 2011 (wsbsuperintendent.wordpress.com)
- Ideas for End of the School Year Activities (brighthub.com)
- Iraqi Infantry Attain Logistical Support Capacity (waronterrornews.typepad.com)
- Larry Strauss: Get Your Heads out of the Clouds, Education Leaders (huffingtonpost.com)
- Belmont essayist Kohn puts education system to the test (boston.com)
- Metro Tech/ASU Writing Center opens (rakschoolsetc.wordpress.com)
- Remixing Writing: A Digital Essay (theunquietlibrarian.wordpress.com)
- The Definitive C++ Book Guide and List (stackoverflow.com)
- Impact of increasing number of post-docs in CS (computinged.wordpress.com)
- Young Black Males Getting Education & Life Goals through Video Games (hbculifestyle.wordpress.com)
- Should we teach our kids computer programming regardless of their technical inclinations? (fatherinastrangeland.wordpress.com)
- Is a Large or Small College Right for You? (education.com)
- The Student-Centered Classroom (sandwalk.blogspot.com)
- Self-Taught Programmers vs CS-Educated Programmers (chezpete.posterous.com)
- Evaluation of an Audience Response System in Library … (istl.org)