Like many of the other people who have already commented on your request, I would encourage you not to delete books from your list because they might be somewhat dark or complex. I remember reading Bradbury, Cordwainer Smith, Asimov, and Clarke when I was your sons' age, and appreciating the fact that the worlds and scenarios they created had ambiguities and shades of gray.
That said, I would recommend taking a look at a history of science fiction for suggestions. My own personal favorite is Brian Aldiss and David Wingrove's Trillion Year Spree: The History of Science Fiction - it does a great job of covering the classics of science fiction, while pointing out lesser-known authors. The book summaries and analyses should give you a good feel for whether a particular author would be of interest to your sons.
More interestingly, the article notes that the percentage of US households not connected to the Internet has dropped from 29% in 2006 to 18% in 2008. While it's impossible to tell from just two data points whether the rate of adoption will remain the same, increase, or level off in the next few years, it's probably a safe bet to assume that disconnected households will become a true rarity in the near future.
Either Damn Small Linux or Slax is what you want - easily customizable, easy to use, good browser experience, runs from either a CD or a USB Flash Drive, minimal machine requirements, can be loaded completely into memory for speed. And if somehow, somebody crashes it - just turn the machine off and on again and you're back in business...
Also, should you need bookmarks that can be easily added to, just use one of the online bookmark services - no need to worry about saving bookmarks on the local machine.
Congratulations: you've got some of the potentially most interesting classes to use technology in - but that potential will be wasted if you just use the tablet and projector to show Powerpoint slides.
When you're designing your class, think: what can the tablet do that would be useful that could not have been done without it. Powerpoint fails this test miserably - an overhead projector would do just as well.
Here are some possible uses that do pass the test:
Use symbolic math software to help students visualize the math, and to explore interesting problems that cannot be handled without it. Mathematica is everybody's pet favorite, of course - but I would argue that it's grotesquely overpowered and complex for most of what you'll need. Instead, take a look at something like Ron Avitzur's Graphing Calculator - the name doesn't do justice to what is a particularly elegant little program.
For Physics, use the tablet to analyze physical data. One of the best uses here is to film objects in motion, then transfer the video to the tablet (or get a cheap webcam and record directly on the tablet), and analyze the results frame-by-frame - your students will come out with a much better understanding of motion. A free package for video analysis is Physmo.
For more sophisticated experiments, check out what the folks at PASCO have to offer - their sensors are reasonably inexpensive.
If you do a Google search, you'll find a wealth of Java applets that simulate concepts in Physics - when contextualized by discussion, physical experiments, and "what if" explorations, these can be tremendously useful. Without this framework, though, they are no better than the film loops of old.
One last suggestion: don't hog the tablet - let your students use it too. You can set up a problem, and invite students to come up and work through it individually or in groups, showing their thought process to the rest of the class. The students will learn much more, and everybody - including you - will have a lot more fun.
From how you state your approach, it is blatantly clear to me that you are completely and totally unqualified to recommend or support any type of software installation - OSS or otherwise. The dead giveaway is the sentence:
I then take 15 to 30 minutes free of charge to explain to them the basics of their new software.
Anyone who has done any serious workflow design, or has helped the average user match their needs to specific software applications knows that "15 to 30" minutes of "free time" is not going to cut it. Even something as simple as switching someone's work system from IE to Firefox requires attention to details - I've seen intelligent and reasonable users completely thrown off by (relatively small) interface or rendering differences between browsers that just happened to overlap a crucial portion of how they went about their daily tasks. Many of these details are not apparent in the "15 to 30" minute range - they require someone to work with the user, with understanding and respect for the specifics of their work.
There is definitely a role for intelligent and responsible technologists to design and recommend OSS-based systems - but the first consideration has to be the tasks that the user needs to perform. I'd be pretty damn pissed if my doctor told me they could not read my latest scans because the oh-so-bright technician that fixed their system did not check to make sure that the necessary codecs were supported under Linux...
...not determine attendance policy for the professor in the class. If a professor cares about attendance, they will connect it to a portion of the student's letter grade; if they don't, they won't.
Additionally, should you decide to create a system with built-in attendance-related restrictions, you will automatically become the target of everybody's dissatisfaction: professors who see attendance drop will blame you for not implementing strong enough measures, while professors who dislike the restrictions (or dislike having to deal with them) will accuse you of making their teaching more difficult. Either way, you can't win.
I'd recommend that you focus on what is squarely within your area of competency: making sure that the audio is clear, that the podcasts are available in formats that any student can easily access, and that they're available promptly and reliably. Should any faculty member bring up the attendance issue, you can simply point out to them that it would be inappropriate for IT to dictate attendance policy to the faculty by unilaterally setting up podcast restrictions.
Several other people here have mentioned Logo - an excellent choice, in my view. I recommend taking a look at the three volumes of Brian Harvey's Computer Science Logo Style.
The Logo tree has spawned several other languages - two worth looking at are NetLogo and StarLogo TNG - both of these languages are particularly well-suited to modeling projects, the first with a traditional text-oriented perspective, the second with a graphical programming interface.
Another programming language specially designed for education is Alice - the language is designed so students can graduate rather quickly to more complex object-oriented languages. Python, Ruby, and Java would all be good follow-up languages to Alice.
Finally, let me gently suggest that you not follow through with at least one portion of your original plan: the game c-jump is a very poor choice for introducing students to programming. Not only is the game completely inappropriate for any child over the age of 3-4 (it is just a very boring version of snakes and ladders), it is also extremely poor from a pedagogical viewpoint, with no creative activity on the part of the students, reinforcing notions of code as arbitrary sets of commands. The first couple of tutorials in Alice will be far more enjoyable for your students, and actually get them involved in some real thinking about programming.
After RTFA (I know, this is Slashdot, but...), and going over the Chicago Virtual Charter School materials, I can't say I'm terribly impressed with either one. For starters:
The school _will_ have programs in the arts and P.E. - any good reporter would have pointed that out, and challenged the statement by the union president.
The school _does_ explicitly address the issue of socialization - but see some comments on this below.
However:
As designed, the CVCS is less of a charter school, and more of a "guided homeschool" materials provider;
In fact, the CVCS appears to be (mostly) a repackager for a subset of K12 Inc. materials;
These materials are singularly unimpressive - the curriculum, described activities, etc. fail to demonstrate any particularly innovative thought, serious research, or indeed much examination of what the best schools - not just in the USA, but worldwide - are doing;
While the curriculum is delivered via computer, it might as well be delivered via workbooks - there is little to no use of the unique visualization, exploratory, or social interaction aspects of the computer;
The socialization approaches mentioned are superficial at best - they seem to have been designed by the marketing department, rather than by educators, psychologists, and sociologists;
In fact, the entire CVCS website appears to have been designed by marketers, with little to no input from educators - the primary thrust is to provide parents and legislators with "well, that sounds OK" soundbites, rather than any serious educational content.
Overall, it looks like the CVCS might be a tolerable interim solution for parents who only have access to desperately bad public schools, but certainly not a replacement for even middle-of-the-road traditional public education, let alone a serious attempt to explore the potential of virtual schools.
If you look at the actual game, you will find that it is simply a version of "Chutes and Ladders" with programming language terminology grafted onto it. There are no strategic choices involved, and no aspects of the game that require that kids do any programming whatsoever. It also incorporates sample code gems such as:
x/x means "x divided by x". A number divided by itself equals one. Therefore, the player always gets to move one space from this location.
Wonderful - let's teach kids how to write really bad code.
I feel very sorry for any parent that spends $21.95 for this piece of junk. Scott Aldie's remark in the Wired article is right on the mark - this game is nothing more than a gimmick, and not a fun one.
By contrast, if you would like kids to learn programming, and have fun while doing it, take a look at Alice (http://www.alice.org/). Not to mention that you get to save the $21.95 for a game your kids will actually enjoy...
There's a simple solution to the issue you bring up - ask the person what it is they do, what tools they use to do it with, and what they would like to do but have been unable to do thus far, before you put a CD on their desk. Yes, this takes a bit of time - but the idea is to help the other person in a way that is useful to them.
You also seem to forget that many - probably most - users do not need exotic applications for their day-to-day work. A carefully selected set of office apps, a good address book and calendar, a web browser and an email program, a music player and a few games will cover their needs. If you make three different compilations of software in these areas (one lightweight, one medium, and one heavy-duty in terms of features and complexity), you'll have most of your bases covered.
Finally, for those users that need to try out a range of tools, it is a (relatively) simple matter to show them how to transfer their LiveCD onto a hard drive, how to find suitable applications online, and how to use apt-get to install them. My experience has been that all but the most unreasonable people will understand that you cannot hold their hand forever, and be willing to explore on their own. The fact that, should something happen to their hard drive, they can always fall back upon the LiveCD, helps reduce the anxiety that might otherwise discourage exploration.
At LinuxWorld last week, John "Mad Dog" Hall gave an excellent talk that, among other recommendations, made a crucial point about introducing newcomers to Linux:
Don't overwhelm them with ten different applications to do the same thing - pick one, and pick well.
This is the problem I've seen with distros like Knoppix - while they're great resources for experienced Linux users who want to have all of their favorite tools available anywhere, the number of apps is too much for newbies to handle. If you want to turn someone off Linux, just tell them "Well, for word processing you could use Abiword, or KWord, or OpenOffice. And look, you can use Dillo, or Mozilla, or Konqueror, or Firebird as your web browser. Isn't this great!" - I guarantee eyes will rapidly glaze over. The "let them explore the CD" approach is no better - the menus are cluttered and unintuitive to the newcomer, and the plethora of application interfaces with wildly different visual styles and conventions will finish confusing and scaring them.
If you really want to introduce people to Linux using a LiveCD, I recommend taking the time to make a custom CD that carefully selects a subset of the available applications that will be both interesting and accessible to your audience. This is actually quite easy and fun to do, starting from Knoppix (or Damn Small Linux, or Morphix, or...), and is one of the most useful things you can do to help Linux gain acceptance by a broader audience.
Like many of the other people who have already commented on your request, I would encourage you not to delete books from your list because they might be somewhat dark or complex. I remember reading Bradbury, Cordwainer Smith, Asimov, and Clarke when I was your sons' age, and appreciating the fact that the worlds and scenarios they created had ambiguities and shades of gray.
That said, I would recommend taking a look at a history of science fiction for suggestions. My own personal favorite is Brian Aldiss and David Wingrove's Trillion Year Spree: The History of Science Fiction - it does a great job of covering the classics of science fiction, while pointing out lesser-known authors. The book summaries and analyses should give you a good feel for whether a particular author would be of interest to your sons.
More interestingly, the article notes that the percentage of US households not connected to the Internet has dropped from 29% in 2006 to 18% in 2008. While it's impossible to tell from just two data points whether the rate of adoption will remain the same, increase, or level off in the next few years, it's probably a safe bet to assume that disconnected households will become a true rarity in the near future.
Either Damn Small Linux or Slax is what you want - easily customizable, easy to use, good browser experience, runs from either a CD or a USB Flash Drive, minimal machine requirements, can be loaded completely into memory for speed. And if somehow, somebody crashes it - just turn the machine off and on again and you're back in business...
Also, should you need bookmarks that can be easily added to, just use one of the online bookmark services - no need to worry about saving bookmarks on the local machine.
Congratulations: you've got some of the potentially most interesting classes to use technology in - but that potential will be wasted if you just use the tablet and projector to show Powerpoint slides.
When you're designing your class, think: what can the tablet do that would be useful that could not have been done without it. Powerpoint fails this test miserably - an overhead projector would do just as well.
Here are some possible uses that do pass the test:
One last suggestion: don't hog the tablet - let your students use it too. You can set up a problem, and invite students to come up and work through it individually or in groups, showing their thought process to the rest of the class. The students will learn much more, and everybody - including you - will have a lot more fun.
Good luck!
From how you state your approach, it is blatantly clear to me that you are completely and totally unqualified to recommend or support any type of software installation - OSS or otherwise. The dead giveaway is the sentence:
Anyone who has done any serious workflow design, or has helped the average user match their needs to specific software applications knows that "15 to 30" minutes of "free time" is not going to cut it. Even something as simple as switching someone's work system from IE to Firefox requires attention to details - I've seen intelligent and reasonable users completely thrown off by (relatively small) interface or rendering differences between browsers that just happened to overlap a crucial portion of how they went about their daily tasks. Many of these details are not apparent in the "15 to 30" minute range - they require someone to work with the user, with understanding and respect for the specifics of their work.
There is definitely a role for intelligent and responsible technologists to design and recommend OSS-based systems - but the first consideration has to be the tasks that the user needs to perform. I'd be pretty damn pissed if my doctor told me they could not read my latest scans because the oh-so-bright technician that fixed their system did not check to make sure that the necessary codecs were supported under Linux...
...not determine attendance policy for the professor in the class. If a professor cares about attendance, they will connect it to a portion of the student's letter grade; if they don't, they won't.
Additionally, should you decide to create a system with built-in attendance-related restrictions, you will automatically become the target of everybody's dissatisfaction: professors who see attendance drop will blame you for not implementing strong enough measures, while professors who dislike the restrictions (or dislike having to deal with them) will accuse you of making their teaching more difficult. Either way, you can't win.
I'd recommend that you focus on what is squarely within your area of competency: making sure that the audio is clear, that the podcasts are available in formats that any student can easily access, and that they're available promptly and reliably. Should any faculty member bring up the attendance issue, you can simply point out to them that it would be inappropriate for IT to dictate attendance policy to the faculty by unilaterally setting up podcast restrictions.
Several other people here have mentioned Logo - an excellent choice, in my view. I recommend taking a look at the three volumes of Brian Harvey's Computer Science Logo Style .
The Logo tree has spawned several other languages - two worth looking at are NetLogo and StarLogo TNG - both of these languages are particularly well-suited to modeling projects, the first with a traditional text-oriented perspective, the second with a graphical programming interface.
Another programming language specially designed for education is Alice - the language is designed so students can graduate rather quickly to more complex object-oriented languages. Python, Ruby, and Java would all be good follow-up languages to Alice.
Finally, let me gently suggest that you not follow through with at least one portion of your original plan: the game c-jump is a very poor choice for introducing students to programming. Not only is the game completely inappropriate for any child over the age of 3-4 (it is just a very boring version of snakes and ladders), it is also extremely poor from a pedagogical viewpoint, with no creative activity on the part of the students, reinforcing notions of code as arbitrary sets of commands. The first couple of tutorials in Alice will be far more enjoyable for your students, and actually get them involved in some real thinking about programming.
After RTFA (I know, this is Slashdot, but...), and going over the Chicago Virtual Charter School materials, I can't say I'm terribly impressed with either one. For starters:
However:
Overall, it looks like the CVCS might be a tolerable interim solution for parents who only have access to desperately bad public schools, but certainly not a replacement for even middle-of-the-road traditional public education, let alone a serious attempt to explore the potential of virtual schools.
...and an even worse educational tool.
If you look at the actual game, you will find that it is simply a version of "Chutes and Ladders" with programming language terminology grafted onto it. There are no strategic choices involved, and no aspects of the game that require that kids do any programming whatsoever. It also incorporates sample code gems such as:
Wonderful - let's teach kids how to write really bad code.
I feel very sorry for any parent that spends $21.95 for this piece of junk. Scott Aldie's remark in the Wired article is right on the mark - this game is nothing more than a gimmick, and not a fun one.
By contrast, if you would like kids to learn programming, and have fun while doing it, take a look at Alice (http://www.alice.org/). Not to mention that you get to save the $21.95 for a game your kids will actually enjoy...
There's a simple solution to the issue you bring up - ask the person what it is they do, what tools they use to do it with, and what they would like to do but have been unable to do thus far, before you put a CD on their desk. Yes, this takes a bit of time - but the idea is to help the other person in a way that is useful to them.
You also seem to forget that many - probably most - users do not need exotic applications for their day-to-day work. A carefully selected set of office apps, a good address book and calendar, a web browser and an email program, a music player and a few games will cover their needs. If you make three different compilations of software in these areas (one lightweight, one medium, and one heavy-duty in terms of features and complexity), you'll have most of your bases covered.
Finally, for those users that need to try out a range of tools, it is a (relatively) simple matter to show them how to transfer their LiveCD onto a hard drive, how to find suitable applications online, and how to use apt-get to install them. My experience has been that all but the most unreasonable people will understand that you cannot hold their hand forever, and be willing to explore on their own. The fact that, should something happen to their hard drive, they can always fall back upon the LiveCD, helps reduce the anxiety that might otherwise discourage exploration.
At LinuxWorld last week, John "Mad Dog" Hall gave an excellent talk that, among other recommendations, made a crucial point about introducing newcomers to Linux:
This is the problem I've seen with distros like Knoppix - while they're great resources for experienced Linux users who want to have all of their favorite tools available anywhere, the number of apps is too much for newbies to handle. If you want to turn someone off Linux, just tell them "Well, for word processing you could use Abiword, or KWord, or OpenOffice. And look, you can use Dillo, or Mozilla, or Konqueror, or Firebird as your web browser. Isn't this great!" - I guarantee eyes will rapidly glaze over. The "let them explore the CD" approach is no better - the menus are cluttered and unintuitive to the newcomer, and the plethora of application interfaces with wildly different visual styles and conventions will finish confusing and scaring them.
If you really want to introduce people to Linux using a LiveCD, I recommend taking the time to make a custom CD that carefully selects a subset of the available applications that will be both interesting and accessible to your audience. This is actually quite easy and fun to do, starting from Knoppix (or Damn Small Linux, or Morphix, or...), and is one of the most useful things you can do to help Linux gain acceptance by a broader audience.