Learn to Build Your Own Conversational Bot using ChatScript

Science fiction (i.e. Star Trek and Star Wars) paint a vision of the future where people can simply use conversational language to interact with their robots and computers.   In the future, conversation will become a first class user interface like the keyboard, the mouse, and touch screens.    Bruce Wilcox has made a powerful contribution to natural language processing and chatbots by creating ChatScript.  His work has won in the Loebner Prize Contest in 2010, 2011, and 2012.   I wanted to provide a high level introduction into this smart and insightful chatbot engine.    This is a true gem of the open source world.

Download ChatScript for SourceForge.NET

  • Open your web browser to http://sourceforge.net/projects/chatscript/ .
  • Click to the ‘download’ button.
  • After the ChatScript ZIP has completed downloading, unzip the file to a location on your hard drive.   (i.e. c:\chatscript or /home/user/chatscript).   We will refer to this location as your ChatScript home directory.

Test drive ChatScript

  • Open your ChatScript home directory.
  • Run ‘ChatScript.EXE’ (or LinuxChatScript32)
  • After ChatScript loads and you have provided your name, you will have the opportunity to chat with the small chatbot installed by default in ChatScript.
  • In the ChatScript home folder, open the ‘documentation’ folder to learn how ChatScript functions.   Bruce Wilcox and his team have provided a nice set of user guides to help you understand the language and process of creating a chatbot.   I highly recommend checking out the “ChatScript Tutorial.pdf” and “Paper- ARBOR-MakingItReal.pdf.”

Let’s add some personality

  • Open your ChatScript home directory.
  • Copy “Files1.txt” to “Files2.txt.”  “Files2.txt” will contain the topic files (i.e. “.top” files) that your personality will load.
  • Using your favorite text editor, we need to add a line to enable a new topic file.   We will also need to disable the “simpletopic” file.   Edit “files2.txt” so it looks exactly like the following.     Save your changes and close your text editor.

ChatScript File2

  • Open your ChatScript home folder.
  • Open the “RAWDATA” folder.
  • In this folder, create a file called “tutorial.top.”

cs helloworld

  • Open your ChatScript home folder.
  • Run ChatScript.EXE.  After the user provides their name, the user is greated with “Hello world.”

cs helloworld results

ChatScript enables you to organize your chatbot brain into conversation topics.     As you probably guessed, the first line of the script is associated with introductions.   Refer to the “ChatScript Tutorial.pdf” documentation for additional details.

Creating a virtual waiter

Let’s say we needed to program ChatScript to manage the process of ordering breakfast for a user.   Yum! What would this look like in ChatScript?   If you skim through the code below, you can probably understand the logical progression of the conversation.  I believe this is a major strength of ChatScript over alternatives.

Modify the “tutorial.top” file with the following code snippet.   To reload the ChatScript brain, type “:build 2” at the ChatScript prompt to reload the system.

topic: ~introductions keep repeat[]

t: keep() repeat() Hello! How are you? Welcome to Big Joe's Breakfast.  Can I start you off with something to drink?
	a: (~yes) What can I get you to drink?
		b: (*) Ok.  I'll get you your drink order. And I'll come back to take your breakfast order. ^reuse(READY_TO_ORDER)

	a: (~no) Ok. ^reuse(READY_TO_ORDER)

t: READY_TO_ORDER() keep() repeat() Are you ready to order?
	a: (~yes) Ok.   Do you like meat?
		b: (~yes) You might enjoy trying the green eggs and ham.
		b: (~no) You might enjoy trying our veggie omlette.  It's very good.

	a: (~no) I will be back shortly to take your order.

The following shows a sample Chat session using this script.

