Showing posts with label Creating With Computers. Show all posts
Showing posts with label Creating With Computers. Show all posts

Monday, November 10, 2014

Memory Game Built Using LiveCode



How good is your memory?

Here is a little LiveCode example project based on the old memory game that requires that you repeat a specific pattern. The game begins by clicking the start button and will continue incrementing up until you make a mistake. How high can you go? I pretty much bomb out at 7 or 8 steps.

This LiveCode example works both as a desktop application or as a iOS mobile application. The scripts/code for this project live in the “Start” button, the Card script, and the colorful game buttons: one, two, three, and four. The card script contains the CheckProgress command which determines whether the player is correct or incorrect. It also contains, essentially, a matching series of code that the desktop version of the Start button uses, but incorporates the iOS specific commands for mobile. If you compare the iOS code in the Card script, and the desktop app code within the Start button, you will notice some similarities.

The musical notes were created in Apple’s Garageband and saved as mp3 and wav files. The mp3 files are referenced from within the iOS package (they are included as individual files in the apps sandbox) in order to play and the wav files are imbedded into the application for playback in the desktop version. (MP3 files were converted to wav files using the OSX terminial application afconvert.) You will notice differences between the desktop code and the iOS mobile code.

Finally, to address different screen resolutions on both an iPad and an iPhone, it uses the “fullScreenMode function within LiveCode, a relatively new addition to the development tool, to make adjusting screen resolutions automatic. The application will automatically resize itself to fit within the devices screen resolution. It is one line of code within a preOpenStack call: set the fullScreenMode of this stack to “ExactFit.” That’s it.

The Memory Game project file is available here: Download .

Here is a short YouTube video explaining more about the process of creating the memory game example with LiveCode and a peak at the code:



Wednesday, October 1, 2014

Create Close Reading Activities for Your Students in LiveCode

Something I read this morning got me thinking about “close reading” activities for students. There are many different examples of them. I thought I’d take a few minutes to code up and example using LiveCode. I tried to add comments in the code as much as possible. The code is in the button, “Create Activity” and there is one function in the card script. (You will need to download the free LiveCode Community Version to open this project.)


This little example is just a quick prototype. It is not finished but could be easily taken and built upon.





I can envision this being used a teacher tool that creates close reading activities for students. Teachers could create entire collections of these activities and then store the students results. The main idea was something that was simple and quick for teachers to use.

The large top left field is where the teacher pastes the student reading selection. I should warn you that none of the text fields are protected (locked) so you can accidentally delete content or resize objects etc. If you mess something up, you can always download another copy.


The button titled, “Create Activity” is where the magic happens. After you have pasted your text selection, clicking the Create Activity button start the activity. A series of three buttons is created each containing a random word from the text selection. One of the words in the text selection has been replaced with a blank line, “*______*.” The student is responsible for selecting the correct word from the three choices (buttons).





There are many ways this activity could be tweaked to provide a different flavor of activity. Hopefully it will give you some ideas. The LiveCode project is available here: “Another Close Reading Activity Build in LiveCode.”


Just another simple example of some of the things you can do with LiveCode :)

Tuesday, May 22, 2012

Coding Club - Elementary And Middle School Students Learning to Code

Coding is a raw material, it is like, wood, paper, oil, iron, water or wheat. It is a green resource, and it supply is potentially limitless. Just as resources and raw material can be used to make anything, coding can be used to create anything too.

Learning to code, by definition, is an example of applying what you’ve learned. To code and create is the ultimate assessment.  I believe a good part of the future belongs to those who know how to code. I was listening to a presentation online by @swissmiss, Tina Roth Eisenberg,  at the TYPO conference in the in San Francisco, and she shared a quote from James Murphy, former frontman for LCD Soundsystem, “The best way to complain is to make things.” I could not agree more.

