January 2008

A PhD Student at CMU has created a VR Head Tracking system using a Wii remote and an IR sensor bar.  The effect is pretty cool!

Using the infrared camera in the Wii remote and a head mounted sensor bar (two IR LEDs), you can accurately track the location of your head and render view dependent images on the screen. This effectively transforms your display into a portal to a virtual environment. The display properly reacts to head and body movement as if it were a real window creating a realistic illusion of depth and space.

YouTube video link

He’s made the software available on his Wii projects site.

Wii gotta get one of these!

Today I attended the 4Cast Conference on Social Networking and Campus Impact
The purpose of the conference is to get people from around UIowa that
are interested in social networking together in one place to discuss
how to use social networking on campus.  I’ll try to blog about it as
things go along.

Conference start.  Jon Winet
gives an overview of social networking, web2.0, collaboration tools. 
Gives examples of weblogs, facebook/myspace, Google docs, flickr,
twitter, Second Life.  Issues about privacy and data
mining/aggregation.  Showed a video of a UI
Writers Worship doing a
reading in Second Life.  Discussed the convergence of information
sources – computer, TV, movies, cell phones.  Introduced an interesting
presentation technique called Pecha-Kucha: A powerpoint presentation using 20 slides, each slide shown for 20 seconds: 6:40 total presentation time.

Broke into discussion groups.  Discussed how SN tools support and
enhance teaching. and what can UI do to use SN tools.   Many of the
groups identified the need for some type of decision support system for
faculty to help them decide which tool could be used to address
different types of learning objectives. 

12ish: Lunch.  Very
yummy.  I spent much of it talking with a professor from the Spanish
Dept, who had questions about types of technology she could use NOW.

Broke into separate sessions that went into more depth on specific
technologies – wikis, Second Life, podcasting.  Ok, I went back to my
lab for this part of the day.

2:30: Overview of Personal Response Systems, or “Clickers,” which are used to get real-time responses from lecture students.

Summary and Discussion

was struck by the range of perception of and experience with different
social network technologies.  Some people had never heard of some of
the tools, some had heard of them but never seen them, some had seen
them and were not clear why they would use them in class, and some
(few) had used them in class and research.  It was good for me because
it challenged many of the assumptions and ideas that I have come to
take for granted in my social network research.

Access to the technical skills and resources to build and use social network sites was an issue for some departments.

We raised some of the obvious issues of privacy, data mining, and UI
social network policies.  One professor, for example, recently started
a Facebook profile.  She only allows her students to see a limited
portion of her profile, and asks her students to limit her access to
their profile.  She wants to keep a teacher-student relationship, and
doesn’t want to see their party pictures.  Another person suggested
that it may be proper not to Facebook-friend people while you are
teaching class, but you can be friends after.  It will be interesting
to see how institutional policies evolve in this area.

of the range of experiences, I think they could have done a better job
at introducing and organizing the social networking arena to the many
newbies in the group.  The first speaker did a great job of showing
some of the social network sites like Facebook, myspace, youtube, etc,
and even showed some examples of how they are being used in education. 
But I think this group needed to take a step back from specific tools. 
For example, I think social network technologies are good at 1)
locating and connecting people with similar interests, 2) enabling
asyncronous communcation and collaboration, 3) enabling reuse/mashups
of existing content and 4) aggregating many opinions or viewpoints
about a particular resource.  It may have been helpful to introduce
social networking by saying, “here are 4 uses for social networking
technologies, and here are particular examples of these uses.”  This
would have helped people to separate concepts about social networking
in general from the specific implementations you see in Facebook,
Second Life, etc.  Second, introducing social networking concepts
instead of specific tools may have helped people identify how these
tools could be used in their work and teaching.

Thought this would be an interesting discussion piece.

STSC CrossTalk – Computer Science Education: Where Are the Software Engineers of Tomorrow? – Jan 2008

It is our view that Computer Science (CS) education is neglecting basic skills, in particular in the areas of programming and formal methods. We consider that the general adoption of Java as a first programming language is in part responsible for this decline. We examine briefly the set of programming skills that should be part of every software professional’s repertoire.

The main argument here is that students are becoming programming plumbers – basically able to follow set patterns or string together libraries, but lack knowledge in fundamental computing areas to enable them to solve complex or large scale computing problems efficiently.  The article also describes some computer engineering skills/knowledge that programmers should have.

In the Iowa College of Engineering, first year students have a programming course in which they learn C.  However, the course skips pointers, references, and memory management in order to simplify the course and retain more students.  I’m not sure when, if ever, pointers and memory management are re-introduced into the engineering curriculum.  Perhaps somewhere in the EE track.  As a programmer, I hated having to deal with memory management and pointers, and I have been extremely happy to move from strongly typed compiled languages like C, C++, Java into scripting languages like Python and Ruby. But I think that a fundamental knowledge of memory management becomes like a common abstraction between languges that lets you learn new languages and techniques more efficiently.