cs_waiter

  • t: keep() repeat() Hello! How are you? Welcome to Big Joe’s Breakfast.  Can I start you off with something to drink?
    • This line is a topic rule or gambit. (denoted by the “t:”)   Topic lines are executed from top to bottom so that chatbot creators can craft stories.  Topics are initiated by the bot when the system starts or the bot needs to shift the direction of conversation.
    • a: (~yes) What can I get you to drink?” – When the user wants something to drink. This rule will be triggered.   The “(~yes)” code will get triggered when the system encounters any form of an affirmative response.   In more technical terms, ChatScript will trigger this rule when the concept of “yes” is encountered.  While other chatbot frameworks pattern match on strings or text, ChatScript pattern matches on concepts.
    • a: (~no) Ok. ^reuse(READY_TO_ORDER) – This rule will reply “Ok” to the user and direct the system to trigger the “READY_TO_ORDER” rule.
  • t: READY_TO_ORDER() keep() repeat() Are you ready to order?
    • This topic rule is named “READY_TO_ORDER.”  The bot simply asks the question “Are you ready to order?”

Reflections on ChatScript

  • I really love the “concepts” feature of the language.   It’s really cool that the system knows that “I do!” and “I think so” means “yes.”
  • To prepare this small ChatScript code sample, I had to craft a focused story before designing my code.  I believe it would be interesting to introduce this technology to high school or college students interested in creative writing or drama.  Why?  The craft of designing the chatbot is like writing a scene from a play.

 “While ChatScript is a marvelous tool, it is not a chatbot. For that you need the script itself. And to write that script you need to define a personality, much as a novelist crafts a character. Who is the chatbot? What do they do? Who are their friends? What is their life story? We want to create a consistent being with a logical set of interests and intentions living in a rational world. The more a user can model the character’s personality, the more engrossed the user can become in the reality of a fictitious world.”
Bruce and Sue Wilcox – “Making it Real: Loebner-winning Chatbot Design”

  •  I would encourage the reader to explore the documentation for ChatScript.  This blog post only scratches the surface of the rich capabilities of the language.  In future work, we hope to create media to make ChatScript accessible to younger audiences and inspire the next generation of AI professionals.
  • Special thanks to Bruce and Sue Wilcox for creating such an amazing contribution to natural language processing.
  •  

    Photo from http://www.flickr.com/photos/edlitmus/4784371536/sizes/m/in/photostream/

     

Funny Message for Graduates from Jon Acuff

This is a great talk to share with your graduating seniors. Love Jon Acuff’s humor!!

On August 29, 2011 at Convocation, North America’s largest weekly gathering of Christian students, Jon Acuff entertained students with witty jokes about current trends on college campuses. Jon Acuff is a Christian blogger and author of the book ‘Stuff Christians Like’.

Using an online dropbox to make grading manageable

I am sitting in my office near the end of the Spring semester and I am surrounded by piles of paper (see the above picture- yes that is from my office). For the most part, these piles consist of assignments, lab reports, quizzes, exams, etc, that I have long since graded, but students have failed to pick up. Each semester, I dutifully box up the unclaimed papers and save them for the requisite two semesters before they are summarily dumped into the box destined for the shredder. I hate paper. It clutters up my life and keeps me from thinking clearly. It is distracting and it makes it hard for me to keep track of what is done and what is left to be done.

I am currently taking a training class on online teaching. One of the tools that we have discussed is a dropbox for student submissions. We use the Desire2Learn LMS, but I’m sure that the other systems have similar functions. While the training class was focused on using this tool for an online class, I think it would be incredible useful for my traditional classes. If nothing else, it will reduce the amount of paper that piles up in my office each semester.

Assignments where I plan on using the dropbox for student submission:

1)      Lab reports. Each lab report includes a summary of the procedures for a given lab, the results, conclusions and a set of given discussion questions.

2)      Article summaries. Students are required to find articles in the general media related to the topics covered in class. I ask them to write a short summary of the article, describe how it relates to the material we’ve covered in class and why they thought it was interesting.