When I refer to creating code, I simply don’t mean knowing the ins and outs of some obscure programming language, or sitting in front of a computer writing lines of code, hour after hour. No, what I’m referring to is seeing a need, or recognizing a problem, and creatively constructing a possible solution or answer. To code is to make with purpose, whether that purpose is addressing world hunger, or to entertain. Purpose is the real “mother of invention” not necessity. We all need many things, but need is based on consumption. Purpose is based on action.

With that in mind, I’d like to share my experience with a group of 5th, 6th, 7th and 8th graders, approximately 20 in total and our after school Coding Club adventure. My purpose over the five weeks that we met was to evaluate the potential for our technology teachers to begin incorporating some introductory programming, or coding concepts.  I had two teachers with me in the club a fifth grade teacher and the middle school technology teacher. The group consisted of girls and boys from one of our elementary schools and from one of our middle schools. I think it was noteworthy that the elementary students consisted of both girls and boys, while at the middle school it was all boys. I think this fact alone goes to show we need to do a better job as educators promoting technology skills with our girls.

We met five times, after school, for about an hour, once a week. This was relatively a short amount of time, but looking at the current full curriculum, we realize that incorporating new concepts into the curriculum initially would take some time. Time, a resource in today’s age of Common Core standards and high stakes testing , is very limited. My ideal plan for the future would be once students have mastered some essential concepts, and know how to address their questions on their own, that the coding part would be incorporated into existing Language Arts, Science and Mathematics, Visual Arts, etc. curriculum. (Obviously I have high standards and expectations of our great teachers, and this would be no simple task.)
 

The first meeting started with an explanation of the programming application’s tools. We used this first meeting to discuss concepts such as the fact that objects make up a user interface and explained that when developing apps everything is event driven. One strategy that we utilized was to create screencast videos presenting the concepts that we were focusing on for that day. However, each screencast purposely demonstrated much more than the targeted concepts. We purposely sped up the playback of the video to accommodate the additional concepts with the hope that students could go back a review, stop the video at places of interest, and for those that were ready, learn those concepts on their own.


We quickly proceeded to demonstrate some very basic animation concepts, similar to what you may have learned in your Logo introductory computer class years ago. In our examples, students learned how to import an image and animate the image across their screen. They also learned about object properties and how those properties can be adjusted, on the fly, by using code.

In latter meetings, students learned about concepts such as screen coordinates, variables, functions such as the random() function, and repeat/loop structures. These concepts were all demonstrated and explored in projects that the students could open, tinker with, change, and modify. In addition, the mathematics concepts were pointed out that were embedded into the coding examples.

We knew we wanted to use a tool with students that would allow us to essentially, eat our own dog food, so to speak. We wanted to create curriculum for the students that they could easily get into, pick apart, and see how it worked, how it was created. Imagine if you had a language arts teacher who was creating curriculum that taught a language arts standard through a little application that could then be pulled apart and recreated by the student ad infinitum. The tool we were using allowed us to create projects, upload them to our free DropBox public folder, and then allow students to type a basic URL for that project in a field in the development tool, the message box. That development tool would download and instantly open the curriculum project. It was a great strategy for quickly sharing concepts via working little applications. 


There are many applications that teachers could use to share the fundamental concepts of coding and programming. Scratch, GoogleBlocky, Alice, Squeak to name just a few. These all do a fantastic job of demonstrating common coding procedures.

We elected to use LiveCode from RunRev for some of the reasons explained above. Though not free, LiveCode is a professional level development tool that runs on many platforms Windows, Macintosh, Linux and compiles projects into applications that run on Windows, Macintosh, Linux, iOS and Andriod platforms. LiveCode gives us the flexibility to design curriculum for wide variety of student levels, from elementary, secondary, post secondary/adult learners. RunRev provides educational pricing to educational institutions and students. You can get more information at their web site, www.runrev.com.

Overall the students and teachers had a great experience. By the last two meetings, after the students had some fundamentals under their belt, they began to explore. Some students enjoyed downloading the many example projects on the RunRev web site created by professional developers, others started creating projects such as “choose your own story” where they coded narratives to their stories where the user drove the narrative. Still others downloaded tutorials on their own and created projects such as calculators, which they then compiled into standalone applications.

