Friday, April 30, 2010

IEP: Reflection

This project has been extremely satisfying. I feel like I am finally finding a way to fully use the particular mix of strengths I bring to education. I have always enjoyed programming, and this is the clearest focus I've ever had for applying my programming knowledge.

I am still planning to release this program as open source software, once I have established that it works as expected. A motto in open source is "Release early and release often," and the guidelines at Sourceforge encourage developers to bring code public in the early phases of development. However, I prefer a model of establishing a minimum level of functionality before releasing code, because adding developers too early can just confuse things. I am also using this program as a way to learn Python, so I want to bring the program to a certain point before being open to collaboration anyways.

I have another long-term goal in mind as well. The software I would really like to see produced is a high-quality curriculum design tool. Engineers use AutoCad to design their work, so they can easily revise their plans as improvements arise. Teachers are still mired in the cut-and-paste, manual-revision world of word processors for most of their curriculum design work. We need a well-designed, database-focused curriculum planning tool that facilitates curriculum development and refinement. I would like to apply what I learn from the Transcript Illustrator project to this larger project.

IEP: Technical Improvement

I have continued to make progress on the Transcript Illustrator program. The program is not finished, but I have solved most of the major problems necessary to implement it fully, and I still aim to have it ready for our incoming students this fall. To demonstrate technical improvement, I will describe one of the problems I had to solve in order to make the program work.

Reading in a set of English courses is easy, because English classes are already grouped together on our text-based transcripts. The program simply looks for the header line "LANGUAGE ARTS", and then it knows the next courses are all English classes until a new header is reached. The English graduation requirement is simple; students need four credits of English classes, but they can be any English classes. So the program simply displays English classes in the English bar, and puts any English classes over four credits in the Electives bar. These extra credits are color coded, so we can see how English classes are being used to meet Elective requirements.


Science classes are much harder to process. Students need three credits of science classes, but these classes must consist of at least one credit of Life Science and at least one credit of Physical Science. All science courses are grouped together on the transcript, but they are not identified as Physical Science or Life Science courses in any way. This is the central reason that text-based transcripts are difficult for staff to process accurately. We need to read each course title, decide if it is Life Science or Physical Science, and then keep track of how many credits of each a student has earned. The program, however, has no way of deciding if a course is Physical Science, Life Science, or some other kind of science. To solve this, we need some user input.

Good design decisions around user input result in user-friendly programs, while poor design decisions make software that is difficult, confusing, or tedious to use. When the Transcript Illustrator program comes across a science course a dialog appears that lists the course name and asks whether the course is a Life Science class, a Physical Science class, or a General Science class. It does this for each science course that it comes across. However, it also builds its own database of science courses and their categories, so it only prompts once for each course name. If another student has taken the same course, the program already knows what kind of science credit that course belongs in. As usual in programming, my first implementation did not exactly work right, but I figured out how to make the dialogs appear properly.



This part of the program now works. It was very satisfying to run the program once, answer all the prompts, and then run it subsequent times and see all courses categorized properly without having to answer any prompts. I still need to implement this functionality for all content areas with sub-discipline requirements such as Social Studies and Physical Education. I will then need to make an override available for individual students, and the program will have to display sub-discipline courses properly as well.

This is the essence of programming - break a complex process down into a long series of if-then scenarios. I look forward to summer programming at my own pace, and seeing this software used and appreciated by staff and students in the fall.

Thursday, April 29, 2010

Digital Story Reflection

Goal: Make a digital story composed of video clips, using a story map involving a problem, transformation, and resolution.

The digital story I made is about PHSgeek, a project in which our students learn to refurbish donated computers. This project has already, in its first year, returned our school to a minimum level of functioning technology. Because of this project, we should be able to begin making digital stories with our students in the fall, and several students may pilot a digital story project as part of their final work this school year. If it were not for the PHSgeek project, we would have a difficult time helping students write, save, and print a simple paper.