3)      Unknowns project. I am thinking about implementing a project in which the students will have to identify an unknown microorganism. They will write a report summarizing the biochemical tests they used to identify the organisms. This report will include a dichotomous key and a profile of the microorganism they identify.

I am actually planning on shifting to this approach for my traditional delivery course in the Fall. I already require my students to submit lab reports and article summaries, so this will just be shifting these assignments into the virtual space. I think the advantages far outweigh the disadvantage. Top on my list is that it will cut down on the amount of paper that have in my office. There will be no chance that I could lose or misplace an assignment (which has been known to happen).  The other advantage is that students will have a more clearly defined deadline. I will probably still accept late assignments, but I think this will cut down on the number of assignments that trickle in after the due date. The disadvantages will probably be related to technical problems. Students without decent access to a PC at home (which should not be an issue if they signed up for an online class!), or with remedial computer skills will struggle with getting the assignments turned in on time. I will try to mitigate these problems by providing as much technical support as possible and writing out clear instructions for submission.

Each of these assignments will be graded out of a possible 100 points using a rubric that I will provide to the students. I will grade the assignments and provide feedback, as I see fit, within the comments section of the gradebook. Grading is one of the hardest parts of my job. I often get overwhelmed with the piles of papers and tests to grade, but I think that this tool will allow me to better manage the work flow, rather than overwhelm me. What is your experience using online submission tools? I know that some professors utilize programs like TurnItIn.com. Are there others that work better? I’d love to hear from you!

Can ChatBots Increase Student Engagement And Learning? [Case Study]

SIRI

 Our ability to speak and have conversations to pass on knowledge is one of our most cherished human qualities.   As a young father, I have enjoyed seeing my little ones learn new words and learn how to communicate their needs.  Learning language is one of our first big lessons of life.

For me, it has been exciting to see the increasing capacity of computers emulating humans.   In chess programs, computers show remarkable strengths in solving planning problems.   Researchers have built cars that can drive without human guidance over challenging desert.  [2] Programs like WATSON can now win game shows like Jeopardy. [3] This is amazing science!

Emulating human conversation, however, is still a frontier to be conquered.    While programs exist that emulate human conversation (i.e. chatbots), these programs still feel like computer programs.   We can do better!  Researchers from the center for Psychology at Athabasca University performed a study to answer the question if chatbots can emulate a historical figure and serve as a teaching tool in their distance learning programs.   For complete details on their study, please visit the following link.

Results from study:

A sample of 53 students from Athabasca University psychology students were asked to chat with FreudBot for 10 minutes, a chatbot programmed with domain knowledge of Sigmund Freud.   The students were asked focused questions regarding the quality of the activity and how they would prioritize improvements to the Freudbot.  Students replied to questions using a scale from 1 to 5 (1=negative, 5=very positive).  [1]

Let M = {average response from students}

  • Would you recommend this activity be expanded to include other topics? Yes (M=4)
  • How engaging did you find this activity? Yes (M=3.08)
  • How memorable do you think this activity will be for learning about Freud? (M=3.04)
  • How useful did you find this activity for learning about Freud? (M=2.96)

The study observed that students had no issues on staying on task.

Opportunities for improvement for FreudBot:

  • The students desired to see improvements in the quality of chat responses.
  • The students also desired to see improvements in the audio response of the system.

Personal reflections:

