Re: Edu-sig digest, Vol 1 #721 - 8 msgs
What the greatest teaching tool ever for me would a >python tutorial on how to build a message board/forum.
I strongly suspect that such a tutorials already exists. In the form of working programs, which you can take apart, and analyze, and break, and then fix, and change, and break again, and fix again. I have searched for a while and the only one I could find is TPF http://gorny.cjb.net The problem is its note even commented
I have searched for a while and the only one I could find is TPF http://gorny.cjb.net The problem is its note even commented
hmm.. Yeah I searched on Parnassus quickly but I can't see anything there other than what you already found Tiny Python Forum 0.2 - Simple CGI script written in Python http://home.student.utwente.nl/g.v.berg/misc/tpf-0.2.tar.gz The code is not commented but looks reasonable at a quick glance.. The README file which the author includes has some simple instructions to installing and using it. Have you tried it yet? If you get it set up an running then start tweaking a few things as he suggests and grow from there. I am not clear at what level you want to learn. There are a number of books and sites which discuss general web programming concepts and protocols. Until I gained some of that understanding, I found many web programming packages incomprehensible, with or without docs and tutorials. I simply did not understand enough about how Internet and web protocols worked. And I remember looking through the source, I could not distinguish the Python programming language stuff from the web-specific code it was manipulating. It was exhausting. Looked in Python's own docs and saw HTTP server and more goodies. But I didn't know CGI or http so could not follow the text well or put them to use sensibly. Then I found a great book which helped me HTTP Essentials: Protocols for Secure, Scaleable Web Sites by Stephen A. Thomas [under $20 2nd hand] http://www.amazon.com/exec/obidos/tg/stores/offering/list/-/0471398233/all/r ef=dp_pb_a/103-2698402-8575801 Another incredibly useful book you might want to invest in is the O'Reilly "Python Cookbook" Edited by Alex Martelli & David Ascher. Some of the best Python projects are frameworks which offer high level access to complex features. Designed to save work for other programmers. For example, intense web tools like Webware or Zope which might do a what you want immediately and professionally. But they could well not teach you directly what you want to learn, because they are so too powerful, vast and sophisticated already. But a big part of programming in Python is about learning using how to use other people's code. It is one of the essential skills. But Art's comment along the lines of 'you don't need tutorials, just experience and other people's source' - simply does not acknowledge the overwhelming aspects at some stages in one's development. Python has an abundance of riches. But sometimes gently learning a core technique or how to a do a small simple task is obscured. Using other peoples' code intelligently does not necessarily mean you have to read or understand all [or even any] of it. Debugging an error does not mean one should or can understand the structure of a complex program. You follow the errors like arrows. One of the most important things which Tutorials do is provide a map of the most important features and structure in a meaningful sequence. Reading most source code will not give one that unless it is well written and beautifully documented. But some people develop amazing skill to study source code. Like poetry I wonder what can anyone else do to help one understand it. Hearing a poet read their own work is often [but not always] enlightening. I've had the privilege to sit next to a few good programmer friends as they talk/walk their way through some code they had written. As much as private study and hands-on *trying* is valuable, I learn something incredibly important in those sessions - how to approach reading and thinking about code. Which were the 'interesting' or clever bits, along with the trivial or boring parts And from there then how to discuss it and understand how to build a program. There is revolution being ushered in with instant messaging and presence which will open up code for live study and remote active collaboration. Imagine if IDLE had a group 'buddylist' you could use to share and browse with others. It will before too long I am sure. I am not advocating a passive approach. But being able to watch someone craft a program, to see how it grows or how it gets commented and turns from pseudo- code into the real debugged thing would be incredibly useful. For teachers and students, peers and reviewers. "All Software Should Be Network Aware" http://www.oreillynet.com/pub/wlg/3422 hth + good luck Jason
participants (2)
-
Conrad Koziol -
Jason Cunliffe