While this video leaves a lot to be polished, I believe I have met the goals for this assignment. I have made several videos that combined still images with audio, but I have never edited a video from video clips. I used my rubric to evaluate this video, and I believe it lands right in the middle of the rubric. The topic is quite interesting to educators, who have often wondered if students could play a stronger role in maintaining school technology. However, there is more telling and describing than I'd like. It would be much stronger to show students doing the things that are described in the video. The technical aspects seem competent, with relatively smooth transitions and audio that matches the video segments. Most important, this work puts me in a position to begin leading our students and staff through their first digital stories next year, in a way that will produce final products much more polished than this one.



I have a clear plan for producing stronger videos with students and staff next year. The biggest obstacle this semester was having good raw footage. I would have had to re-stage significant scenes to have good footage, and I was not interested in staging fake scenes. One routine we will implement next year is to identify the situations we want to take raw footage of at the beginning of each class, and take that footage as those events happen. For example, when we advertise for new donations in the fall, we will film students talking on the phone with potential donors, and film people dropping off their computers. We will place a camera on a tripod and leave it running while several students begin their first installations, to capture short clips showing the genuine facial expressions of confusion and triumph that arise as students gain significant new understanding. The rubric for our videos next year will expect more as well, with a category such as "Uses Effective Footage". The strong category will say something like "uses meaningful footage taken during the life of the project being documented." I believe steps such as these will allow us to produce compelling videos that begin to tell the story of our school.

Overall, the use of digital stories can play a significant role in the development of our school culture. Our staff has a history of telling visitors the good things our students have done, without being able to show how students did these things. Effective digital stories will let our students' work speak for itself. As a final example, another interesting class we have is Rescue Physics. In this class students learn technical mountain rescue skills as a way of learning physical science concepts. The culminating project is a day on a cliff where students simulate a person getting stuck on the side of the cliff, and then rescue that person. Their performance is supervised and evaluated by local mountain rescue professionals, and they are evaluated by the same standards used to accredit mountain rescue teams internationally. This is perfect material for a compelling digital story, and next year digital stories will be an embedded part of the class.

Tuesday, April 13, 2010

Social Web: ubuntuforums.org

The most important online community I belong to for educational purposes is ubuntuforums.org, a forum dedicated to helping people use the Ubuntu Linux operating system. I joined the forum in June of 2008 when I decided to try Linux on a computer that had become so slow and bloated that I needed to replace it. I had many specific questions as I began to use Linux, and I found most of the answers I needed in the forum archives. With about 50,000 active members and over a million total members, most questions I had were answered in simple searches; I did not have to participate much to learn from the forums. As my involvement with Linux has deepened, I have begun to participate more fully.

The clearest value to me in having access to this online community is the knowledge that I am not alone in solving technical problems. I teach students to install Linux on donated computers, and we have revived our school's technology infrastructure using these donated computers. This project has only been possible because of the quick access to an incredible depth of technical expertise available on the forums. Without easy access to a large body of technical expertise I would never have taken on such a technically challenging project. Teaching students how to use the forums has meant that some students have gone beyond what they learn in my classes to use Linux on their own, and have improved their overall ability to solve technology-related problems.

A simple example of a problem I needed help solving involved making networked folders visible on the desktop. Our students save their work in their own "student storage" folder, which is stored on the school district's server. By reading the forum archives, I figured out how to connect to the district's server from the Linux computers, but I could not figure out how to make the folders stay visible as icons on each desktop. The thread I started about this particular problem is a perfect example of how quickly many problems can be solved when you have access to thousands of experts. In a very short time, much less than a day, I had the simple answer: access the networked folder by typing the path into an address bar as I had done, and then bookmark the resulting folder.

My contributions to the forum right now are limited. I know how to do many simple things, but I don't know how to do many things in depth. My contributions are limited to sharing my experiences in threads that have no conclusive answers, and in asking clarifying questions of people who post vague questions, in hopes it helps someone more knowledgeable be able to answer the original question. I plan to post more about school-based refurbishing projects and the use of Linux in schools, areas in which I am beginning to have some expertise.

Monday, March 15, 2010

IEP: Learning Python to Solve Ed Tech Problems

Problem: Text-Based Transcripts