I believe we can achieve greater educational impact by exploring the following questions and observations:

  • ChatScript: This study used a technology known as AIML.  In particular, I would be interested in seeing if ChatScript can produce measured improvements in the quality of chat responses.   AIML pattern matches by string or text matching.  Let’s say you wanted to make your chatbot vegetarian.   In AIML, you would need to manually encode rules for every form of meat. (i.e. turkey, bacon, ham, steak, etc.)   Using ChatScript’s concept syntax (note the ~), you could express the rule elegantly in one line of code. [4]?: (Do you like ~meat?) No.  I am vegetarian.To learn more about the advantages of ChatScript from the creator of the system, please visit a great post by Bruce Wilcox.   It should be noted that Bruce’s work won the Loebner Prize in 2010 and 2011.
  • Less is more: Is it easier to improve the educational impact of the chatbot when fewer rules need to be drafted and maintained?
  • Student modified chatbots: Can we make changing chatbots accessible to students? What would be the benefits of students correcting the chatbot?
  • Video: Let’s say we’re talking with a chatbot of Albert Einstein.   If the student asks “what is your theory of relativity,” then the system can provide a brief answer with a link to a YouTube video.
  • Link to virtual worlds: Can the learning outcomes and the level of engagement improve if the students used SecondLife or Minecraft to encounter the historical character?   In an American history class, it would be cool to encounter Benjamin Franklin in his print shop or library in a virtual world.

 

As always, we love to hear your comments and ideas.    Have a great week!

 

Please consider supporting our Kickstarter project.  

[1] Heller, B., Proctor, M., Mah, D., Jewell, L. & Cheung, B. (2005). Freudbot: An Investigation of Chatbot Technology in Distance Education. In P. Kommers & G. Richards (Eds.), Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications 2005 (pp. 3913-3918). Chesapeake, VA: AACE.

[2] http://en.wikipedia.org/wiki/Stanley_(vehicle)

[3] https://en.wikipedia.org/wiki/Watson_(computer)

[4] http://sourceforge.net/projects/chatscript/

 

 

 

HistoChat: How To Enable Our Students To Chat with History

What happens when you put the following ingredients together?

  • 1 bright college student who has a passion for entertainment technology, drama, and computer science.
  • 1 artful user experience designer who loves researching human computer interaction.
  • 1 software engineer who likes to push the limits of machine learning and artificial intelligence.
  • 1 mission: to invent something cool to support great teaching and learning?

After studying various chatbot frameworks, collaborative proposal writing, and hard work, we are proud to present the HistoChat Kickstarter project.

Meet HistoChat

HistoChat is an open-source, modular chatbot service that connects students with historical figures to make history cool again.

histochat

 

Meet Patrick Mathis, Creator of the HistoChat Kickstarter Project

Patrick Mathis, a college student at Mercer University, came up with an answer. My software team and I had the pleasure of meeting Patrick through a technical communications class devoted to writing proposals. My team and I served as technical mentors to this class. In the spirit of project based learning, we challenged Patrick and his fellow students to collaborate with us to create innovations in educational technology. Since our generation is greatly influenced by mobile technology and gaming, we asked them to consider creating game based learning experiences.

Patrick and his team proposed the following question:  “Could we inspire the study of history by enabling students to talk with major historical figures of the past?”

Could we make it possible for students to with talk with Albert Einstein, Sir Isaac Newton, or Martin Luther King, Jr?   This sort of experience is explored by science fiction all the time! Consider the following example from “Star Trek: the Next Generation.”  In this scene, Commander Data using their Holodeck technology converses with Albert Einstein, Sir Isaac Newton, and Steven Hawkings as part of his personal study of humanities.

Sounds crazy right?

It turns out the research for meeting historical characters using technology has already started. Patrick and his team introduced our team to the “synthetic interview” research from Carnegie Mellon University.  In their study, students could ask questions of Charles Darwin.

During the HistoChat Kickstarter Project, we will be producing an open-source, modular chatbot service that connects students with historical figures to inspire the study of history.  This will follow the spirit of the “synthetic interview” research from Carnegie Mellon.    From a natural language processing perspective, we are also interested in pushing the limits of the chat bots medium using ChatScript by Bruce Wilcox.    Most chat bots found on the Internet pattern match on simple keywords and strings.   The ChatScript platform can pattern match on concepts while keeping a concise and clean syntax.   For more details, please visit the following article from Gamasutra.

Thank you’s!