Overall I was very impressed with what the students were able to accomplish in such a short amount of time. They were enthusiastic and comprehended concepts much faster that I had originally thought they would. Our Coding Club was a great proof of concept for the purpose of incorporating coding/programming concepts into our elementary and middle school curriculums. If you will be going to ISTE this year in San Diego at the end of June, be sure to swing by my poster session on Wednesday morning and say hi. I’ll be sharing more about LiveCode and how we’ve been using it in my district.

Friday, July 15, 2011

Floating Cities & K12 Learning - Instructional Game Theory Model

Imaging using a tool to create instruction that incorporates both synchronous and asynchronous student participation, requires students to work together, does not limit students by age, grade level or location, has very few rules requiring students to create and learn the rules as they progress, incorporates skills students will use in “work” world, promotes creativity, writing, questioning, fact gathering, uses intrinsic and extrinsic rewards, provides ample feedback (from teacher, “peers,” and self), addresses content standards, incorporates the students’ physical environment, provides a model for ethical and responsible engagement, social networking skills, multiple solutions, “highly” engaging, game play, writing for multiple purposes, digital and physical components, and the tool could be reused over and over again for different instructional goals.

Imagine that this tool could be used to teach a specific concept in a particular grade, used to teach an entire class, or even used as a tool to develop an entire school.

What might that tool look like? It may sound like I’m describing the “Holy Grail” of instructional tools. I don’t think I have discovered that particular tool, but I do think I have an idea of one that seems to point in a direction that leads to more possibilities in the “Holy Grail” tool direction.





A few weeks ago I caught wind of a site called The Floating City. It was created by Thomas Dolby, the musician - “She Blinded Me With Science” fame, and a small crew of creative individuals not numbering probably more then ten, from what I have read. The site is named after his next album, The Floating City and takes place on a fictitious world, in an era which seems to be around the time of the Second World War and loosely imaged as what the planet may have looked like if things turned out a little differently. To get a visual, think of the Kevin Costner movie, Waterworld, but taking place during the 40s with a strong SteamPunk theme. The site is designed as a multi-user game, with teams of players searching for clues as to the reason for the (fictitious) Floating City. Along the way, players of the game read the Gazette, the only remaining news paper, gather clues floating in the water, trade objects (named after some of the lyrics in a Dolby song) back and fourth to create complete sets which then can result in codes to download complete mp3s of the particular Dolby songs. Everything in the game from the objects, the Gazette, the names of locations on the world map, to the clues that are provided through game play, are provided to give players a chance at forming their ideas related to how the Floating City came about. Is there a correct answer? Will one be fleshed out? Either way, it’s a great strategy to promote creativity. If you’re interested, I highly suggest you take your browser over there and get yourself an account and check it out.

What I really enjoy about the Floating City site is how it was constructed and the learning model it promoted. As I mentioned earlier, the Floating City was constructed with a small, creative, team of developers. They took advantage of OpenSource and free tools, such as Google Maps API, and mashed up their entire game using a little of this tool, and a little of that tool, to eventually get to the environment that is the Floating City. Not having to develop a ton of code to create a discussion board, or a messaging system, or a graphic user interface, such as the game map, freed them up to develop the look, feel, and more importantly, the narrative (instruction) of the game. Looking at how they developed this got me thinking as to why couldn’t we do the same thing in our schools or classrooms. There really is no reason, aside from the prerequisite knowledge of basic installation requirements that some of these tools require, skills most of our school IT departments readily have, why could we not allow teachers to create instruction modeled on a similar tool? I think most teachers are very creative and would jump at the opportunity to create instruction that was more game like, promoted creative thinking, writing, sharing and collaborating while at the same time addressed standards, digital citizenship, and technology.

