Wednesday, April 30, 2008

Check out Campus Technology magazine

I find something interesting in every issue of Campus Technology Magazine. For example, the current issue has an article on Wikis, Blogs, and More, by Matt Villano.

Villano describes the teaching applications of Jerry Kane at Boston College and Mark Frydenberg at Bentley College. He also describes several administrative applications. I am not particularly interested in administrative applications, but demonstrating them on campus might ease the way for the funding of services that can be also used by faculty in the classroom.

Campus Technology offers a number of newsletters, including one on Web 2.0. They also organize a conference, and this year the topic is Welcome to Next Gen .Edu!.

Mark Frydenberg -- using a wiki and Popfly

The business school at Bentley College offers a mandatory Introduction to Technology from a Business Perspective course for incoming freshmen. For students who do not need the standard introduction to IT concepts and Microsoft Office, they offer special sections. One of those, the "technology intensive" section, is taught by Mark Frydenberg. The course varies from term to term, but Frydenberg is trying to present basic IT concepts through the lens of Web 2.0.

You can review the syllabus, class wiki, and student blogs and contributions at the course Web site, but let me highlight a couple of items.

Freydenberg encourages the students to take control of the course via the class wiki. For example, students are assigned to post and revise class notes on the wiki each week. They are also encouraged to suggest exam questions, with answers and discussion. You can hear Frydenberg discuss their use of the wiki in this two-minute audio excerpt from a longer video interview.

Frydenberg also includes a taste of programming in his class. The emphasis is on algorithmic thinking and programming concepts like input-process-output, object, method, property, parameter, data type, and repetition, selection and sequential execution.

In past semesters, he has used simple VB.NET assignments to illustrate these concepts, but, with his focus on Web 2.0, has switched to Microsoft Popfly. He has developed two simple applications -- a coin toss program and a mashup between Microsoft Virtual Earth and an RSS feed of real estate listings. These not only illustrate the programming concepts he teaches, they illustrate aspects of Web 2.0 -- RSS, a mapping mashup, and easily incorporating an application into a Web page or blog post.

They also illustrate the power of building an application on top of network resources -- the students are surprised by how easy it is to create a complex application -- these Popfly programs are surely more impressive than the temperature conversion programs Freydenberg used when teaching with VB.NET. (This is similar to our contrasting an application developed using an Internet database service with the equivalent ASP.NET application).

Freydenberg demonstrates these applications and discusses his use of them in teaching programming concepts in this video.

Friday, April 18, 2008

Teaching Internet writing in a recreation and tourism managment course

One of the skills we might consider as part of computer literacy 3.0 is writing for the Internet.

We have also asked whether computer literacy should be spread throughout the curriculum or taught in one or more dedicated core courses

Larry Beck's course Wilderness and the Leisure Experience provides a good example of teaching Internet writing skills as part of a non-dedicated course. Beck provides small groups of students with the rough outline of a report, and they research and write it using a wiki. In doing so, they practice organizing themselves for collaborative writing and learn the mechanics of wiki and image processing software. Beck describes his course here, and you can see examples of student work here.

Beck spends a little time on a simple overview of the mechanics of using the wiki, and the students figure out the rest on their own. Someone in the group can usually help the others with the technology if need be. He gives them general instructions on the report outline and writing process, and requires periodic progress-check meetings with them.

See this presentation for an assessment Beck's experiments. (The writing portion begins with slide 23).

Thursday, April 10, 2008

Writing for the Internet: conversations, short documents, and collaborative writing

I will write 42 pages for class this semester ... and over 500 pages of email. Student quote, 2008.

Probably the most important thing and probably one of the surprises is you have to work with people who are good writers, Jason Fried, 2005.

Being able to write clearly, to write English clearly is more important to developing useful software than almost anything else and that's something you’re more likely to learn in the English department than in the computer science department
, Joel Spolsky, 2009.