The transcripts we currently use at my high school are text documents. The documents are visually cluttered, and difficult for anyone who is not an administrator to examine and interpret accurately. Since our school is too small to have a guidance counselor, the job of helping students read their transcripts falls to teachers. This is not a trivial job, either. If a student's transcript is not read properly, they can end up missing required credits and potentially not graduate on time. Poring over transcripts consumes a significant amount of time for students and staff, and takes up a considerable amount of time during conferences as well. The problem is exacerbated at our school by the fact that we have a highly transient student population, which means we look at transcripts for new students throughout the year, not just once or twice a year.

For example, look at the following (anonymized) transcript section and try to determine if the student has fulfilled their Social Studies requirements (1 credit US History, 1 credit Government, 0.5 credits Global Issues and 0.5 credits Alaska Studies):


Partial Solution: Student-Created Visual Transcripts

Our staff came up with a slight improvement over the text-based transcripts this year. Students are given their text transcript and an empty transcript grid. They go through each course on their text transcript, and place it into a box according to the subject area and how much credit they earned. When they are finished, they can see how close they are to graduating, and which courses they have to take in order to make appropriate progress towards graduating.

This is an improvement, but it still leaves a lot to be desired. If students make a mistake in transferring their courses to the visual document, they still run the risk of missing a required class. The end result is that teachers spend just as much time showing students how to transfer their transcripts to the grid, and verifying the accuracy of the student-generated transcript grids. A portion of the grid is shown below:

Proposed Solution: Transcript Illustrator, a Python program

Transcript Illustrator is a program that takes the grunt work and potential for errors out of the visual transcripts. The program reads in a text file of student transcripts, and produces a complete set of visual transcripts. Students, staff, and parents are free to focus on planning their course of study rather than trying to figure out whether they have interpreted their transcript correctly.


Steps: Learn Python, Create Program, and Evaluate

Learn Python
I began this step over winter break. I read through most of Learning Python by Mark Lutz, and read the GUI-focused parts of Programming Python as well. I have also found several effective online resources including the core python documentation, a site called effbot.org, and a dedicated python forum.

Create Program
I have been working on the program since early February, and I have made significant progress. The program currently reads in the transcript text file and stores the data. A simple interface displays the current student and allows simple navigation to any other student.

No piece of software is ever "finished". To be useful for staff and students, the program must be accurate and must be able to print. The steps I aim to finish during this project are to complete the processing of the transcript, verify it processes all transcripts accurately, and implement printing functionality.

Classroom Application and Evaluation
For the classroom application part of this project I would like to give students and staff two sets of documents, the traditional text transcript and the visual transcript. I will gather feedback to gain some understanding of how meaningful the visual transcripts are. A possible question for students is, "Which transcript gives you a clearer understanding of where you are at in your high school career?" A possible question for staff is, "How might this affect your conversations with students and parents?"

Beyond
If the program is as useful as I believe it will be, I would like to release it under the GNU General Public License (GPL). I want to wait until there is enough functionality and quality control implemented to make it useful for other schools before releasing it. My reflection on this project will elaborate further on this.

Article Assessment #2: Teens and Technology

(full article here)

Overview

This article describes the increasing number of hours that young people spend using electronic media every day, and the role that parents can play in their children's technology habits. Young people (8-18 years of age) use electronic media an average of 7.5 hours a day. This includes television, mp3 players, video games, and computer use. The variety and interconnectedness of these devices makes it particularly challenging for parents and guardians to fully understand what their children are doing with their electronic devices (EDs). Only three in ten teenagers report having any rules regarding their use of EDs. Teens who do have limits set by parents spend about three hours less per day using EDs than other teens.

Reference Points
  • Young people ages 8-18 spend about 7.5 hours a day using electronic media.
  • Teens spend about 25 minutes a day reading books, and 3 minutes a day reading newspapers.
  • About 50% of "heavy media users" earn fair to poor grades; about 25% of "light users" earn fair to poor grades.
  • Only 3 in 10 teens report having rules at home about their use of electronic devices.
  • When parents set limits on the use of electronic devices, young people use them about 3 fewer hours each day.
  • Lack of familiarity with electronic devices does not excuse parents from setting limits on their use.
