Thursday, July 19, 2012

Computer science resources

in response to a question on open study about elearning for compsci


And virtually every language (java, python, ruby, etc...) has it's own tutorial, and many sites have numerous other tutorials 


It might be helpful if you were a bit more specific about what kind of programming you are referring to. There are concepts and then the specific languages.

Many combine both- http://greenteapress.com/thinkpython/html/ - how to think like a computer scientist- originally java, then rewritten for python.

Also I believe both Stanford and MIT have open courseware for this subject, including exercises, videos, etc...

--
D.I. von Briesen
The Creator is Greater

Thursday, July 5, 2012

On lecture capture

A couple of you expressed an interest in my work on trying to capture the full lecture experience electronically. I've been feeling guilty for not replying but want to do a more thorough job than I can for the moment- but figured in the spirit of "perfection is the enemy of the good" (some of you may remember that) will just get it started now.

I'm open to ideas and critiques, with the understanding that i'm only really just fleshing out the basics now, and that technology has a way to go yet.

When i look at a typical lecture class i see a couple variants;
- class size
- room size
- orientation (auditorium, square, board room, etc... particularly notable is the relationship of the speaker to the audience, or whether such a distinction is even made, since some will be everyone sitting together as peers).
- level of interaction (i.e. speaker to group, group members back to speaker, group members to each other)
- forms of interaction
-- face
-- body
-- voice
-- equipment (i.e. showing someone something, whether a ruler, laser, gear, or gasometer )
-- screen (projected)
-- white or chalkboard
-- anything else?


the combination of these things determines whether this is a tricky or easy task. For example, if you have a single speaker in a large auditorium with very little back and forth between the audience and speaker, with the speaker staying at the podium and using slides, you have the makings of a very easy lecture capture. You need only to record the speaker with a camera and mic, record what's going on on their screen, and make sure they repeat questions back (for the mic) before they answer them. 

That is, if you will the lowest bar, and has been done extensively. You see many such lecture out there. Here's a person just speaking - which could be toggled with a screen capture - but then you have to edit- nobody wants to edit: http://www.lynda.com/home/Player.aspx?lpk4=75286&playChapter=False

One i saw recently involved a speaker in a studio with a large flat panel TV behind them, showing what was on their laptop, on a podium/table in front of them: http://www.lynda.com/home/Player.aspx?lpk4=90426&playChapter=False - actually no laptop, but you get the idea.


(after finding that I realized there's an even LOWER bar- not really even a lecture capture because it doesn't capture somebody's lecture - http://www.lynda.com/home/Player.aspx?lpk4=107016&playChapter=False but is pretty common- a set of slides or digital interactions with a voice over. I suppose you could go even further with just the voice, or just the slides, but that's not even very interesting). 

Then it gets more complicated. 

All that teacher has to do is move from the podium to the whiteboard and start drawing, and suddenly you have mic issues, capture issues, camera issues that otherwise were not problems. Add to that a demonstration of some piece of equipment (think physics or medical class) or object (dissection, origami) and you've got an even trickier problem. 

I've looked at a variety of systems for lecture capture- and most of them are proprietary, and in being so, make the most obvious form of sharing/broadcasting.

So my requirements are:

- cheap or free
- single video stream** 
- affordable equipment
- minimal editing (if it requires a lot of work, most people won't do it, quite simply)
- editing on the fly (i.e. if you are switching views from your face to your drawing to your screen, make it easy to just toggle)
- ability to get face, body, drawing surface (whiteboard/chalkboard), objects, and screen into the feed.


So far my set of tools includes:

-Two good webcams of different makes (so the computer doesn't get confused- still learning about whether this matters) - ms lifecam and logitech 9000 (I think)
- screencastomatic to capture whatever happens on screen
- yawcam (multiple instances) to show whatever is on the cameras - lately exploring ispy software, which seems to be able to alone handle multiple video feeds
- some sort of mounting device to allow camera to point down to drawing surface on desk (small whiteboard and/or notebook/notepad) 
- appropriate pens/markers for drawing surface
- depending on environment, a drawing tablet (i.e. wacom or qomo or cintiq) - this COULD take the place of a physical surface


Note that I had a qomo tablet, did not have 2 cameras (so moved it around) or a good mount to point down. 

Feedback is welcome, and i'd be interested if you had a specific scenario of teaching you do to run these ideas against.

cheers,

d.i.



** (that is, even if you capture multiples, it should be reduced to one, until multi streams are more common on sites like youtube- that means either editing different streams together, or feeding them simultaneously, and then letting the viewer pick which one. All youtube videos are single stream (as are lynda.com). An example of multiple streams is here: http://lecturecapture.cpcc.edu/Panopto/Pages/Viewer/Default.aspx?id=f81e2d47-1dec-4c74-9db3-35f49b8e3eae - note how you can see 3 different feeds- two video and one desktop- and by double-clicking/plussing, you can make any of them full screen. This involves a good deal larger files, but leaves it to the audience to decide what to focus on.

--
D.I. von Briesen
The Creator is Greater