I would not have made this so long except that I do not have the leisure to make it shorter, Pascal, letter, 1656.

Books must be read as deliberately and reservedly as they were written, Thoreau, Walden, 1854.

Students often wonder what potential employers are looking for. Jason Fried of 37Signals lists his five hiring criteria in this short audio. He singles out good writing as the most important criteria:
And finally, and probably the most important thing and probably one of the surprises is you have to work with people who are good writers. Everybody has to be a good writer. The programmer has to be a good writer. The designer has to be a good writer. The business guy has to be a good writer That's how people communicate now. People don't talk as much as they used to. They IM all the time. They email all the time. They're hopefully posting messages to Basecamp all the time. And you have to find people who can communicate by writing. Its very very important. If there is any miscommunication going on, its just a chink in the armor and you're going to have a real problem with that. You have to make sure that people can write.
Fried is not referring to people who can write excellent essays or term papers with properly formatted bibliographies, but to people who can read and write in the concise, unambiguous, focused, conversational style used on the Internet. Much Internet writing takes the form of a conversation, for example, a blog post with comments, a response to an email or listserve post with quoted snippets, or posts to a threaded discussion.

Over twenty years ago, Terry Winograd defined a four-category taxonomy for conversations that seems to cover much of today's Internet writing:
  • Conversations for action: a request or offer which is subsequently confirmed or dropped
  • Conversations for clarification: obtaining more information about something said earlier or in a prior conversation
  • Conversations for possibilities: creating ideas and selecting one or more for future discussion
  • Conversations for orientation: exchanging information about themselves or a situation (bilateral or unilateral)
The possibilities for the unfolding of a conversation for action are illustrated in the following figure from Winograd and Flores (page 65).

Party A makes a request Party B. B can accept, decline, or make a counter offer. Each of these in turn has follow-on possibilities until the conversation ends in one of the bold face end points. If, for example, the conversation reaches node 5, B has asserted that their agreed upon action is complete and A confirms that.

Winograd and his colleagues developed a software product called The Coordinator which imposed the formal structure illustrated above on top of email. With The Coordinator, one did not merely send an unstructured email message, one initiated a formal conversation with a request, and the recipient either accepted, rejected or negotiated a commitment with a date. Once a commitment was made, the system generated messages to keep the action on track.

The Coordinator failed commercially because it was overly complex and rigid, and users could do much the same thing using email with to-do lists and milestones as found today in a program like 37Signal's Basecamp. However, The Coordinator foreshadowed the sort of writing we do today on the Internet -- the sort of writing our students need to practice.

Our students should also learn to write (and read) short documents like Web pages and blog posts. Students often ask how long a term paper or other written assignment must be, hoping it will not be too long. But Google, large fonts and wide margins make it easy to pad and lengthen a paper. Given the short attention span of people reading from a screen, today's students should learn to write short, focused documents. User interface consultant and researcher Jakob Nielsen offers guidelines for writing for blogs and the Web on his usability blog.

Nielsen's guidelines are based on research showing that people scan Web pages, taking time to read about 20 percent of the words. The problem is exacerbated by the ease with which students can "multi-task" while online. But, careful reading, not scanning, is required for online conversation and concise, link-filled documents. Our students must learn to read carefully, in the manner of Thoreau.

Today's student will also be expected to write collaboratively on the Internet, typically using a wiki or shared document. The simplest form of collaborative writing is creating a compiled document, where each author's contribution is independent of the others. A good way to introduce compiled writing is to have students build a list of something -- a class roster, recommended restaurants near campus, recommended Web sites, etc.

With a co-authored document, the division of labor is less clear. A lead author may begin with an outline and invite others to flesh the content out. Another possibility is that the lead author writes a first draft, then invites others to modify it. Perhaps the authors can meet face-to-face to plan their work before writing, perhaps not. Regardless, all authors are free to edit any portion of the evolving document. The Wikipedia includes a page on writing better articles.