Reflection

This report says little that I have not heard before, and the numbers may be misleading. The difference between using an mp3 player to listen to music is significantly different than using a cell phone to text. Many of my students work better on certain tasks if allowed to listen to music on headphones; none work better if allowed to text while trying to concentrate on a specific task. For most of the last century young people have been listening to significant amounts of music, so including listening to mp3 players in these statistics seems questionable. However, the statistic about seven in ten teens having no limits set on their use of electronic devices is alarming. Young people need guidance in learning how to interpret the online world, and that guidance has to start with limits. Parents need education about how to set limits on the use of devices they don't fully understand, as much as young people need limits on their use of EDs.

Sunday, March 7, 2010

Internet Resources

The ERIC (Education Resources Information Center) Database

The ERIC database, an index of articles related to education, is an important resource for educators to know about. Two parts of the site are particularly important to be aware of: the Thesaurus and the Advanced Search page. Every article in the database is tagged with words called "descriptors". These descriptors come from a closed set; indexers can not just make up their own descriptors for each new article entered into the database. This means the user does not have to guess whether articles are tagged with "mathematics" or "math". Looking up "math" in the thesaurus tells us that the word "math" is never used as a descriptor; looking up "mathematics" in the thesaurus brings up a list of about 30 specific descriptors, including the general term "mathematics", that are used to index articles relating to mathematics. More specific descriptors include "mathematics anxiety", "mathematics avoidance", and "mathematics materials". An understanding of the descriptor indexing system, and experience using the Thesaurus, is particularly important in conducting a thorough literature search. The Advanced Search page allows us to choose any number of descriptors to include or exclude, a date range, education levels, and more. Of particular interest is the "Full Text Only" option. This returns only articles which are freely downloadable, without a subscription to the journal they are published in. A quick search of the ERIC database can make a significant difference in staff discussions around many common school issues.


PEN (Public Education Network) Weekly Newsblast

Many of the education-related forums I have seen are unsatisfying. Many education forums are either inactive, or they resemble a bad teacher's lounge: a lot of complaining, with little constructive conversation. I once asked a professor to recommend a good source of education news and articles, and she recommended the PEN Weekly Newsblast. I have read the newsblast for the last year, and it is one of the most consistent sources of high-quality education news and articles I have seen. Each week there is a summary of recent education news and recently published articles, a section of shorter news briefs, and a section of grant and funding opportunities. Each brief is a link to the full article. I read the full newsblast each week, and I usually skim several of the full articles as well. I print out and share full articles with colleagues every couple weeks, so the newsblast ends up influencing our school's professional practice. As I continue to grow as an educator, I will use the grant funding referrals as well. I highly recommend that educators subscribe to the newsblast; it comes in on Friday mornings, a perfect time to be re-inspired as an educator.


Coding Horror and Joel on Software

As I have gotten back into programming, I have started to read a few blogs about bad programming. The blogs at first seem to be simply making light of bad programming examples, but there is a much deeper significance to them. By raising awareness of bad programming, they focus on good programming practice. The people who write these blogs are highly skilled programmers, frustrated at the bad reputation their profession gets by the work of mediocre and bad programmers. The best of these blogs is Coding Horror, written by Jeff Atwood. Coding Horror articles provide guidance on developing high-quality software, and inspire us to do excellent work, whatever our profession.

Jeff Atwood collaborates with Joel Spolsky, who built a unique software company called Fog Creek Software, founded on the principles of high-quality software design. The company puts programmers first, with management clearly in the role of supporting the programmers. They aimed to build the "ideal programming workspace", and did it all without outside funding, so they would be free from the obligations that dependence on venture capital brings. The Fog Creek culture raises the question: "What if schools were structured in a similar way, where administrators were set up to serve teachers, and students were given the best work space money could buy?" It's an exemplar worth reflecting on. Joel Spolsky writes another of the best software development blogs, Joel on Software.

For an example of how Coding Horror articles can inspire non-programmers to do excellent work, take a look at a post about execution, the difference between simply having a good idea and carrying that idea out fully.