So this last week I decided to see what it would take to develop the “bones” of a similar model based on the Floating City. As a Director of Technology, I know a little about a lot of technology. I have a very liberal education as it comes to instructional technology. I’m not an expert C+ coder, or a PHP web site developer, or a database design guru. I do know a little though…just enough to be dangerous.

A multi-user (game) environment requires sharing of information between the players. In order to do this you need to store the player information. So right from the start, you need to use a network based database. My database of choice was mySQL. Looking at the other “instructional components” of the Floating City such as the discussion board and messaging system, these tools are also OpenSource (free) and work within the mySQL database. I looked at the Google Maps API, and in the short time I evaluated the API, everything made sense to me with the exception of the custom map tiles. With a little more time I probably would have figured it out, but when I went back and looked at the Floating City map, having a custom map this based on true latitude and longitude coordinates is probably not necessary. The Floating City map is used primarily to access the profile and inventories of other player and could have well been either a random representation of players on a image of a map or even player determined locations on an image of a map. So I scrapped the idea, at least for now, for using the Google Maps API for an interface component.

The Floating City is all web based and that makes it compatible with almost all devices and all operating systems. However, on the iPhone the layout is a bit cumbersome due to the layout just being reduced to fit the screen and requiring the user to pinch to zoom in on links. They probably could solve that with a custom App. I thought about doing my model just using php and MySQL. But that would also require time spent on developing CSS, php and lots of html code. It could be done, but I decided that I did not have the time. Plus, if this model is to be used over and over, I wanted a development tool that would provide me a little more flexibility. The tool that I chose was RunRev’s LiveCode. I should point out that LiveCode is not OpenSource. It is a commercial application with a variety of licensing options. However they do give a discount to educators. LiveCode stands on the shoulders of other rapid development tools such as Apple’s old HyperCard software. It allows for the development of applications very quickly and uses a scripting language that is very easy to understand. One difference between doing the development in LiveCode as opposed to doing it all in html/CSS/PHP is that in LiveCode you actually compile a standalone application. That being said, you can provide your users access to your LiveCode programs via the web and using a web plugin. The plugin can be installed by your users for free and then your application will play in the user’s web browser window, similar to how Adobe’s Flash works. The other benefit of using LiveCode is that they make tools to port your LiveCode application to MacOS X, Windows, Linux, Apple’s iOS, Google’s Android, and Windows Mobile. So with a little tweaking on the design layout, you can compile for mobile devices.

In about a week’s time, working on it when I had the time, I was able to create my own model. The model is just the bones, there is no narrative or design yet, but the logic is all in place. The model consists of the following components:
  • User Login and Authentication
  • Location of Player on Map
  • Ability of player to relocate themselves on map and save coordinates
  • Ability to click on other players map icon and get player profile and current inventory
  • Ability for player to review their profile and inventory
  • Ability for player to initiate a trade
  • Ability for player to accept or decline a trade
  • Ability to generate an automatic message when trade is initiated
  • Ability to send a reply to received message
  • Ability to delete messages
  • Ability to send a new message to different player
  • Ability to enter code or phrase to unlock mission
  • Ability to enter mission code to receive “badge” or recognition

Though many of the missions are hard coded, based on entering the correct data by the player, because the data is stored in a database, it does provide the teacher the ability to change things on the fly such as rewards, badges, and inventory. In addition, the missions can be as varied as the teacher’s imagination. They could be as simple as a code the player types in, a website that the students is directed to and research, an audio sample or video file, or even a QRCode. As long as it can provide some type of definitive code that a player can enter into the game and that the game can verify as correct, it can be used within the game.

The following is a screen cast of the LiveCode project:





The wheels are turning, and I have some ideas for narratives that may fit well within this model. Stay tuned for both student and adult examples!

Monday, January 3, 2011

Aviary Beta Education Version - Cloud Based Web Apps