There is a gray area between compiling and co-authoring -- one person may revise another person's contribution to a compilation. One thing all collaborative writing has in common -- when one edits a common document, their goal should be to improve it.

Computer literacy 3.0 presentation

I am giving a talk on computer literacy 3.0 at the eleventh California State University Regional Symposium on University Teaching, at Cal Poly Pomona on April 12, 2008. You can download the annotated PowerPoint presentation here. (There are about 40 slides, including some cool pictures).

Tuesday, April 8, 2008

Toward computer literacy 3.0

We have seen two major shifts in computer literacy courses as technology changed. The first generation was made possible by the advent of time sharing and the second by the personal computer.

Today's shift to the Internet as a platform for developing and delivering applications seems as important to me as the shifts from batch processing to time sharing or from time sharing to the personal computer were, so I think it is time for another change. In moving to computer literacy 3, we must also consider the characteristics of our students who have had Internet access all their lives -- what they know and what they do not know.

Most of today's students are familiar with email, SMS, Web search, digital cameras, MP3 players, word processing, etc., but they typically use these tools without a mental model of the underlying technology and without considering their implications for individuals, organizations and society. As such, I would stick with the format of combining concepts and skills, but the concepts should now include network and communication topics like:

  • Accelerating improvement in communication, storage and electronic technology
  • Data types -- numbers, text, images, audio, and video
  • Data encoding and compression
  • Analog versus digital data
  • Circuit versus packet switching and the rudiments of layered protocols (at least application versus the rest)
  • Internet connectivity from fixed (home and organization) and mobile and portable locations
  • Rudiments of wireless technology -- transmission frequency, attenuation, modulation
  • Client-server and mashup architecture
  • Software as a service (for users and developers)
  • Telecommunication policy, environmental and economic impact
  • The global diffusion of the Internet
What about the skills portion of the course?

When Kemeny and Kurtz invented BASIC, they were interested in algorithmic thinking -- most application development remained the responsibility of professional programmers. With the advent of the PC and spreadsheet, many non-professionals became application developers. With the Internet as a platform, users can develop complex applications without programming or with a bit of scripting. (Professional developers can quickly do things that were previously impossible). Internet services are the “new spreadsheet,” and relevant skills include network-based application development and content creation, things like:
  • Using RSS
  • Using social bookmarking with tags
  • Creating online questionnaires
  • Creating online databases
  • Concise, often collaborative writing using wikis and shared documents
  • Synchronous collaboration using voice and video conferencing, chat and screen sharing
  • Creating and using blogs
  • Creating and using threaded discussions
  • Image, audio and video editing
  • Creating and using social networks
  • Data and service mashups
Note that many of these involve learning expressive skills as well as technical skills. Writing a blog post, a focused reply to an email or writing collaboratively on a wiki are not the same as writing a term paper.

A skill can also be taught as content creation or application development. For example, we might be satisfied if students use a minimal blog to track progress on an internship or project or we might ask them to create a more fully featured blog with various subscription options, mashups, usage measurement, etc.

In shaping a course, we should also ask whether to introduce a topic conceptually or teach it as a skill. For example, one can illustrate data compression and discuss quality trade offs with a simple class demonstration (like this, this, or this) in which you talk about perceived quality, file sizes and transmission times. Is that sufficient, or should the students be required to compress their own images or audio? For some majors, the answer is clearly "yes," but is it for all liberally educated people?

Monday, April 7, 2008

Today's computer literacy 3.0 courses

The following people teach courses that set the stage for computer literacy 3.0. Note that some are upper division or somewhat technical courses, but the material in those courses will be refined and winnowed for presentation in general computer literacy classes. (The first time I taught a computer literacy 2.0 class, it included such things as how to use DOS, 123, and Wordstar, but it was a graduate course -- such topics quickly moved to the undergraduate curriculum).

I include links to the courses and blogs of each professor.

Mark Frydenberg, Bentley College