Walt Disney once said that “All our dreams can come true, if we have the courage to pursue them.”  My team has been very excited that Patrick has chosen to collaborate with Mercer Engineering Research Center on this project.   We really appreciate Patrick’s extra time and effort in forming the vision for this project and the proposal video.   When we successfully fund the HistoChat Kickstarter project, we are excited to offer him a position on the team that will bring HistoChat to the teaching community.

We are also thankful to the leadership of Mercer Engineering Research Center, professors at Mercer University Department of Technical Communication, and leadership of Mercer University.    As a young professional, I am inspired by the spirit of collaboration to help foster creative project based learning experiences for students.

How can you help?

To our family of InspiredToEducate readers and #edtech community, we need your help to bring Patrick’s vision for HistoChat to students.  Please visit our HistoChat Kickstarter page and consider backing Patrick’s proposal.

HistoChat: Chat With History

 

 

Other posts on InspiredToEducate.Net:

How to Fund Your Cause or Idea with Crowd Funding?

lightbulb

Are you looking for a way to fund your dream project or support your cause?  The act of making a new product, an innovation program or creating a new service can be very exciting.    When planning any venture, leadership has to answer the question:  How do we fund this idea?

It breaks my heart to hear stories of teachers and faculty struggling to serve their students because funding is tight.   A huge barrier to adopting new educational technology is cost.   As we try to prepare our students to become the next generation of leaders, innovators, and teachers, it becomes imperative to provide technology resources to our students.   Access to educational technology and resources is especially challenging in our poorest neighbourhoods.   We do not want to increase divide between the rich and poor because of a lack of tools and resources.   How can we empower the community to help?

To share a personal story, my wife has been researching ways that she can offer an undergraduate research program at her school.   We have been exploring DIY Biology and related web sites, to find ways to establish a research lab at lower cost.    As grant funding becomes more competitive, we have started exploring other research alternatives.

What is Crowd Funding? 

“Crowd funding” is a movement enabling leaders and makers to ask their community to financially support a cause or project.   Don’t non-profit communities already do this?   Why is this new?   I believe the movement of “crowd funding” works well due to the network effects of the Internet.   If an idea is worth sharing, it will be shared!   If a cause addresses a deep need in the community, the community will respond, share and help.

As we have researched this topic, I wanted to share a few insights, links and resources that can help you fund your cause or idea using “crowd funding.”

How to Fund Your Idea with Crowd Funding?

1)  Find ways to add value to your community today:  Are there ways that you can share insight and knowledge with your community today using social media or a blog?   How can you serve your community today with information or practical tips?   There is research showing that having 1000 FaceBook connections that are your “raving fans” increases the probability that you can fund your idea using a crowd funding site.   Building a community around your idea is your first step.  (Refer to “The Art of Community” by Jono Bacon)

2)  Cast your vision and tell your story:  As you design your crowd funding campaign, it’s very important to communicate your story with clarity.   The story should include a brief elevator pitch summarizing your idea.      Whether you are presenting a project or cause, it’s also important to connect your community with the mission and vision driving it.    You may consider reviewing the excellent TED talk by Simon Sinek that provides insights into how great leaders inspire action.

3)  Learn from others:  As we have started the process of researching crowd funding options for Sarah, we have found value in review project ideas that won and lost.    For the Kickstarter community, you can use tools like http://www.kicktraq.com to gain insight into the velocity of various project ideas.   How did the better projects present their story?  If a project did not succeed in funding, what were the lessons learned?

4)  Don’t forget about incentive planning:  Some crowd funding websites require projects to include an incentive program.    When planning the amount that you need to raise for your project, make sure you account for costs related to your incentives.   You need to make sure to forecast the funding of all your incentives in addition to the costs related to funding your project.

5)  Additional reading and inspiration

  1. http://hopemob.org/
  2. Nice executive summary of various crowd funding sites: http://www.hongkiat.com/blog/crowdfunding-sites/
  3. Free Book on running a Kickstarter Project: http://kickstarterguide.com/files/2012/07/A-Kickstarters-Guide.pdf
  4. The untold story behind Kickstarter stats [infographic]
  5. “The Dynamics of Crowdfunding: Determinants of Success and Failure” by Ethan R. Mollick – University of Pennsylvania – Wharton School