Aviary a popular web based suite of tools for creating images, vector graphics, audio and music recordings has released their beta education version. The education version of Aviary allows teachers to create a private classroom suite of tools that their students can use on any computer, netbook, etc that is Adobe Flash capable (sorry iPad users). The interface is clean, professional looking, and advertising free. Those of you that have used Kerpoof with smaller children will welcome the cleaner streamlined interface. Aviary eliminates the distractions of some of the competing education focused web based tools. Aviary provides a nice introduction to drawing and editing interfaces that are typically found in similar professional and prosumer level tools.

If you’re and educator, you can request your beta education account at: http://www.aviaryeducation.com/


Aviary Education Version from John Patten on Vimeo.

Monday, May 17, 2010

Creating With Computers (Part VI) - The Student Reading Recorder Example

The fundamental design concept behind all of the Web 2.0 tools such as Twitter and Facebook are very similar to my simple Student Reading Recorder application. What you see on your computer screen when you are looking at Twitter or Facebook is the same thing that every single person on the planet sees, at least in respect to the layout of the elements on the screen. What is different is the content that fills in those little elements of space on your screen. The way Facebook and Twitter determines what to put in those little boxes within the layout is based on information that you generated and they store in their database. In Twitter for example, every person with an account that has selected me as someone to follow has an entry in the Twitter database that identifies my account as one that they want to follow. When I add a new tweet, that action initiates a query through the twitter database looking for all accounts that have marked my account as one that they are following. When the query locates my unique account information in somebody else's list of people they are following, it pulls my last tweet out of the database and puts it into the list of tweets of the for that individual. At least that's how I imagine it. I don't work for Twitter or Facebook, but my hunch is probably pretty close. My little reading application works the same way.


My database consists of four tables. The first table holds information about the teacher. The second table holds information about the students. The third table in the database holds information about the assessments and the last table holds information about the individual student assessment results.

The first screen of the student application pulls information from the database out of three of the tables. The start button initiates a call to the database that queries the database to retrieve the unique identification number for the specific teacher that the students types in to the "class" field. This identification number is then used to generate a drop down list of every student that has that teacher's unique identification number saved into their student record. When the student selects their name from the drop down list, a second call to the database is initiated and uses the student's unique identification number to retrieve the students current reading assessment activity. In addition, it uses the student's unique identification number to retrieve their avatar icon for the upper right of the screen. The avatar icons are titled with the student's unique identification number.

The remaining icons on the screen consists of two buttons. The red circle button begins a recording session. This recording session works with Apple's Quicktime technology and requires that the QuickTime player is installed on the student's workstation. The sound recording is actually saved to the local "recordings" folder on the student workstation. (This works in the same fashion for both the Macintosh platform and the MS Windows platform. The Linux platform does not have an Apple QuickTime player so it records audio a little different. I will describe the Linux version in a separate post.)

In order to provide the teacher with the ability to evaluate the student's reading recording from any networked computer, the green triangle button, which is used by the student to navigate between the screens, also uploads a copy of the student recording to the remote server via an FTP process.

A copy of this application is linked at the bottom of this post. One important fact, this tool has not been designed for commercial release. This is an in house tool designed for a specific goal and in a specific environment. The environment that this application is running is very robust and latency issues at home over a DSL speed connection are not experienced in the classroom.

The remaining student screens provide students with additional focus on thinking about their reading using the recording that they created in screen one. This second screen prompts the student to listen to their recording and count the number of words that they read. They can strike the space bar on the keyboard to help them count the number of words that they read aloud during the recording.



The third screen simply has them rank how well they felt they read the paragraph and allows them to drag a marker on a line to identify their rating.







The fourth screen allows the student to listen to the recording again and identify one word that they thought was particularly difficult to read aloud.







The fifth screen provides a ranking which is actually just a number that increments by five each time they do an recording activity. The screen is particularly vague as I am interested in how the students that use this tool would describe what this number represents. Obviously the more times they do an activity the more obvious it will be that the number increases.


Remember, even thought this application is functional, it primarily serves as an example of what can be done with these types of rapid application development tools. Revolution is a great tool development tool and seeing how they provide a free version and educational pricing on more complete versions there is only a small investment in time to get started.