Chris Lott, University of Alaska, FairbanksLarry Press, California State University, Dominguez HillsHoward Rheingold, Stanford and UC BerkeleyDavid Parry, University of Texas, DallasSteve Sloan, San Jose State University
Michael Wesch, Kansas State UniversityThis list is doubtless incomplete. Please send updates.

Saturday, April 5, 2008

Computer literacy 2.0

First generation computer literacy courses began with the work of Kemeny and Kurtz at Dartmouth College. The computer literacy course generally consisted of a skill portion -- BASIC programming -- and a conceptual portion covering topics like hardware and software, encoding of numeric and text data, applications, and the history and social implications of computers.

These first generation classes were geared to time sharing systems. With the advent of the mass market personal computer, the computer literacy course was revised.

Second generation courses generally dropped the BASIC programming component, substituting skill training with a personal computer operating system and file system and productivity applications -- word processing and spreadsheets, and, to the extent time allowed, database management and making presentations. When we shifted from command line to graphical user interfaces and Microsoft became dominant, this became training with Windows, its file system and Microsoft Office applications. With the Internet we added email and perhaps USENET news and with the Web we added browsing and search.

The proliferation of skill topics has extended that portion of the course, putting pressure on the conceptual portion. It remains, but less time is devoted to it.

For example, on my campus there are two computer literacy courses, one offered by the Business School the other by Computer Science.

CIS 270 Information Systems and Technology Fundamentals.
Provides an introduction to information technology, systems concepts, and application software. Covers system components and relationships, cost/value and quality of information, and package software solutions. Includes basic skills related to operating systems, word processing, spreadsheet software, and the Internet.
CSC 101 Introduction to Computer Education.
A computer literacy course designed to familiarize the learner with a variety of computer tools and computer concepts with emphasis on utilizing packaged programs. This course provides an introduction to the use of computers, common software programs and peripherals. Students are instructed in the use of a word processor, drawing programs, spreadsheet, database, presentation tools, internet applications and statistical package in scientific applications.
Both of these courses have two textbooks, one for Office applications, the other for computer concepts. Today's student often has skills with Windows, word processing, and various Internet applications, and the Internet has clearly emerged as a platform for developing and delivering applications. Courses like these are no longer appropriate.

Computer literacy 1.0

Early computers were expensive and complex, so it took special vision to see they would one day be widely used. John Kemeny and Thomas Kurtz of Dartmouth College held the conviction that understanding computers and their applications and limitations was an essential part of a liberal education.

During 1962, they and their students implemented several simple programming languages on the LGP-30, an early, expensive, desk sized, personal computer, and, by 1963, they had made the decision that all Dartmouth students would be taught computing.

Following a design policy that "In all cases where there is a choice between simplicity and efficiency, simplicity is chosen," they built the Dartmouth Time Sharing System (DTSS) and invented BASIC as a language for teaching programming. (The quote is from Kurtz' chapter in The History of Programming Languages). They also opened the first campus computer lab, shown above.

The project was sponsored by the US National Science Foundation, and in their 1967 final report to the sponsor they wrote:

Four years ago Dartmouth College reached the conclusion that learning to use a high-speed computer should be an essential part of liberal education. Four years ago this was merely a dream, and considered impractical by many experts. Today it is a reality...The average college graduate of today is almost sure to need a computer in his work twenty years from now. Therefore, we must prepare him today to use this most powerful of tools ... Even more significant is the need for changing the attitude of the typical intelligent person towards computers. ...It is vitally important that the leaders of government, industry and education should know both the potential and limitations of the use of computers, and to be aware of the respective roles of Man and machine in the partnership.
Dartmouth did not offer an independent computer literacy course at first, but integrated it into existing courses throughout the curriculum. Textbooks and full computer literacy courses followed. (Jeremy Bernstein, a prominent physicist and New Yorker author, published an excellent introduction to computers for the layperson at the same time -- it holds up 40 years later).

As the above quote shows, Kemeny and Kurtz realized computing skills were needed for work and computing concepts were needed to be an effective citizen. Early computer literacy courses recognized this, combining a skill portion -- an introduction to procedural or algorithmic problem solving using BASIC programming -- with computing concepts. In first generation computer literacy courses, those concepts included topics like hardware and software, encoding of numeric and text data, applications, and the history and social implications of computers.

John Kemeny and Thomas Kurtz:

What today's students know (and don't know) about information technology