We are very thankful to our student collaborators from Mercer University who have helped us study the proposal process.   Collectively, we have done a great deal of research on this topic.   If we can help you in anyway, please let us know.    Please leave a comment below.    We would love to support other innovators in the community.

 

Join the Middle Georgia Makers FaceBook Group 

Other posts on InspiredToEducate.Net:

 

Photo from http://www.flickr.com/photos/qisur/4351196974/

14 Top Posts From InspiredToEducate.NET

Mind Like Water

 

Photo from http://www.flickr.com/photos/astronomr/8489837349/

 

12 Steps To 3D Print Your Minecraft Creations

Chris Anderson, author of the book “Makers”, argues that the world becomes a more interesting place when the world of bits can be converted to the world of atoms.     With the rise of “3D printers,” teachers, students, hackers, and makers can design 3d models and “print” them.   The act of “printing” a “3d” model converts the digital file into a physical object.   If you don’t have a 3D printer, don’t worry.   You can outsource the job of 3D printing to various companies on the Internet.   You can think of these companies as the “Kinko’s” or “OfficeDepot” for making 3D stuff.   For many, the act of designing 3D stuff can be intimidating.   Players of the game of Minecraft, however, do this all the time.   In the game Minecraft, you can design complex 3D objects using an infinite bag of digital lego blocks.

Some brilliant guys from MIT have created a program that enables you to convert an object you created in MineCraft into a physical object.    Check out “Minecraft.Print”!  It’s awesome!  I have tried to outline the major steps of this process.

How can you 3D print your Minecraft creations?

  • Create a new world in creative mode called “minecraftprint”
  • After the world is generated, create a cool object that you want to print. For the purpose of this tutorial, I will export an existing object from the world. (i.e. a small mountain)
Print a mountain from Minecraft
  • To select an object in the world, we will need to select a low point and a high point.   This concept is easier to visualize in 2D.
Selecting a space for printing
  • “Minecraft.print” uses markers to define our low point and high point.   To select our mountain, we will need to place one marker at the base of the mountain.   We will place the other marker at another high point.   A marker is a stack of the following blocks: Diamond block, Gold Block, Iron Block.   Please know that the order of the blocks is important.   Make sure to select these items from your inventory.
Select marker blocks
  • Build the low marker.   For our tutorial, we are placing our marker at the base of our mountain.
Place lower block
  • Build the high point marker. To capture our mountain, we need to pick a high point.
  • We will need to install the following tools to get “Minecraft.print” running.
  • Download “Minecraft.Print” from https://github.com/codys/minecraft.print . Click the “zip” download button.  Please note that the following steps will need to be adjusted if you use another operating system. See the README file from “minecraft.print” for more details.
  • Unzip the python script in “C:\mcprint.”
  • Open a command window.
    • Click the “start” menu.
    • Select “run.”
    • Enter “command.”
    • Press “ok.”
  • Enter the following commands:
    • Cd c:\mcprint
    • C:\python27\python run.py minecraftprint export
      • You will need to adjust this command if python is not installed at c:\python27.
      • What does this command do?
        • [C:\python27\python Run.py] executes the “minecraft.print” process.
        • In your future work, you can replace “minecraftprint” with the name of a level.
        • “Export” refers to the name of the 3D model file that will be generated.
  • At the end of this process, the script will produce an “export.stl” file.    This file is ready for further edits or 3D printing.  Don’t have a 3D printer? No problem. You can print your STL file using the following services

 

So… what kind of game, toy, or device would you like to build using Minecraft and 3D printing?   How can this be used in project based learning?

 

Related posts:

Final result

Export file as viewed in MeshLab