Download Examples
Examples of the Macintosh and Windows Student Applications Available Here

In part VII I will share the teacher management components of this example application and show off some of the other features of Revolution that helps make developing tools with this product much easier than traditional programming languages.

Friday, May 14, 2010

Creating With Computers (Part V) - The Tools

As I mentioned in Part II, my early interest in computers and education was launched when I first discovered HyperCard in the mid 1980s. The ease at which you could quickly create a custom application to do what you wanted it to do and to address a specific task was very enticing. The continued development of HyperCard by Apple lead to more and more possibilities including the ability to incorporate multimedia into custom applications. In my opinion, Hypercard was the ideal computer development tool for the classroom teacher and allowed for the development of instructional materials tailored to the needs of individual students. HyperCard eventually was retired by Apple, but other companies picked up where Apple had left off. Development tools such as SuperCard, ToolBook, and Metacard continued to evolve the HyperCard development model. This model of application development based on objects and events began to gain more and more popularity to the extent that one such tool, HyperStudio, became very popular with students and teachers. Though this tool was similar in design, it is targeted more toward students and is not as versatile as the previously mentioned software tools. However, it provides an excellent starting place for students to understand many of the important concepts of application development.

In 2003 Runtime Revolution purchased Metacard and used it to develop Revolution. RunRev, as they are now known, has developed mutliple versions of Revolution and address the needs of the wide range of users. RunRev produces versions of Revolution that run and compile on all three major operating systems, Windows, Linux, and MacOS X. Applications developed in Revolution can also be deployed as browser plug-ins similar to Adobe Flash applications. One attractive feature of Revolution is projects designed and developed in one operating system, such as Mac OSX can be compiled and deployed as standalone applications on Windows and Linux operating system. Future versions of Revolution are in the works that will provide deployment on mobile operating systems such as Google's Android.

Developing in Revolution is done by dragging objects from palettes to your window and then programing those objects using Revolution's Transcript programming language. Transcript is very similar to HyperCard's HyperTalk programming language and uses very English language like commands. The following example should help to better illustrate this description:



In Part VI I will begin to tie the conversation back to my example, the student reading tool, and share the necessary steps of connecting the student tool to a remote database.

Thursday, May 13, 2010

Creating With Computers (Part IV)

As we turn to more and more web based applications, the importance of a databases to store content used by the application becomes more and more important. Google Docs essentially is one very large database. When you log in to your Google Docs account, it pulls information in its database that is related to you and displays it within a template window of your web browser. Clicking on one of the documents in the documents list, you have previously created in Google Docs, results in another call to the Google database and this time returns the content related to the title of the doc that you clicked on. My little student reading application will mirror this type of database operation, but instead of displaying the information in a web browser window, it will display the information in a custom application. Understanding how databases work with computers will be a central skill as we move forward in developing our ability to control computers and use information constructively.

My experiences with databases and computers stems primarily from my work with setting up content managements system and blogs. Applications such as Mambo/Joomla, Moodle, and WordPress use databases to store content. Each of these applications use a database called mySQL. MySQL started out as an OpenSource database application at approximatly the same time that the Apache web server software was released. These two applications have supported a great deal of innovation that has been developed on the world wide web beginning in the mid 90's. In any case, my experience is pretty limited and my point is that with just a little knowledge you can begin creating something that takes advantage of a backend database to support a custom application.