Most of today's students are familiar with email, SMS, Web search, digital cameras, MP3 players, word processing, etc. Four reminders of their familiarity with information technology are:

However, like drivers of cars with automatic transmissions, our students may use these tools without having mental model of the underlying technology -- their skills typically outstrip their conceptual knowledge.

Nearly all of today's students can surf the Web, but many do so without understanding that there are multiple Web servers on the Internet and that "Internet" and "Web" are not synonyms. They can email photos, but have no idea why they are so big when they arrive and why it takes so long to download them. They are both inefficient users and poorly prepared for making business and application decisions.

Few have thought about the implications of information technology for individuals, organizations and society, leaving them poorly prepared to make political judgements.

Finally, as Ivan Illich has pointed out, working with poorly understood technology can lead to a feeling of intimidation and alienation.

(For further thoughts on this topic see this post).

About this blog

The idea of IT literacy began with John Kemeny and Thomas Kurtz. In 1964, they developed the Dartmouth time-sharing system and the BASIC programming language in order to teach IT literacy at Dartmouth College. They were motivated by their conviction that

knowledge about computers and computing must become an essential part of a liberal education. Science and engineering students obviously need to know about computing in order to carry out their work. But, we felt exposure to computing and its practice, its powers and limitations must also be extended to non science students, many of whom will later be in decision-making roles in business, industry and government. (reference →).
Kemeny and Kurtz emphasized the skills and concepts needed to be successful as a student and after graduation as a professional and citizen. Those skills and concepts, and hence the IT literacy course, change when new application development and delivery platforms are invented.

IT literacy could not be taught well using a batch processing system, but time sharing made it feasible. The skill component of the first generation course (called "computer literacy" at the time) stressed algorithmic thinking and programming using BASIC and the concepts focused on hardware, software, applications, and social implications of computers.

The emergence of the personal computer as a platform led to the second generation IT literacy course. We revised the curriculum, substituting skill with productivity applications, and later, email and Web surfing, for programming. We retained, the old concepts, but had less time to cover them.

Today the Internet has become an important platform for developing and delivering applications and our students have been using it since they were children. We need a new definition of IT literacy, IT literacy 3.0.

This table summarize the evolution of IT literacy:

GenerationPlatformCourse content
Batch processingNo IT literacy courses
1Time sharingBASIC programming (algorithmic thinking), IT concepts
2PC with a command-line user interfaceProductivity applications, DOS, fewer concepts
2.5PC with a graphical user interfaceMicrosoft Office applications, Windows, email and Web search, fewer concepts
3The InternetCreate content, develop applications, different concepts
3.5?The mobile Internet and the Internet of things???

I offer the following as a starting topical outline for an IT Literacy 3 course:
  1. Internet concepts
    1. Applications
    2. Technology
    3. Implications for
      1. Individuals
      2. Organizations
      3. Society
  2. Internet skills
    1. Application development
    2. Content creation
      1. Text
      2. Images
      3. Audio
      4. Video

This blog is concerned with questions like:

  • What skills should be included in IT literacy 3.0?
  • What concepts should be included in IT literacy 3.0?
  • Who is developing courses that teach these skills and concepts?
  • How are our student's backgrounds and expectations changing?
  • Should we teach IT literacy as a stand alone course or disperse it throughout the curriculum?
  • Does IT literacy require two full courses?
  • Should all students take the same IT literacy course or should there be different versions?