How to Avoid The Technology Trap

warning

Technology is supposed to make out lives easier right? In many ways it has, but we must remember that technology is only a tool and it can be used for good or for bad. You can probably think of several ways, right off the top of your head, that technology has improved your life. Smart phones help us to be more organized. Facebook connects us with long lost friends. Online banking makes balancing a checkbook easy. But there are also ways that technology has negatively impacted our lives as well.

The first thing I think of is automated phone systems. Hours of my life have been lost in the virtual mazes of the customer service systems of my banks and insurance companies. Another example is what I like to call the “GPS effect”. This is when people rely so heavily on their technology that their forget how to think for themselves. I once gave a family member simple directions to the store near our house (less than 2 miles- two right turns and then you’re there). Instead of following my directions he got into the car and put the name of the store into his GPS. Unfortunately, it did not direct him to the correct store and we got a call an hour later saying he was completely lost. SMH. Finally, technology can make us feel connected virtually, without truly connecting with anyone. We can exist in a virtual world without experiencing the amazing things going on in front of our eyes. As a parent I must be particularly conscious of my tendency to plug in when I’m around my kids. They are only young once and I need to unplug my eyes from my phone and plug in my heart to my kids.

As a teacher I can see many ways in which technology can improve my classroom, but as in everyday life there are pitfalls that we must avoid. This is by no means an exhaustive list, but here are mistakes we can make as teachers and some ways that I think we can avoid them.

1) Disconnecting from assessment. I’ve been thinking about this one a lot lately. There are lots of tools that we can use to make grading and assessment easier. Some are old and some are new. Scantrons have been around as long as I can remember. When I started teaching I immediately starting using scantron testes because I was overwhelmed by the shear number of exams I had to grade. I just have to feed the tests into the machine and it calculates the grade and the class average and gives me a report on which questions the class struggled with. The problem with this approach is that I don’t see how each student answers the questions. I don’t know if they simply got mixed up between two similar concepts or if they just wildly guessed. I can spend time analyzing each exam, but it is easy to just spit back grades at my students without paying attention to what the grades mean. This can happen with all types of technology- classroom response systems, online homework programs, multiple choice tests, etc. We must be intentional about looking at our student assessment and using it as a guide in the classroom, making adjustments to our classes as necessary, not just as benchmarks as we proceed through the semester.

2) Disconnecting from the students. In this age of email and electronic communication it is easy to walk in to the classroom, lecture and never actually talk to my students. This world is already so impersonal. Let’s not make it worse. Students who feel cared about will be more engaged in the material and more likely to succeed. Learn your students names. I average about 100 students a semester. It takes me most of the term to learn their names, but I know that they appreciate it when I do. Talk to them about things outside the class. Get to class a little early. Spend five minutes talking to students about their other classes, their families, politics, whatever they are interested in that moment. Get to know them a little and let them get to know you. We can use technology to do this as well. Set up discussion boards in Blackboard/WebCT/Desire2Learn etc that allow students to introduce themselves and create a sense of community.

3) Letting technology be a distraction.  I know that I have done this. I’ve been excited to try a new tool, but haven’t completely learned in before introducing it into the classroom. I’ve been known to spend 5 minutes at the front of the room tinkering with the computer. I went to a seminar last week where the presenter said that he has a 90 second rule. If he can’t get technology to work after 90 seconds, he proceeds without it. I think that is a good rule of thumb. I think it is also important for us to learn the best ways to use a particular tool before trying it out. Take the time (I know, who has the time these days) to really train yourself on a new tool. It will pay off. The better prepared you are, the more you will get out of using a particular technology. Again, it’s not what you use, but how you use it.

What are some pitfalls that you see with using technology in the classroom and how do you avoid them?

Related Posts:

 

Photo from http://www.flickr.com/photos/fahdad/30720601/sizes/m/in/photostream/

7 Lessons from Teaching a Kickstarter Class

kickstarter