In developing the mySQL database for my application, I used a mySQL application running on a hosted service called On-Rev. On-Rev is a relatively new service provided by RunRev, the makers of the application development tool I am using to create this student program. There are many benefits to using the On-Rev service with Revolution, however what I'm about to describe can be achieved with any hosting services that provides the mySQL database application. The mySQL database is primarily controlled via the command line. What this means is that there is no primary graphic user interface for the mySQL application. This was done on purpose to maximize performance capabilities of the database application and to conserve valuable microprocessor cycles to server your data and not a "pretty" user interface. Fortunately, there have been a number of "front ends" to the mySQL database that provides a more graphic user interface for manipulating the database (for those of us that have grown up clicking a mouse). The application I will be using is called phpMyadmin and it is a web based front end to the mySQL database. Using this tool you can easily create new databases, new tables within the database, and new fields to store your information within those tables. If you choose to use a mySQL database hosted on a commercial services provider, such as On-Rev, there is a good change that the phpMyAdmin tool will be available to you for manipulating the mySQL database.

For my student reading application, I decided to develop four tables within the database. Each table went with a particular component of the student reading application.
When developing your database, it is important to spend quality time thinking about all its pieces and how they will interact with your application. It is much more difficult to make changes to your database after you begin to create the actual desktop application as any new changes made to the database could have unforeseen consequences which will take time to decipher and fix in the desktop application. As with most things, careful planning upfront is crucial to eliminating difficulties later.



In the next part, I will begin sharing how the student desktop tool is going to be created and how the desktop tool exchanges information with the remote database.

Monday, May 10, 2010

Creating With Computers (Part III)

Revolution is like a software Erector set. With a little bit of familiarity with the language, it is very easy to quickly create custom applications. I began the process of developing this tool by thinking about the ultimate goal, a software tool that students would use to hopefully improve their reading. I started with the ultimate goal in mind, and then worked back to components that would make that goal successful. The following is a list of features that I determined the student component should incorporate:

  • Simple student log-in a first grader could master.
  • The ability for a student to easily record themselves reading a passage of text.
  • The ability for a student to easily play back their recorded audio file.
  • A strategy to allow students to concentrate on what they read by providing them with a tool to count the number of words they read within the time limit.
  • A simple scale that allows students to rate how well they feel they read the passage.
  • The ability to identify at least one word that they felt was the most difficult to read.
  • A number presented at the end of the activity that represents their ranking/total score.

My hunch is that these described activities would help to improve a student's reading ability by steering them to think more acutely about their reading. Research has shown that special needs students actually do quite well working in a student-computer environment. The computer is often less threatening and students are less likely to be nervous or suffer from performance anxiety when in front of a computer as opposed to in front of their teacher. This I thought would hold true for all students. I envision this student tool being used in a center or independent group activity where students have 15-20 minutes at each activity.

After defining the components of the student software, it was time to decide on how it would be designed. I knew that I would want to be able to retrieve student work so that the students' teachers would be able to evaluate their students' work post activity. In order to do this, all student input would have to be stored in a database. Fortunately for me, Revolution provides this ability quite easily and I will be describing this process in a later section.

As I continued to work backward from the student activity component, my planning resulted in three supporting components. The first is the main administrator tool for creating teacher accounts. The second component is the teacher tool. The teacher tool should allow for the creation of individual student reports based on the students' activities. In addition, teachers should be able to create, edit, and delete students accounts. Finally, teachers should be able to create and edit new assessments/activities and assign assessments/activities to students in their class.

