I was out at Michigan State University discussing a faculty appointment last week, and we continued to talk about using Python for an introductory Computer Science class.
Two questions came up and I'm hoping to get an answer to both via the LazyWeb:
Who else is doing it? What other universities or colleges have switched to using Python as the very first language to be learned?
I think we're especially interested in people's actual experiences, but we'd also like to just find out who is using Python.
Books. What good books are available for intro CS in Python?
Looking on the IntroductoryBooks page, I see many books listed:
- Python Programming: An Introduction to Computer Science
- How to Think Like a Computer Scientist: Learning with Python
- Learn to Program Using Python: A Tutorial for Hobbyists, Self-Starters, and All Who Want to Learn the Art of Computer Programming
- Python How to Program
- Python Programming for the Absolute Beginner
- Computer Programming is Fun!
- Python First: Introduction to Computing with Python
Does anyone have personal experience with using these to teach? Please either e-mail me or post a comment -- thanks!
Posted by Manuzhai on 2006-10-09 at 00:32.
Not really a book as such, but you should be aware of what Greg Wilson has done with Software Carpentry (http://swc.scipy.org/).
Posted by Peter Christen on 2006-10-09 at 00:35.
Hi, I'm a lecturer at the Australian National University in Canberra. We have recently (2005) started a new course which uses Python as a first programming language in the framework of media computation (manipulating pictures, sounds, Web sites etc). The course Web site is: <a href="http://cs.anu.edu.au/student/comp2720/">http: //cs.anu.edu.au/student/comp2720/</a> The course is based on the excellent book: Introduction to Computing and Programming with Python: A Multimedia Approach by Mark Guzdial, Prentice-Hall, 2005, ISBN 0-13-117655-2. More on this approach can be found at: <a href="http://coweb.cc.gatech.edu/mediaComp- teach">http://coweb.cc.gatech.edu/mediaComp-teach</a> Cheers, Peter
Posted by Seo Sanghyeon on 2006-10-09 at 01:19.
This is worth collecting somewhere. Random Google search turned up <a href="http://www4.cookman.edu/cs135tutorial/">http://www4.cookman.edu/ cs135tutorial/</a> which is CS 135 Introduction to Programming Logic at Bethune-Cookman College.
Posted by Seo Sanghyeon on 2006-10-09 at 01:28.
This wiki page is quite comprehensive: <a href="http://wiki.python.or g/moin/SchoolsUsingPython">http://wiki.python.org/moin/SchoolsUsingPyt hon</a>
Posted by Seo Sanghyeon on 2006-10-09 at 01:31.
A201 Introduction to Programming I at Indiana University. <a href="htt p://www.cs.indiana.edu/classes/a201/Syllabus.html">http://www.cs.india na.edu/classes/a201/Syllabus.html</a>
Posted by Floris Bruynooghe on 2006-10-09 at 06:07.
The University of Southampton uses it as the first language in it's engineering courses (mechanical, aero, ship, ...) nowadays afaik. You may be interested in asking this question on the edu-sig mailing list (http://mail.python.org/pipermail/edu-sig) as I think the course organiser lingers around there.
Posted by Ray Hernandez on 2006-10-09 at 08:24.
Not sure if you are looking for an academic text but I see Dive Into Python recommended alot. I think it is a very thorough text. It has an ink and paper version as well as the academically sexy online version: <a href="http://www.diveintopython.org/">http://www.diveintopython.org /</a> As an employee of MSU I know that Python has slithered it's way into some different places around campus. You may also want to try some of the mailing lists that MSU has to offer to see what others might think.
Posted by Atanas Radenski on 2006-10-09 at 13:23.
A partial list of schools using Python is posted here: <a href="http:/ /studypack.com/comp/mod/glossary/view.php?id=2835">http://studypack.co m/comp/mod/glossary/view.php?id=2835</a> At the same site, you can find links to schools using a 'Python First' digital pack. A link to a paper that advocates the benefits of Python as CS1 language is posted here: <a href="http://studypack.com/comp/mod/resource/view.php?id=2 928">http://studypack.com/comp/mod/resource/view.php?id=2928</a>
Posted by rbp on 2006-10-09 at 13:23.
Senac's university centre in Sao Paulo (Brazil) currently teaches Python as the first programming language, for Comp. Sci. and Information Systems courses.
Posted by Michael Dillon on 2006-10-10 at 11:29.
Wilfrid Laurier University in Waterloo, Ontario, Canada, has just switched their first year Computer Programming courses from C to Python.
Posted by Vladimir Zanev on 2006-10-10 at 13:20.
I am a professor in Computer Science at Columbus State University, Columbus, GA. We are teaching a CPSC 6106 Fundamentals of Computer Programming for returning graduate students without background in Computer Science. It a remedy course covering topics of CS1 and CS2. We have decided to use the approach of Python first, Java second language. We have adopted and we are using the Study Packs available at <a href="http://studypack.com">http://studypack.com</a>. The textbooks and slides are available online, there are quizzes (multiple attempts), and lab work with each topic. Below I am copying some excerpts from student feedback about the Study Packs and Python as a first language. "With this class being 1 of three online classes that I have take so far in my Master studies, this online course has been the best so far. The CMS that StudyPack is using is great and makes Vista look like a 1,000 lb gorilla. The material is just right for a intro, online class, for returning students that may not be initially comfortable with online learning." "Hi Dr. Zanev. You asked for feedback on the course thus far, specifically with respect to using Python as a first language. I had never used Python before, but I've discovered that I really like it. It is fully featured, modern, sophisticated, yet elegantly simple. I can easily create short quick programs that would just be too much bother in a traditional compiled language such as Java or C/C++. I know a bit of Java, and I believe the two are complementary, especially in the manner in which Study Pack has prepared the Python course (using parenthesis around conditional expressions, using semicolons at the end of each statement, etc., make the transition to Java easier)." " I was very pleased with the Python course and hope to see similar course formats in the future. Python seemed to me to be very intuitive; however, my programming experience is, for the most part, limited to some introductory programming courses 20+ years ago, so I don't have much with which to compare. I really appreciated that the course was very structured and that student workload was predictable. I found that the quantity of material was a challenge at times and that your estimate of 18 hours per week for time required was accurate for me." "I like Python as an introductory language. Much easier than jumping straight into Java. Just looking at the first Java assignment has already convinced me of that. It may not be harder, per se, but it looks harder and would be very intimidating. I think Python is a lot friendlier, and the IDLE interpreter color coding makes it easier for novices to see what's going on."
Posted by Nick Efford on 2006-10-11 at 15:40.
We've used Python in the first year of our degree programmes at the University of Leeds in the UK for three years now. Indeed, it was, for a couple of years, the first language encountered by our students on single-honours programmes. Unfortunately, for reasons administrative and political, we've not been able to continue like this, but I've managed to keep Python as part of our first-year single-honours teaching, in the form of an open-ended, project-based module. We've also introduced this year an elective module in programming aimed at students studying something other than computing, and this, too, will use Python. Our students generally love Python, and increasing numbers of them are using it in their final-year project work.
Posted by Mark Guzdial on 2006-11-14 at 21:51.
I keep a list of schools that I've found using our media computation Python text at <a href="http://coweb.cc.gatech.edu/mediaComp- teach">http://coweb.cc.gatech.edu/mediaComp-teach</a>