Kickstarter.com helps creative people and makers bring their projects to market.   If you are going to create something new like a music album, a new video game, or a movie, you need funds to pay for labor and resources.   Kickstarter.com provides a platform to enable creative individuals to share the story about their project and ask the community to help fund it.

In my professional work, we have looked for ways that our software development team can support deeper learning in higher education.   Through collaboration with Mercer University School of Engineering and the Technical communications department, our research center was given the opportunity to help mentor students.   We are very thankful for the professors and leadership of the Technical communications department enabling us to mentor students from the proposal writing classes.   While the students learned various aspects of technical writing, the professors designed their classes in a project based manner.   This was a perfect environment for the challenge we would offer to students.

Our software team had the opportunity to mentor two semesters of students.    We challenged the students to design an educational video game that would delight college students.   The games were designed to maximize fun while helping student gamers to “learn by accident.”   By co-developing the project ideas with students, we hoped to conduct research with them while also funding future internship opportunities for the students.

So… Why should we teach with games?

– We learn by doing. Student learning increases when they can immediately apply their knowledge.
– Games can be a platform for teaching systems thinking (i.e. the Sims, FoldIt! )
– Games can inspire large scale collaboration (i.e. Wold of Warcraft)

Lessons Learned from teaching KickStarter and Game based learning:

–   Learning creativity:  The students who selected the Kickstarter game design challenge utilized thoughtful creativity to draft their educational experiences.    Students explored almost every genre of gaming including social games, casual games, first person shooters, MMO’s, and other virtual environments.   Their subjects ranged from math, personal finance to history.   The imagination from the students was very inspiring.

– Learning the art of persuasion and marketing:   When I learned technical writing in college, I have to confess that it was very dry.  I really enjoyed seeing how the teachers shared the craft of writing with the students through proposal writing.    The students had to learn to share their visions and scope with written and visual clarity.   The project proposals considered needed to address planning concerns of cost, schedule and scope.   By developing a Kickstarter proposal format, the students also learned the craft of engaging the community by sharing a clear vision of why their proposal can benefit education.

Leadership and working as a team:  Drafting a proposal that inspires leaders and the community to care about a cause is very challenging.   The teachers of the class organized the students into project teams.   Through this process, the teams selected leadership and organized the various phases of the project:  letter of intent, requirements drafting, story board drafting, drafting budgets, and video recording.

– Building high level requirements for programmers:  To help keep the students organized in communicating with our software engineering teams, we mentored them in creating user stories for their ideas.    User stories are a light format for documenting software requirements.   Through this process, the students learned to prioritize their requirements and focus their product designs so they have a minimal viable product that is more likely to be funded.

– Estimating budget:  Students worked with a software engineering team to scope and estimate a budget for their project.   Using the user stories/requirements the students created, the software team treated the students as customers.    The programming team offered potential implementation ideas, offered coaching on having a clear elevator pitch, and making sure the students considered all the design elements required for a game.

  • What’s the objective of the game?
  • What are the rules of the game?
  • Why would I play?
  • How does the player receive feedback about progress? (scores, badges, visual space)

– Introduction to game based learning:  I really enjoyed seeing the students share their final presentations.    Game based learning is a relatively new concept in educational technology.    It was exciting to see these undergraduate students propose new ways of teaching using gaming.

– Story telling using video: To conclude the proposal process, some students created draft videos in the “Kickstarter” style.  During this phase, the students drafted their video messages using an outline or story board.

My team and I really enjoyed our opportunity to serve as mentors in this technical communications proposal class.    During the closing presentations, I realized that we had transformed these student teams into teachers.    The students were passionately advocating for their idea that can help enhance student learning and make it more fun.    To be honest, some students were more engaged than others.      I, however, enjoyed the process of mentoring these students in creativity, planning, and communication using our mash-up of Kickstarter and project based learning.

Related Entries:

 

Game based learning

Game based learning