All these components require the storing of their data in a database. The creation of the database and the resulting tables in the database will be described in a later blog post.
(image courtesy of: http://www.flickr.com/photos/hinkelstone/2765597758/)

Friday, May 7, 2010

Creating With Computers (Part II)

I was talking with my wife about some of her work with her English learner students. She was sharing all the assessments that they incorporate into their daily instruction and their practice for encouraging and modeling strong reading skills. I began thinking about the types of software that have been promoted to help students with their language arts, specifically reading skills. Scholastic's Read 180, Accelerated Reading, and Auto Skills came to mind. I was wondering how well those current software tools promote students to critically evaluate and think about their own reading skills? How many of these tools really get students to think about their reading?

These ponderings then turned to other thoughts as to what the ideal activity, or activities are to encourage students to think about their reading skills? Would an activity that promotes students thoughts about their reading skills even in the most basic activity fosters the needed attention to improve their reading abilities? What would those activities look like and what software tools are there that provide this instructional strategy without direct teacher participation? I could not think of one software tool that would promote this type of self-directed learning strategy that was simple to use, and could be started and completed in it's entirety in a 15-20 minute block of time, and provide the teacher with a record of the student's work.

The previous two paragraphs essentially defined the question or the task. Since I could not think of a software solution currently available, I decided to just create one myself. Granted I am not a classically trained software programmer. I'm what's referred to as a hack. Somebody who can get the computer to do what they need it to by "hook or by crook" at least in regards to software programming. My passion for technology in education began in the mid 1980s when I was introduced to the MacPlus and a new program on it called HyperCard. I fondly remember learning the trick to unlock the HyperCard Player so that it would divulge it's hidden software authoring tools. Though HyperCard is no longer being developed, there are a number of tools that have have picked up where HyperCard had left off. One such application, and my current favorite is Revolution by RunRev. This application is very similar to HyperCard. It is event driven and utilizes standard English resembling code. Many people earn their living developing in Revolution. One of the nicest features of Revolution is that you can develop on one platform and deploy on Macintosh, Windows, and Linux platforms. Soon RunRev has claimed you'll be able to deploy on the iPhone/iPad and Windows Mobile too. If you are interested in learning more about Revolution, they have a free version you can download called RevMedia.

Now that I had defined what I needed, an application focusing on reading that fosters students self assessment and analysis of their own reading, I set out to define the components.

(Photo courtesy of http://www.flickr.com/photos/ricardojesusflores/)

Thursday, May 6, 2010

Creating With Computers (Part I)

In the educational technology circles that I inhabit, a lot of discussion has taken place around the new Apple iPad. I've been interested in two opposing conversations that have taken place surrounding this new device. On one hand are those that feel this new device is going to change everything in regards to how we think about the personal computer and public education. On the other hand is a group of individuals who don't doubt the device will be a big success but that the device won't change education too much because it is primarily a device to consume content. There are some truths to both arguments and only time will really present the clear picture. However, after 19 years in public education, from what I have seen, the adoption of technology into everyday regular instruction has been limited at best. Sure there are pockets of innovation, but most of our instructional practices and strategies over those 19 years have not warranted the use of technology. The majority of technology use in schools has required that students know some fundamentals with the computer, where to save files, how to use a web browser, how to create a new slide in PowerPoint, and how to search using Google, etc. etc. For the most part, these skills can be taught after about two hours of instruction and some practice. My son did not need any training on how to use Facebook or locate the latest Flash based arcade game. If you know how to write, and have some familiarity with a keyboard, you are already a master of every social networking tool that's been and will be developed. Not surprisingly, the reasons for why computers and technology have not been utilized in a manner that takes advantage of their innate capability to create and innovate stems mainly on the primary charge of our educational institutions. Our focuses has been on eliminating the achievement gap, and improving our scores on state standardized tests. These are not bad goals, but our world is changing and our current goals are the same as every other developing country.

What is going to distinguish our students from those students in China or India?

I remember hearing a respected member of the community, out of frustration at the current budget mess suggest that we could save money by reducing our electrical costs by removing the technology tools, computers, projectors, etc. If you think about it, in ridiculous sort of way, turning off all the power to an average school may not hurt their standardized test results provided you had classrooms with windows or lots of candles and you'd save some money. Nobody would truly advocate for this but I am just attempting to make the point that what we currently evaluate our students on does not necessarily necessitate that we use technology to prepare them for these assessments.

We need to begin thinking about how we can instill in our children qualities that distinguish them from the rest of the world. One of the tools that we've had at our fingertips for the past 20 years, but have neglected to put it into use for this endeavor is the computer.

In (Part II) I will begin sharing a model of using computers that can provide us a strategy for distinguishing our students from the competition and showcase their many diverse talents.

(image courtesy of Xuoan's Dailies http://www.flickr.com/photos/xuoan-dailies/4089162168/)