
I should introduce you to some of the characters on board edu-sig. ........
Fascinating stuff, Kirby. Thanks! Just kicking around some more ideas on Python in education. I am the assistant for a class on Game Programming, and just got the Python bug when I started using it for a research project (which hopefully shows up in PyCon - http://www.tacticallanguage.com). Anyways, I've been thinking of ways to introduce Python as a model for scripting languages (OK, OK, I know Python is not a scripting language, but it is most often used as one in the video game development cycle) for this one semester course. A problem arises in splitting the limited course time between teaching them 'hard skills' such as building the bare metal of their 'Game Engine', and soft skills such as designing a scripting system. I'd also like the students to write the binding code themselves, not because I'm a masochist, but because it will be invaluable should they enter the industry and be in charge of writing a scripting system. My objectives for introducing Python will be to introduce an appreciation for language design (our school sticks to C++ for most of the undergraduate coursework), and to get them thinking about building flexible applications. The one option here is to write the basic framework myself, including some binding code (that'd give them a head start, but they'll have to extend the application on both the C++ and Python side - and that should give them the experience they need). Has anyone here experimented with using the C++/Python combination as an example of how one could produce flexible systems (not just for games, but in general). If so, I'd love to hear about it. Thanks, Prasan

Prasan writes -
I'm a masochist, but because it will be invaluable should they enter the industry and be in charge of writing a scripting system. My objectives for introducing Python will be to introduce an appreciation for language design (our school sticks to C++ for most of the undergraduate coursework), and to get them thinking about building flexible applications. The one option here is to write the basic framework myself, including some binding code (that'd give them a head start, but they'll have to extend the application on both the C++ and Python side - and that should give them the experience they need). Has anyone here experimented with using the C++/Python combination as an example of how one could produce flexible systems (not just for games, but in general). If so, I'd love to hear about it.
Are you aware of the Boost libraries for writing Python extensions in C++? http://www.boost.org/libs/python/doc/ The beauty being that bindings created with Boost allow C++ classes to be inheritable and extendible in Python, rather than just scripted by Python. VPython - which is a 3d library - uses Boost in its "experimental" 3.0 version. http://www.vpython.org/linux_download.html Why not get your students pitching in on the continuing development of VPython? Art

----- Original Message ----- From: "Arthur" <ajsiegel@optonline.net> To: "'Prasan Samtani'" <samtani@ISI.EDU>; <edu-sig@python.org> Sent: Friday, December 17, 2004 4:14 AM Subject: RE: [Edu-sig] The power of interactivity
Are you aware of the Boost libraries for writing Python extensions in C++?
http://www.boost.org/libs/python/doc/
The beauty being that bindings created with Boost allow C++ classes to be inheritable and extendible in Python, rather than just scripted by Python.
I've used boost::python, and I like enough to use it at work. However, for the classroom, I'm using Python as a model for scripting languages, and I think that understanding the idea of 'extension' by hand-coding some bindings would be useful (we could of course require the bindings to be hand-written as a homework ass., and then recommend they use boost::python for the final project).
VPython - which is a 3d library - uses Boost in its "experimental" 3.0 version.
http://www.vpython.org/linux_download.html
Why not get your students pitching in on the continuing development of VPython?
Thanks for the link. However, once again, for the classroom, we'd still like them to understand how games are built (including some of the nuts and bolts that are already implemented in VPython) from the ground up. Thanks again, Arthur.

Prasan writes -
Are you aware of the Boost libraries for writing Python extensions in C++?
http://www.boost.org/libs/python/doc/
The beauty being that bindings created with Boost allow C++ classes to be inheritable and extendible in Python, rather than just scripted by Python.
I've used boost::python, and I like enough to use it at work. However, for the classroom, I'm using Python as a model for scripting languages, and I think that understanding the idea of 'extension' by hand-coding some bindings would be useful (we could of course require the bindings to be hand-written as a homework ass., and then recommend they use boost::python for the final project).
I guess the distinction between hand-coding and what it is one does using the mechanism provided via boost is lost on me. I understand that SWIG is an automated tool, and can better understand the distinction if made as to that tool. Do you mean you want the student writing directly to the Python extension API In C, versus C++, counting references (as if I understand what I am saying by saying this) - and so forth. I recently saw the release of package in the graphics area that had ported, in the new version, their C extension code to Pyrex. Once again, the problem is a good one - a number of good and interesting possible ways to go. Art

Prasan - You should also definitely look at Panda3d, if you have not: http://panda3d.etc.cmu.edu/ Developed by Disney and now being supported at CMU, They may, in fact, have beaten you to the punch. It's pretty big league stuff, it seems to me. Art
-----Original Message----- From: edu-sig-bounces@python.org [mailto:edu-sig-bounces@python.org] On Behalf Of Prasan Samtani Sent: Thursday, December 16, 2004 1:27 PM To: edu-sig@python.org Subject: [Edu-sig] The power of interactivity
I should introduce you to some of the characters on board edu-sig. ........
Fascinating stuff, Kirby. Thanks!
Just kicking around some more ideas on Python in education. I am the assistant for a class on Game Programming, and just got the Python bug when I started using it for a research project (which hopefully shows up in PyCon - http://www.tacticallanguage.com). Anyways, I've been thinking of ways to introduce Python as a model for scripting languages (OK, OK, I know Python is not a scripting language, but it is most often used as one in the video game development cycle) for this one semester course. A problem arises in splitting the limited course time between teaching them 'hard skills' such as building the bare metal of their 'Game Engine', and soft skills such as designing a scripting system.
I'd also like the students to write the binding code themselves, not because I'm a masochist, but because it will be invaluable should they enter the industry and be in charge of writing a scripting system. My objectives for introducing Python will be to introduce an appreciation for language design (our school sticks to C++ for most of the undergraduate coursework), and to get them thinking about building flexible applications. The one option here is to write the basic framework myself, including some binding code (that'd give them a head start, but they'll have to extend the application on both the C++ and Python side - and that should give them the experience they need). Has anyone here experimented with using the C++/Python combination as an example of how one could produce flexible systems (not just for games, but in general). If so, I'd love to hear about it.
Thanks, Prasan
_______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig

----- Original Message ----- From: "Arthur" <ajsiegel@optonline.net> To: "'Prasan Samtani'" <samtani@ISI.EDU>; <edu-sig@python.org> Sent: Friday, December 17, 2004 4:20 AM Subject: RE: [Edu-sig] The power of interactivity
Prasan -
You should also definitely look at Panda3d, if you have not:
Developed by Disney and now being supported at CMU,
They may, in fact, have beaten you to the punch. It's pretty big league stuff, it seems to me.
Art
Looks like a research team is running it though.... our aims for the class are set far lower - it is a one semester introduction course (which means students may not have _any_ 3D experience before stepping into the classroom). A simple space-shooter or tank game are examples of past projects.
participants (2)
-
Arthur
-
Prasan Samtani