Programming to Connect The Web and Second Life, a Course

Forum for the CDS Artisan Guild


Moderator: SC Moderators

Post Reply
Jon Seattle
I need a hobby
I need a hobby
Posts: 648
Joined: Mon May 29, 2006 6:18 am

Programming to Connect The Web and Second Life, a Course

Post by Jon Seattle »

Programming to Connect The Web and Second Life, a Course

This course will be offered free to both to CDS and Cedar Island residents. The course will cover Python programming and LSL (Second Life) scripting with a focus on the development of external (web) applications that interact with Second Life scripted objects. Please IM me if you wish to take part.

The course will continue for ten weeks, meeting once a week beginning 12 April, tentatively on Saturdays at 1 PM SLT. In addition to homework assignments for the first five weeks, students will be expected to implement a web-based application of their own choosing. Some ideas:

1. The course focuses on teaching the basics of programming in the Python environment. In my opinion this is easier to approach than LSL (Second Life) scripting. Once a student has the conceptual background, learning to apply it to LSL scripting will be easier.

2. The course aims to bring students quickly to the point where they can start writing applications for the web, goes from there into scripting SL objects, and then doubles back to cover more difficult topics in web programming.

In order to complete this course you should know how to use the command line interface on your computer (Terminal on OS X, DOS prompt on PCs, Bash shell on Linux) and how to edit files using a text editor. Having some experience with programming of some sort is helpful.

Preliminary syllabus, by week:

1. Using Python as a calculator. Defining functions. How to use doctest to write automated tests.

2. Fundamental control structures: if, for, and while statements. Introduction to lists, tuples, and dictionaries.


3. Object oriented programming. The ADT idea, class definitions, introduction to inheritance.


4. Simple web applications. We will look at MVC object publishing frameworks (we will use CherryPy since it is very easy to get started). Also a quick introduction to CGI.


5. Basic LSL scripting. Controlling position, rotation, texture, and illumination of SL objects. Responding to clicks. Menus.


6. Writing a LSL scripts to get data from and send data to a web application.


7. Processing and generating text. Regular expressions, basic file IO, template engines. (we will use Mako.)


8. More advanced use of built-in data structures. List, tuples, and dictionaries. Introduction to relational database concepts though building a simple relational table using these structures.


9. Databases and object persistence. Practice with simple database queries using SQLite. Introduction to ORMs.


10. Final project workshop and demonstrations.

The Instructor

Jon Seattle (Jonathan Smith) hold a MS in Computer Science from New York University and a MA in Geography from University of Washington. As software architect, he currently heads a software group at Northwestern University devoted to developing web-based teaching and learning and content management applications. His former jobs included: Principal Software Engineer at Cognitive Arts (developing advanced educational systems), Principal Engineer at Avid (developing video and special effects software), Principal Member of Technical Staff at Sprint (international telecommunications). He is the founder of the Cedar Island community in Second Life http://cedar-island.org/ , founder and former Secretary of the CDS New Guild, and one of the people who started the CSDF http://cds-social-democrats.org/ .

Flyingroc Chung
Passionate Protagonist
Passionate Protagonist
Posts: 198
Joined: Thu May 25, 2006 2:55 pm
Contact:

Re: Programming to Connect The Web and Second Life, a Course

Post by Flyingroc Chung »

Interesting! How long do you plan one session to be?

Jon Seattle
I need a hobby
I need a hobby
Posts: 648
Joined: Mon May 29, 2006 6:18 am

Re: Programming to Connect The Web and Second Life, a Course

Post by Jon Seattle »

Flyingroc Chung wrote:

Interesting! How long do you plan one session to be?

It will depend. In general my thought is to hand out structured homework, have students attempt in on their own, provide help as needed via email and one-on-one sessions, and then answer questions / hold discussions during the classes, to last no more than two hours. In my experience lecture-centered teaching does not work well in SL. (And there are many studies showing that it does not work well in RL either.)

Flyingroc Chung
Passionate Protagonist
Passionate Protagonist
Posts: 198
Joined: Thu May 25, 2006 2:55 pm
Contact:

Re: Programming to Connect The Web and Second Life, a Course

Post by Flyingroc Chung »

Hm, interesting. My impression was that there was a lot of "no significant difference" syndrome, at least in computer science education. That is, alternative learning approaches tend to have no significant difference from the traditional lecture + lab structure.

Good luck with this; I wonder if you are planning on doing some sort of post-evaluation to see what the students learned?

Jon Seattle
I need a hobby
I need a hobby
Posts: 648
Joined: Mon May 29, 2006 6:18 am

Re: Programming to Connect The Web and Second Life, a Course

Post by Jon Seattle »

Flyingroc Chung wrote:

Hm, interesting. My impression was that there was a lot of "no significant difference" syndrome, at least in computer science education. That is, alternative learning approaches tend to have no significant difference from the traditional lecture + lab structure.

Specific references?

I know of one study that compared online CS education to traditional lecture + lab classes and reached this conclusion, but its not at all clear what part of the learning was provided by the lecture component vs. lab, and I have serious doubts about the quality of the online materials. Pew did a whole series of these in different fields with undergraduate classes. The results really do not apply to the kind of class I will be teaching -- it will center on labs and one-on-one tutoring.

On the other hand there is quite a bit known about long term knowledge retention in lecture-centered classes (not specific to CS) and it is clear that students have serious trouble retaining things they learn in passive contexts. Learners also have trouble transferring abstractions to specific problems unless they have practice doing so. See the excellent National Academy of Sciences / National Research Council study "How People Learn" for an introduction to these issues.

http://www.nap.edu/html/howpeople1/
and on transfer tasks: http://www.nap.edu/html/howpeople1/ch3.html

Do you especially like lectures or feel that we should focus on them in SL? If so why?

I should mention that while I will try to learn how people do in the class for my own purposes, I will not be collecting data for publication or formal research. My main purpose is to help students learn. To legally do research on students would require IRB (Internal Review Board) approval. But I will certainly tell you my impressions on how it turned out.

Flyingroc Chung
Passionate Protagonist
Passionate Protagonist
Posts: 198
Joined: Thu May 25, 2006 2:55 pm
Contact:

Re: Programming to Connect The Web and Second Life, a Course

Post by Flyingroc Chung »

Oh I agree with you completely that lectures are not the best way to teach in SL. Even with voice, there's a lot of body-language things that get lost. My impression of the no significant difference syndrome are just that, impressions from listening to a couple of professors who are doing CS Education type of research talk about it, this is not my area of expertise at all (though I *did* teach intro to programming classes for a couple of years).

I wish you well, there's a lot of challenges, as well as unique opportunities of collaboration from sing SL as a teaching platform. I'd really like to learn about how you guys will overcome the challenges and take advantage of the platform for learning.

Jon Seattle
I need a hobby
I need a hobby
Posts: 648
Joined: Mon May 29, 2006 6:18 am

Re: Programming to Connect The Web and Second Life, a Course

Post by Jon Seattle »

The course will meet tomorrow, 12 April, 1 PM SLT, in the New Guild / School. See you there!

Post Reply

Return to “CDS Artisan Guild”