Showing posts with label education. Show all posts
Showing posts with label education. Show all posts

Tuesday, August 19, 2014

John Cotton Dana


I'm writing this on August 19, 2014. John Cotton Dana was born on August 19, 1856 in Woodstock, Vermont. I looked him up after I came across this snappy graphic on the Web:



I was surprised to learn the extent that he had influenced my life.

http://en.wikipedia.org/wiki/John_Cotton_Dana

Wikipedia says he died in New Jersey on July 21, 1929. I did find another web page that says he died in Manhattan, not New Jersey, so once again we see that Wikipedia is not a definitive source, even if it is darn informative.


So how did this long dead person influence me? Well, for starters, in 1909, he founded the Newark Museum. I grew up in Union, NJ, about 9 miles by car from Newark Museum. My Mom would take me there for an easy day trip when we had nothing specific to do. I particularly enjoyed the science and technology exhibit of simple machines. I haven't been there in many years now and surely there has been turn-over of the exhibits, if nothing else, to make up for mechanical wear and tear.


Besides founding that museum, John Cotton Dana also was a librarian. I think my favorite line from the Wikipedia article was this:

He would have found a library school curriculum intolerable, and doubtless a library school would have found him intolerable.


Before John Cotton Dana, libraries tended to have closed stacks. A librarian would go fetch the book that you wanted to look at. Dana pioneered the radical concept of open stacks. The main library of the Rutger's-Newark campus is named after him. I'll leave it to you to forage around the Internet or your favorite local library to learn more about this man. Hey! At least read through the Wikipedia article, please.


Not all of his point of view would be accepted today. For example, Wikipedia says that he organized the first ever children's library room, but he believed its proper role was to help provide material to teachers. He was opposed to "story-time" at the library.


If you have kids, remember John Cotton Dana today by taking them to your local children's library, where I wager, you will find open stacks for easy browsing of the book collection. Even if you don't have kids, today would be a good day to make sure you know where your library card is. (You do have a library card for your local public library, don't you?) Make sure your card is up to date. If not, renew it, and use it.


Speaking of children's libraries, here in Westbury, NY, the founding of the local children's library pre-dates the establishment of the local public library for adults. The 2 only joined together since 1965. History of Westbury Children's Library


Revised 08/19/2014 to correct a wretched typo: Dana was born in 1856, not 1956!


Revised 09/22/2020 to put the missing graphic back into the page.

Friday, August 8, 2014

TED Talk for Mature Audiences - Dismal Science, Disappointing Careers


For many years now, Economics has been known as the "dismal science". So, who better than a (Canadian) economist to deliver a 15 minute TED talk on "Why You Will Fail to Have a Great Career". TED talks, in general, are upbeat talks and this one, despite it having a somewhat cynical tone to it, really does have an upbeat message in there. I do worry in pointing out the talk that it requires a certain amount of maturity to hear the real message. The message an immature audience just might receive from this talk could be extremely negative. You've been warned! So, if you think you have the maturity to find the constructive up-lifting message in his talk, give a listen to Larry Smith of U. of Waterloo on why you will fail to have a great career.


The talk mentions the 2005 Stanford Commencement Address by the late Steve Jobs. If you haven't given that one a listen, I urge you to spend the 22 minutes that it'll take to play that one for yourself too.


you don't have to agree with the speakers in these video talks. If you have an opinion on what you've heard here, you're invited to leave a comment down below. I'm looking forward to hearing from you. And, of course, if you know someone who might benefit from giving a listen to either or both of these videos, please pass along the link to this blog article.

Saturday, April 19, 2014

Bill Gates TED Talks - Ideas Worth Sharing

Bill Gates is the well known founder of Microsoft. I'm not a fan of Bill nor of Microsoft. I am an advocate for "open source" software, and I think Microsoft has brought much harm to the computer industry. But that isn't what this brief article is about.

Bill has given a couple of really good TED talks, short ones, about 10 minutes each. I pointed out this first one before. It advocates more technology in the classroom, specifically video recorders so teachers can assess their teaching sessions.

Teachers Need Real Feedback

A balanced assessment of the idea would have to take George Orwell's concerns from "1984" into account, but as presented, I think the video idea has merit.

A second Bill Gates TED talk, looking at the education problem from an entirely different perspective, is this one:

How State Budgets are Breaking US Schools

Alas, he does better at explaining the problem than he does at suggesting solutions.

What do you think of his suggestions? Is he merely advocating that a larger slice of the education budget should go into technology because that is in his self-interest, or is he showing real forward thinking?

Saturday, March 22, 2014

Things your Guidance Counselor Maybe Didn't Drill into You.


I got the exciting news today that the son of my wife's daughter (which modulo the complications of 2nd marriages would make him my Grandson) has been accepted to the University of West Florida. He lives in Florida and I'm up north on Long Island (New York), so I confess to not having ever met the young man nor even knowing about the University of West Florida. But, as usual, Google is my friend when it comes to learning about places not familiar to me. Having now read a bit about the school, I whole-heartedly endorse his choice of college. Wikipedia had nice things to say about the place and it even fared well in the US News tabulation of colleges. But not actually knowing the plans of the gonna-be Freshman, I've got a few things to pass along to him as guidance.

First Things First

College is an important time when many things are going to be going on in your life. It's an investment in your future, but it comes at a cost. There's the obvious expenses like tuition and fees and books and supplies, but there's also an "opportunity" cost. You've elected to defer getting seriously started on your adult life for the number of years that you'll be tied up pursuing a degree. You've picked a 4 year school, so nominally, the long march to a degree should take you about 4 years. If you manage your time properly, and meet the requirements listed in the catalog, then in about 4 years time, you should indeed be graduating and moving on to the next stage of your adult life. If you do it wrong, 4 years will slip into 5 years and perhaps even longer. The price tag on your college education will continue to mount up, but the prize at the end is still that same degree. My point is, your first priority should be to stay on track to completing your degree. Some of the degree requirements may be quite frustrating, but on the bright side, the rules are at least clearly spelled out in the catalog. I assure you that later in life you will have to work your way through many situations where the prerequisites and the completion requirements are not spelled out with anything close to the clarity of your college degree.

Note that I said completing your degree is your top priority. By no means did I say it was your only priority. Not so clearly spelled out in the catalog is that your college years are when you seek out what it is that really interests you. You have to discover the degree program and subject "major" that you have a passion for - Something that you'd hope to be doing for the rest of your life, whether or not it was attached to a paying job. Make no mistake about it, to keep body and soul together you will need to find and work a paying job after graduation. Food, clothing, shelter, medical care, cell phone service, high speed internet - none of those are "free of charge", so you will need a job to earn a living. But if you force yourself into a particular career (perhaps "plastics") because you heard that it pays well, yet find that it isn't something that you enjoy, then you've made a grave error in planning your path through college. College is like 4 years, but your career is then the rest of your life, hopefully decades.

But wait! There's more!

Besides picking the right course of study and completing the degree requirements, there's an important social side to college. All work and no play doesn't make for a good, complete, college experience. You'll meet a lot of interesting people during your years in college. Some will be greatly challenging to your intellect. Some will be great fun for parties. Some may be strongly negative influences on your life. With luck, you'll even meet someone who you'll deeply love, someone who makes you a better, happier, person. You need to sort out who is who while not getting too distracted from your top priority.

The good news is that you aren't left entirely on your own to navigate this complex mine field. The same social structures that helped you get through life this far, your family, your church, your childhood friends, and so forth, are still places to turn to when you need guidance. The Internet and so forth makes it relatively easy to keep in touch with your old social supports, even if you are physically separated from them by many miles. Time spent socializing on the Internet is yet another "distraction" from your top priority, but keeping in touch with your roots may have real value to you. So make a conscious effort to spend your time wisely.

School Supplies

Next, a few words about school supplies. If you use a smart phone instead of paper products for these, that's fine, but make sure you have things configured so your information is safely backed up outside of the phone. Phones die or get stolen and you don't want to lose your information. What information? That brings us to the first couple of items on this list:


Calendar - You'll be needing a calendar to remember places you have to be at a specific date and time. In high school life is simple enough that perhaps you are used to tracking such commitments in your head with the backup coverage of reminders from your Mom. In college, your calendar can get a lot more crowded than that.


Address Book - You'll be meeting a lot of people at school. Professors, teaching assistants, lab partners, that hot girl in your Psych class. Take a few moments to jot down their name and contact info in a location where you'll be able to find it later. Loose scraps of paper jammed into your pocket or wallet isn't going to be useful to you in a week when it's faded and crumbled and perhaps even run through the laundry.


Alarm Clock - A smart phone can sound reminders through-out the day, but if you are as sound a sleeper as I am, you'll need a loud, persistent alarm clock to get you out of bed in the morning. I suggest a plug-in model, perhaps even a clock-radio, with a backup battery so it doesn't lose the time or settings across brief power outages. The easier it is to set the alarm time, the better. At the very least, look for an "up" and "down" option on the setting buttons. My favorite clock radio had an actual keypad for direct entry of the time, but I'm not sure that that model is on the market any longer. Do remember to buy appropriate batteries for that backup battery feature. And take some care in picking the location for the clock. The night stand next to your bed has the advantage of being right by your ear, but the drawback of putting the snooze button within arm's reach. I find what works for me is to keep the clock on the dresser where I have to get out of bed and walk across the room to turn it off or hit snooze.


Bank Account - You've got to shop around. College is a time where you'll spend your days somewhere between destitute and flat-broke. Every once in a while, you'll receive some money - perhaps a check for your birthday or for Christmas. Nothing will make that money vanish faster than cashing the check and putting the cash in your wallet. You need to set up a bank account for yourself. You probably should find out what banks (or credit unions) have ATM's on or near campus. Banks near colleges often offer accounts structured to attract students: Low fees, low minimum balance, but probably no interest on your deposit. A debit card is almost as easy to use to drain your account as was cash in your wallet, but at least the debit card gives you a statement so you can see where the money went. If they offer you a credit card, you probably should say "no". It is a lot easier to get into credit card debt than it is to get out of it. A debit card inherently caps your spending at how much you have. Living within your means can be tough, but I strongly recommend it.


Fire-resistant lock box - You need to start being responsible for your own life-documents. Birth certificate, social security card, perhaps even a passport. You don't really need a safety-deposit box for these items, or even a secure safe, but you shouldn't be just tossing them into your dresser drawer under the socks either. Visit Walmart or some such store to find a fire-resistant lock box that you can stash in the back of your closet to hold these hard to replace documents. Note that fire-resistant boxes tend to have water entrapped in the walls of the box, which converts to steam in the event of a fire. The physics of boiling keeps the papers inside the box from reaching the ignition point for paper (until the water boils away). The temperature and humidity in the box is meant to be safe for paper, but not for computer media, so such a box isn't a good place to store backups of your data.


File Folders - For all the years of people talking about "paperless offices" and "paperless classrooms", I think you'll be surprised at how much paper comes into your life every day as a college student. The papers are worthless to you unless you can retrieve them when you need them. As a start on getting them organized, I therefore suggest an investment in file folders. If you don't have a place to stash the folders, then an additional expense to anticipate for you is a small file cabinet. (I recently picked up a flimsy 2-drawer metal file cabinet at Walmart for just over $30). How to organize the papers is a whole other essay that I'm not planning to write here. Cheap 3-ring binders and a 3-hole paper punch can be an alternative to the file cabinet to the extent your papers are 8.5"x11". Keep an eye on the back-to-school sales that come up every year as September approaches. Loose-leaf paper and manila notebook divider sheets can be mighty handy. If you use pencil to label the folders and divider sheets, you'll be able to erase and re-use them as the topics to organize shift as time marches on.


Book Shelf - College brings you more (and heavier) text books than you want to haul around in your back-pack every day. And college doesn't come with a hall-locker for you to stash the books you don't need right now. Make sure that no matter where you plan to live, that your room has a bookshelf where you can store your reference books, text books, note books, etc., etc. in a neat and accessible manner.

Desk - In high school the kitchen table or maybe even your lap sufficed as your work place for your writing assignments. In college, you really ought to have a real desk for yourself. Several stacks of cinder blocks and a slab door can make a serviceable desk for little money. Do remember your budget needs to cover a reasonable desk chair too. A suitable computer and some provision for Internet access are key parts of a modern student's desk these days, so that needs to be included in your planning.


Comfie chair and reading light - A startling amount of your college life will be spent on reading. If your habit has been to sit down in the living room with the television on while you read, now is the time to change that habit. It'd be unsporting to tell your family that they aren't to watch television until you graduate. You need a comfortable chair in a quiet place, away from the television, and with a good reading lamp. There are lots of ways to stretch your budget when looking for such items. Some of my college buddies solved the problem by pretty much living in the college library for all their waking hours except for class and meal times. Explore your campus library and find what provisions they have for quiet study space for undergraduates. That wasn't the way that I did it, but I know it can work.

Dorm or commuter student

I see UWF has large dormitories to accommodate students living on campus. They allow Freshmen to park on campus, which implies to me that not everyone is living on campus, some are presumably commuting to school. Home for you is in the Florida Pan-Handle, so I'm guessing that commuting is an option for you. Living at home and commuting to school can be a big cash saving for you. You can forage for food in the kitchen, and your Mom's washer and dryer probably doesn't insist you insert a bunch of quarters for each load. Nevertheless, I urge you to consider living on campus. I believe that moving out of the house is a big step in growing up, and college, if nothing else, is about growing up. Dorm room, meal plan, laundry expenses, ... No doubt living on campus isn't "free", but if you consider the groceries your Mom won't need to buy at home, the gas and car expense that you won't have if you aren't commuting to school each day, maybe you'll be able to manage to live modestly on campus. I think you'll find yourself much more inclined to take advantage of the campus library and of events at school if you are right there.

I can pretty much guarantee that your first trips home after you've been away at school will not be entirely comfortable for you. Quite likely you'll discover that your family and old friends somehow haven't been aware of the way you've grown up while your were away from home. Don't let that disconnect ruin your visit home. If nothing else, it'll help you appreciate the wisdom of that old adage "You can't go home again".

Your Health

Some fraction of kids go away to college and come back dead. The newspapers love to jump on such stories because the news is so universally distressing to parents. Have fun in college, but take care of yourself. Impaired judgement from chemically enhanced fun can lead to tragedy.

There are plenty of other ways to ruin your health, though some of them take time. Lack of sleep, for example. Your alarm clock may faithfully remind you when it is time to get up, but it is up to your own self-discipline to remind yourself when it is time to get some sleep. There will certainly be nights when you are cramming for exams or whatever and absolutely have to cheat yourself out of some sleep time, but I assure you that if you make a habit of that, you'll soon find yourself working much less effectively at your college priorities.

Nutrition is another oft-neglected facet of good health among college students. Pizza and coca-cola are a tasty combination, but not a good choice for breakfast. You really need to make an effort to maintain a reasonably balanced diet. Some oranges for vitamin C, milk for healthy bones, all those things they taught you in health class. Somewhere on campus there's a reasonably accurate scale where you can pop by once in a while to keep tabs on your weight. Perhaps somewhere near the gym? Balancing your calorie intake to your level of physical activity is another important part of a healthy diet. (There are free smart phone apps that make it easy to keep track of your weight over time, producing easy to read graphs of your progress or backsliding). Speaking of physical activity, I'll wager that the outdoor weather in Florida is a lot more hospitable to getting out and about than the gloomy slush that was much of the school year up in Ithaca, NY. Ithication we called it. Like precipitation, but greyer and less comfortable.

You're old enough that I'll not subject you to yet another lecture about the dangers of sex. An incurable STD can certainly take a lot of the fun out of college. An unplanned pregnancy can throw quite the monkey wrench into your graduation plans. So have fun in college, but remember there's no "reset" button like in video games, no rehearsals, just one pass through life so make the best of it.

The Requirements for Graduating are in the Catalog

I mentioned up above how you have to consciously pick your path to graduation. You need to find a "major" that really excites you. One of the things I like about UWF is they have a wide variety of options open to you. Teaching, nursing, biology, social work, engineering. My "thing" is computer software, but that isn't exciting to everyone. I'm not going to be that guy whispering "plastics!" in your ear. You'll have to find your own way.

Do your best to plan ahead. There can be long strings of pre-requisites to work through for some majors, so if you don't make yourself aware of those soon enough that 4 year diploma can start slip-sliding off into the future by years. Try to fit some courses into your schedule that'll give you a taste of something completely different from where you think you are going. Be brave enough to change direction if you find where you thought you wanted to go wasn't as interesting as you thought it was going to be. But if you find yourself having to repeatedly change your mind and your direction, do find yourself a trusted advisor who can help you work through why that keeps happening to you.

There's more to college than passing classes and graduating

There are many more things happening at your college than just your classes. Take advantage of your being on campus by paying attention to what else is going on and attend some of those events. Back in my college years, when dinosaurs roamed the earth, the walls and hallways of campus tended to get plastered with posters announcing "events". It is possible that the Web has completely replaced those flyers, but I doubt it. Don't blindly rush past announcements of symposia and events on campus.

Happy Trails!

You certainly saw quite a fuss today over your getting into college. Just imagine the excitement in your family when you graduate. I'm wishing you the best for your college years. If I've given you any surprises here or left you with any questions, do feel free to contact me and we can talk.

Do well!

References

Most all of your college papers will be in for severe criticism if they don't include suitable references at the end. So, I close with a few references here for this article.

There's a pretty good book called "How Children Succeed" by Paul Tough. If you don't want to take the time to read the whole book, a possible short cut is to read my book-report on my blog from back when I read the book.

I hate to admit it, but there's an awful lot of wisdom (as well as laughs) about the real world of corporate employment to be found in the Dilbert comic strip by Scott Adams. For example (Dilbert, 02/18/2014:

Click on the dated link above the comic to see the missing punchline in the 3rd frame. Then you can use your browser's "back" button to return here.

Back in January, 2013, I posted "Advice to Undergraduates". It's basically a link to 3 other articles that I enjoyed. It may be a bit too computer-science-centric for general audiences, I still enjoy reading the linked articles there.

"Education" is a recurring topic on my blog and I won't puff up this references section with links to all the related articles. But I would like to point out the TED Talk linked to my May 2013 article "Education's Future: 'Go Do Something Interesting'"

If my repeated mention of "plastics" makes no sense to you, use your Netflix subscription to hurry up and rent a copy of 1967's movie "The Graduate".

These references would be far from complete if I didn't also include a link to Dave Barry's 2004 "Commencement Address".
Revised 3/31/2014 - Edited to fix a couple of minor typos.
Revised 04/20/2015 - Revised because Dilbert URL's changed around so link to "sleep" comic broke. I fixed it.
Revised 09/16/2019 - Revised because URL to Dave Barry's commencement speech broke. I fixed it.

Saturday, November 30, 2013

Linus Torvalds on Teaching Children to Program


Linus Torvalds in this less than 3 minute video clip gives a great answer to a question about teaching children how to write computer code. He specifically mentions the Raspberry Pi as having the attractive property of being cheap enough to throw away. I've said before that if you persuade kids to try a computer programming course, some number of them will hate it, and will vow never to wrestle with computer software again. But there should be some who will decide this is fascinating and will pursue it further, perhaps making a career out of it.


http://www.youtube.com/watch?v=2KfJiWR1FPw


My conclusion is that an introductory programming course should therefore be short. I like Udacity CS101. It is nominally only 8 weeks at 5 hours of class time per week. It is self-paced and not on a fixed schedule. You may want to see my blog post: Is the Udacity CS101 Course Watered Down?


There are many possible ways to introduce computer programming. For example, you could pick a commercially important programming language, e.g. C or Java, and organize a course around learning that language. Or you could create/select a student language just for the students to get started with the concepts (Scratch, Logo, Basic, CUPL, ...) and teach that. I think Udacity CS101 chose wisely in picking a subset of Python. Python is a clean, powerful, multi-paradigm programming language that does see some real use commercially. Udacity CS101 doesn't visit all aspects of the language, but it does teach enough of it to give a good start at understanding the construction of computer programs. I believe it is much easier to get started in Python than in C or Java and that Python can carry you a lot further than Scratch, Basic or CUPL.


Another approach to introducing computer programming is to pick projects that are particularly attractive to students. Robots and computer games are two oft-mentioned examples. The parts and tools needed for a Robot-centered course call for a substantial investment ($10-$25 thousand per team is a working estimate I've seen on the web) and also requires comparatively large secure space to store the project, parts and tools. Real-time software that interacts with sensors and motors strikes me as more advanced material then a short introductory course should aim to cover. Games keep the work in the virtual world, so there's less need for parts and a workshop space, but interactive software with graphics is again, in my opinion, more advanced material that a short introductory course should aim to cover. Fair enough to stir into an introductory course a bit of foreshadowing to hint at how the material the course is covering can be extended to work in games or robots.


But I haven't any real experience teaching computer programming to students. I've been trying to launch such a course at the local community center here in the New Cassel section of North Hempstead, NY for well more than a year now, but it hasn't gotten off the ground yet. A shameless plug for yet another of my blog posts: Marketing the Importance of Programming Education. The comment thread on that article is, in my opinion, particularly worth reading.


A reminder: Blog sites such as this one are intended to be 2-way communication, not just reading material. Whether you are a student, teacher, programmer, experienced or inexperienced, you are invited to post comments about this article down below. Suggestions, counter-examples, criticism, pointers to other sites that said it better, and, of course, praise are all welcomed. Anything but spam.

Saturday, September 14, 2013

Bicycles for the mind... A Steve Jobs talk from long ago.

1980

In the Introduction talk to Udacity CS101, Professor Evans mentions Steve Jobs having compared computers to "bicycles for the mind".
I think I've now stumbled across the talk where Jobs more or less said that. Run time for the Jobs talk is about 20 minutes. The bicycle reference is around the 6 minute mark in the Jobs video. Evans attributed the quote to circa 1990, but the talk is said to be from 1980, and given Steve's youthful appearance in the video, I believe the 1980 date.


Speaking of small errors, one of the annoying things in Jobs talk is he speaks of meeting with some 4th and 5th graders, but he then calls them 4-5 year-olds. I think 9-11 year-olds would be a lot closer to correct. 20 kids and 6 Apple computers? What a depressing student/machine ratio that would be these days!


Jobs mentions Visicalc in his talk like that is something that everybody in the audience knows of. But here we are some 30+ years later and I'm no longer sure that you all know what Visicalc was. Happily, Wikipedia remembers. Even if you remember Visicalc, I recommend that you visit the Wikipedia page. It has some wonderful interesting links, including one that lets you download a free copy of Visicalc for your x86 Windows PC. That version was written for DOS 1.0 so it only works within the current directory. DOS 1.0 didn't have directories, just disk drives. Most folks back then didn't have disks with any more capacity than a 5.25" floppy disk. In 1980, that would have maybe been 140KB of storage space.


One other link to particularly take note of is the one that asks "What if Visicalc had been patented?". If you haven't been paying attention to the arguments about software patents and why they are not good for the economy, you really should Google up some background reading for yourself, maybe sit through a Richard Stallman talk or 2 about "intellectual property". Be forewarned that Stallman's talk is a 2 hour talk, so take a bathroom break and get yourself a fresh mug of coffee, tea, or whatever before you fire up the Stallman talk.


If I'm going to mention Steve Jobs and Richard Stallman in the same blog post, it is probably appropriate for me to point also you to this short video where Stallman contrasts his own accomplishments vs. those of Jobs and of Bill Gates.

Time marches on, but progress?

Listening to Jobs 1980 predictions for what the heck we'd do with even more computing power, I can't help but be disappointed with how little real progress we've made on that front. The computing power has, of course, materialized as predicted, and I suppose the graphical user interfaces of Windows, MacOS and web browsers is something of a usability improvement compared to DOS 1.0, but I was sending e-mail and posting netnews items aplenty back in 1980 and it isn't like that process is hugely different today. To keep things in perspective, the Macintosh computer was introduced in 1984. Here's an early 1984 video of Steve Jobs giving a timeline leading up to the Macintosh. It's only about 7 minutes long and includes the famous "1984" teaser ad for the Macintosh; an ad still worth watching, in my opinion. Here's a 10 minute video of Steve Jobs actually introducing and demonstrating the Macintosh.


Still, if you have a problem that you want to solve with a computer, are the barriers to solving your problem significantly lower today or about the same despite the powerful GUI computers that are now available today? If there's an existing product that fits your needs ("there's an app for that"), your path is easy, but if you really need custom software, perhaps a custom database, I expect you still have a rough road ahead. "Cobol is to Visicalc as Y is to Z", but what are Y and Z?


Comparing the Python language to the programming languages of 1980 (C, PL/I, Cobol, Fortran) I guess there's some evidence of our having learned to apply plentiful compute power to making the programming job a little easier, but there's still a steep hill to climb to bring computers to bear on your problem, whatever your problem might be. The Internet, the World Wide Web and search engines seems to be the most evident signs of progress in the computing world since 1980. I do wish the world had more progress to show on reducing the barriers to applying computers to solve problems given the passage of 30+ years since that Jobs talk. Are there specific improvements in the computing world that I'm overlooking here and not giving proper credit to? Should smartphones get mention or are they just scaled down screens with battery powered small computers.


If I was better at HTML, maybe I could rig this article to provide background music as you read the previous paragraph. Or am I being too sentimental about lack of technological progress?


If you are completely unfamiliar with Stallman's contributions to the notions of "free software", you might give a quick read of a past blog post of my own as a way to get started at understanding software licensing and Stallman's GPL in particular: See "Copied Code or Unfortunate Coincidence".

06/11/2014 - Updated: The Steve Jobs talk link went bad! Why didn't anyone tell me with a comment so I'd know? Anyhow, I found a link that works (today).

Tuesday, September 10, 2013

Control Engineering?

My Master's degree

My MSE is from U. of Michigan, Ann Arbor. As I previously explained in a STEM post, I was there in a program sponsored by Bell Labs called "One Year On Campus". Within a maximum of 12 months, it was a requirement for my continued employment to complete a Master's of Science, Engineering degree. The Labs imposed a few additional requirements on the courses I was to take. I was to take an information theory and communications course (modulation techniques, etc., etc.), a digital logic course, and I'm not sure what all else. My main interest was in studying computer science, but the University had a requirement that X% of your courses had to be from within the department of your major. For broad studies of computing, that was a problem as the computing courses were spread throughout the University. The digital logic, machine architecture and assembly language courses were over in the Electrical Engineering department. The computer graphics courses were in the Industrial Engineering department. Operating systems, higher level languages and compilers were in the Computer Science department. Database courses were way over in the business school. So, the Engineering school created the "CICE - Computer, Information and Control Engineering" department to cross list all of the above courses. By majoring in CICE, I was able to take a broad variety of computing courses and still meet that X% within my major department requirement.


So much to do and only a year to do it. So, I admit that the edge of the CICE curriculum where I did not fit in many courses was control engineering. I had some exposure to it, but just enough to hum along if someone decided to sing about the subject. I couldn't even confidently promise to you a competent explanation of the topic if you asked me about it.

TED talk/demo of control engineering

So, I was excited today to find a most excellent TED talk demonstrating control engineering with a set of "Quad copters". The talk has some very impressive demonstrations of software control of the copters. I could wish for a more technical explanation then they offered. I'm not at all sure how many processors of what kind they used to track and control the copters. I'm pretty sure there's more real-time computation going on there then would comfortably fit into one processor, but that's just my gut feeling and not based on any real experience.


And so, for your entertainment and to convey to you what the heck "control engineering" is about, I share with you Raffaello D'Andrea: The astounding athletic power of quadcopters from June 2013. Run time of the video is about 16 minutes.

Want to know more?

I did some mild Google searching to try to find the source code for the control programs, which I assume are likely to be "open source". I didn't find exactly what I was looking for. But I did find some useful info. There's a Wikipedia article about Quadcopters and from there, there are plenty of links to additional information. I found this article about the lab where they test their stuff to be interesting. I was heartened to learn that they do have a safety net to catch the falling copters when the software is still under development. The article does give me the distinct impression that they've developed custom hardware to do the control algorithms fast enough. That is a potential major obstacle for a casual hobbyist who wants to play. If the Wikipedia article doesn't give you enough leads to follow there's an existing Pearltree specifically about quadcopters. I did find some open source (Arduino controller) quadcopter projects. e.g. this one and another one.


If you try your own Google searches, be careful about people in other fields of research with names similar to Raffaello D'Andrea. e.g. I found a biology PhD candidate at U. of Michigan named Rafael D'Andrea - Not the same guy. Oh, and I did find some Cornell U. work in the field of quadcopters too: Autonomous Quadcopter Docking System. Oh my, on page 11 of that report, the guy strapped his Android Smartphone to the quadcopter to add a camera to the configuration. That must have taken guts! (I wonder if he has the "Send me to Heaven" game on his Android phone? Not me!)


If you want to get into the math of control of a quadcopter, this looks like a reasonable place to start reading: Estimation and Control for an Open-Source Quadcopter. Or just sit back and enjoy the demo video that I pointed to in the previous section. Not everyone has to be a DIY engineer with amazing toys.

Wednesday, September 4, 2013

SOLID software design...

My hopeless backlog

One of the bad habits I have is accumulating lists of things to read. Google Reader used to be a handy place to categorize and keep my "subscriptions" to blogs and so forth to read. Unfortunately, Google pulled the plug on that service in July. Fortunately, another web service, theoldreader.com provided a very similar free service. In fact, their service was designed to look like an earlier version of Google Reader. Some time ago, Google removed some "social" aspects of Google Reader and the change irked some of their users. theoldreader.com sprung up to undo the perceived damage of Google's changes. When Google announced the planned demise of the Google Reader service, Google at least was kind enough to provide a mechanism for retrieving my list of subscriptions, so I opened a free account with theoldreader.com and submitted my subscription list. But so did a zillion other people, so it took literally weeks for the site to get around to processing my subscription list. In the fullness of time, they did get the subscriptions into their system and it seemed usable enough, but then their servers crumbled under the newly stepped up load. (Well, I think that the story is more like they made changes to beef up their servers and in making the changes someone tripped over a power cord or something). More days and days of noticeable downtime before things got back on the air and seemingly stable again.

My point in mentioning Blog subscriptions is that the universe conspires to generate "interesting" blog articles faster than I manage to read them. "Another day older and deeper in debt...". My backlog of unread blog articles is quite hopeless, but whenever I have nothing much to do, instead of turning on the boob-tube in the living room, I fire up theoldreader.com in my browser and try to read up on what I've been missing.

If you've got your own solution to tracking new blog articles, I hope my blog here is on your subscription list. If not, please take a moment to sign-up my blog onto your list. Go ahead and do it now. I'll wait for you to get back. (Full disclosure: No one has ever told me of positive or negative experiences from subscribing to my blog with their favorite RSS tool. I'm assuming that blogspot.com does the right thing, but if you run into a snag, I'd sure like to hear about it).

Emily's "Coding is Like Cooking" blog

One of the blogs that I do try to keep up with is from an expert on test-driven-development (TDD) named Emily Bache, an Englishwoman who now lives and works in Sweden. Her blog is called "Coding is Like Cooking". I like it because it tends to be quite well written and covers relatively recent software development topics that I might otherwise miss out on. i.e. Stuff that I didn't learn in school back in the days when Structured Programming was still somewhat controversial, and that I didn't pick up by osmosis in the later years of my employment at Bell Labs. I freely confess that Test-Driven-Development wasn't part of the quite informal methodology that "we" in Math Research were following. The mathematicians tended to find the underlying math of the problems far more interesting then the structure of the code. I also found myself unexposed to a great mentor for Object-Oriented-Programming. Java got some use in our projects, but I knew enough to recognize bad use of the language when I saw it. So, now I'm retired and still have much to learn. The web has no shortage of material for me to learn from and by reading Emily's articles and saying "Huh?" when something comes up that isn't at all familiar to me, I find lots of great stuff to learn.

One of my "Huh?" moments came from her mention of the "London School". I followed her link and picked up a book for my Amazon book Wish list: Growing Object-Oriented Software, Guided by Tests

SOLID Principles and TDD

So today I was reading an article of her's from September, 2012, SOLID principles and TDD. I didn't get very far into it when my brain complained "Huh? What does she mean by SOLID?". So I opened up another window thanks to a link she provided and read the Wikipedia article on SOLID. It isn't a particularly excellent Wikipedia article. It is dense with off-putting terminology - might be the fault of the SOLID acronym and not really the fault of the article - I've got to forgive the Wikipedia article because it has some excellent links to reference material.

Uncle Bob's principles of Object Oriented Design

One of the links from Wikipedia that I followed was http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod. Still more links to clarify the mysterious-to-me parts of that SOLID acronym. This summary article looks especially good: http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf.

And just to make sure I don't run out of things to read, there's a book mentioned and even recommended by another reader - Agile Software Development, Principles, Patterns, and Practices that I've added to my Amazon "Agile" book wish list to remind me I really need to take a look at it.

In closing...

So, my situation is quite hopeless if the goal is to finish reading the stuff on my list. If I'm reading anything interesting, it tends to add more things to my list. And that doesn't even count the time to actually try the tools and techniques that I'm reading about. I hope you found some of this material interesting enough to add to your own read-and-try list. I guess I have a bit of a sadistic streak to want to inflict my backlog on other folks.

Learned anything interesting lately?

Wednesday, August 28, 2013

Learn How to Program Computers!

Say What?

News photo of an experimental self-driving Volvo from Engadget report.


Computer procesors show up almost everywhere these days. Desktops, laptops, cell phones, processors embedded in cars, processors embedded in printers, embedded in cameras, embedded in dish-washers.


One thing that they all have in common is that someone (or some team of folks) had to develop a set of instructions to guide the computer to do whatever it is that it does. Those instructions are called programs, software, and the stuff that goes into a program is called "code", not to be confused with "secret codes", though there is a connection if cryptography is what interests you.


So, no matter what, you are pretty much fated to be a user of computer programs, but with some effort on your part, you can learn to write your own computer programs too. Creating a computer program is called "software development". You can learn to do software development on your own. I'll caution up front that seriously big projects generally are tackled by teams, not individuals working solo. But the longest journey starts with but a single step.


My intent here is to convince you that you should embark on the long journey of learning to program computers, to do software development.

Motive

There are plenty of reasons why you should learn how to program computers. Before you begin on that path, you might want to think about what your motive is. Are you hoping to write your own computer games? Want to understand Cyberwarfare before you are noted as a threat by Skynet? Interested in autonomous robots? Self-driving cars? Want to develop a fancy web site of your own? Thinking it might be a useful skill when seeking a serious job? Want to understand how the NSA accidentally intercepted calls from Washington, DC, when they meant to intercept calls from Egypt?


I can't tell you what motivates you. I will caution that this is no short trip, so you should probably be sure you are well motivated before you dive in.


I'll also mention up front that the early days of getting started with developing your own software can be frustrating. As you master the basics, a self-driving car may seem awfully far away. Part of my hope here is that I can convince you that if you keep your motive in mind, you can work through the steep initial learning curve.

Age restrictions?

In my opinion, there's no upper bound on the age when you can learn to program computers. If you are past retirement age, that might alter your own list of motives for learning, but it is no reason to refuse to give it a try.


Can you be too young to learn to program? Well, programming does generally involve reading and writing, so if you haven't gotten proficient at those skills yet, you may find it hard to get into software development. But then, how is it that you are reading this article? The US apparently has regulations that strongly discourage web sites from registering information for children under age 13, so if you are under age 13, it is important that you discuss your plans with your parent or guardian and have permission from them to get involved in online courses.

Cost?

If you have access to a computer with a good Internet connection, you probably have all that you need to get started. If you don't, then how is it that you are reading this article?


Of course, if you have money to invest in this project of yours, there are things you might want to look into. For instance, books. You can get plenty of materials for free here on the Internet, but sometimes it can be useful to have a paper document that you can bookmark, dog-ear, highlight and annotate. Don't feel you have to invest in books up front, but if you can find a good local book store, you may find that there are useful things to be found by browsing. Your local library may also be useful, though in my experience, the local library tends to be woefully short of current technical books. The good news is that if you can find titles worth looking at, perhaps from web searches of places like amazon.com, then most likely your local library can arrange an inter-library loan so you can examine the book without having to buy it first.


Of course, library books, including books borrowed on inter-library loans, need to be treated politely, not dog-eared, high-lighted and given marginal annotations. And they do have to be returned after a relatively short time. If you find a title that looks really well matched to your needs, that's where you just might blow your allowance on an order from an online book-seller, so you'll have a copy of it for your own. Amazon.com does have provisions for wish lists, sort of like bridal registries, so as you publically grow your list of titles you hunger for, you'll at least make it easy for folks thinking about getting you a birthday present or Christmas present.


Libraries can also be a great place for getting free public access to Internet-connected computers. You might find that there are administrative obstacles to your installing software development tools on the library's PC's, or even filters to protect you from the educational materials. Don't let those barriers stop you. Talk to the librarian to find out who is in charge of those kinds of filters. Most likely, arrangements can be made for good reasons like you have.

Courses?

There are many computer programming courses available on the Internet for free. "Massive Open Online Courses", MOOC's, featuring different programming languages and different levels of material. Some aim to serve particularly younger students. You might look, for example, for courses that introduce the "Scratch" programming language.


I haven't taken a "Scratch" course myself, so I'm not going to single out a specific suggestion here. Just try a simple Google search for:


    scratch programming course


and let us know in a comment which course you picked and why, and how that went for you.


But if you feel you are ready to learn a somewhat more conventional programming language, one that will take you further than I believe Scratch will, my suggestion is CS101 from Udacity.com, where you will learn to program using the Python 2 programming language.


The Python programming language continues to evolve. There are Python 3 versions available today. The world is still catching up to that. You'll be fine starting with Python 2, and learning the differences later on to get over to the newer versions. It is important that you know that there are multiple versions and that when you are shopping for books or tools that you get a version that matches what the course is expecting you to have.


There are other courses available, though I haven't tried the others myself. Certainly there are courses that teach Python specifically for game development. And there are plenty of courses that teach other languages, Java and C, for example. But in my opinion, CS101 from Udacity.com is a good place to start. It is free, self-paced, you work on it on your own schedule. Nominally, it is an 8-week course. It doesn't have pre-requisite other courses. I believe it is an excellent place to get started with MOOC's. There's a final exam at the end and when you pass it, they will e-mail to you a certificate to commemorate your accomplishment. There are reports on the web of real colleges that even give credits if you are a registered student and pass the Udacity.com CS101 course, but being a registered student at a physical college is outside the realm of stuff you can try for no charge.


If nothing else, trying a MOOC to get started will show you if this is a field that holds your interest. I know software development has been a long standing interest of my own, but I also know that some fraction of the students who try it find that they absolutely hate programming. If you find that's the case for you, my advice is that you tough it out to completion of the introductory course and then look for other fields that do hold your interest. It's only a couple of months to work through Udacity CS101, and it isn't anything like a full-time course load while you are working through just the introductory course. Getting the certificate isn't good motive to start the course, but perhaps it is a good motive to stick it out to the end.

Where to find more?

code.org is a web site that advocates that everyone should learn how to code. They offer 3 editions of a promotional video to promote interest in the field. One is a 1-minute teaser. Another is a 5-minute edition featured on their web site's front page. And if you have 10-minutes to spare, there is a full edition available.


There are links on the code.org site to various local places to learn to program. For example, there's a brief plug there for the "Yes We Can Community Center" here in Westbury, NY.


Details of the schedule are not yet nailed down for Fall 2013, but if you are local to here, one way to take on CS101 is to sign up with the Community Center. The Center has the computers and Internet access, and it will have other students so you won't feel too much that you are on-your-own. And, for what it worth, I'll be available to answer questions and help keep you motivated while you are working through the course online.


Not quite free, as there is a membership fee to sign up with the Community Center. But use of the basketball courts, game room and locker room and access to quiet study space for your homework time all come with that membership, so it's probably worth joining if this is your community. (Use of the fitness center is not included in basic membership. Sorry).


The schedule I've proposed is that Monday evenings we'd meet as a class to share discussion of progress and problems. Other school nights I'd be available to answer questions 7-9PM or by appointment.


In any case, you can try udacity.com CS101 on your own before we even get started and then continue at the Community center once we get our act together there. Please, do let them know at the front desk that you're interested in taking CS101 as seating is limited.

Free for Senior Citizens

If you are a resident of North Hempstead and are age 60 or more, you are eligible for free membership in Project Independence and get a free community center membership too when you join Project Independence. Such a deal!

Further reading

Benefits of Teaching Kids To Code That No One Is Talking About - This blog post by an online acquaintance of mine has an example of a Scratch program, and a link to a video of a talk by the creator of Scratch.


Is Udacity CS101 Watered Down - This is a blog post from me in December 2012, describing what you should expect to get out of the online Udacity CS101 course.


Where to Get Python - This is another blog post from me. This one describes how you can install Python on your own PC. Note that back when I wrote that, Udacity was still using Python 2.6, but the course has since updated it's software to Python 2.7. From an end-user point of view that's an almost imperceptible change.


There are numerous Youtube videos available about learning to program games. Here is Episode 1 of a series that is dozens of videos long. Part 1 shows off a couple of games the guy has written in Python and describes what prerequisite knowledge he expects you to have to get started with his tutorials.


This isn't the first time that I've written about plans for CS101 at the Community Center. For more details of my intended format for the weekly meetings, see my blog article: Marketing the Importance of Programming Education

Thursday, August 8, 2013

Software Development isn't a Field for Loners

A young friend of mine, a first year student studying to become a computer engineer, recently sent to me a copy of his school's 3rd year curriculum, asking me for comments. Now, on the one hand, I'm no curriculum expert, not having really looked at a college catalog for computer science in many a year. But, on the other hand, it's a rare topic that leaves me without an opinion when I'm asked to look at something.

On the plus side, the curriculum was packed full of technical courses. It was quite different from my own experience at Cornell U. where every semester in Cornell Engineering had room for at least one elective. My recollection is that the catalog's requirements at Cornell actually demanded that your courses not just be in "Your" school. That requirement was sometimes annoying to comply with, but in the long run, I do think the University succeeded in exposing me to more diverse backgrounds by forcing me to get out and about in more than just the engineering school. Far as I can tell, at my friend's school everyone in his major is expected to work through the same heavy technical course load in their 3rd year.

In my opinion, the weakest aspect of the curriculum I was looking at today was lack of team or group projects. Why do I think that is so important? Well, software development isn't really a field for loners. Programmers may get mocked at social events for not fitting in, but software development is most definitely a team activity. Where do we go wrong at social events? I think it is just a tendency to be so darn focused on the challenging problems at hand at work that keeps us from adequately noticing that the techy stuff is of no interest at all to the Muggles at the party.

Contemporary programming methodologies (e.g. Agile, Scrum, Extreme programming) pretty much mandate that you be able to work with and communicate with other people. Now I concede that it is remarkably difficult to build "collaboration" into an engineering curriculum. First the programming language has to be taught, and then algorithms, and the rudiments of collaboration tools (e.g. git, code review tools, ...) before you can even think about springing a team effort on to some subset of a class. Getting students to actually work together, especially at a non-residential college, can be difficult. To be interesting, the project has to be big enough that splitting the work up across the team has to make sense, but it still has to fit into a semester of mortal efforts. Figuring out how to fairly give grades in such a course where maybe some of the team has done more than the rest of the team is doubtless a hard problem, one that I have no real solution for here.

I do remember some group projects from my undergraduate days. In our OS class, the assignment was to create an OS. My recollection is that we had some reasonably bright people on our team, but the semester ended without the OS really gelling into a working whole. We had managed to run into some really interesting problems in our software and we passed the course, perhaps on the strength of our war stories that showed we'd indeed really tried to think it through.

And not quite a group project, but scarily close to the real world: I remember a class in file processing. We'd been given an assignment and were told to bring in the runnable decks of punch cards as part of what we had to turn in. The professor collected the assignments and then gave them back out again, but you didn't get back your own program - You got someone else's program. The next assignment was to modify that someone else's program to add a new output report to it. I'm not sure which was more painful: modifying the crappy program I'd been handed without taking the time to rewrite it entirely, or looking at how someone else modified my program to add on the new report routine. Most definitely one of the more educational software assignments in the many software assignments I worked through as an undergrad.

So that's the problem as I see it - lack of collaborative software development in engineering schools. Has anyone got real world examples of a curriculum that in fact teaches collaborative software development at an undergraduate level? If you've got an example or counter-example, please add a comment to this article to tell us about it.

I tried to design a collaborative software development course to suggest for a local community college here. In the end, I decided that wasn't going to work. Junior college has to nominally fit in a mere 4 semesters. They are barely able to introduce C in their curriculum. I believe you'd want a much higher-level language, like Python, as the basis for any large scale group project. Python libraries and modules, object oriented programming patterns, ... Too much to cover before you could even start to talk about working as a team on a larger scale project. I'd have no objection to swapping out their C course for a course that instead introduces Python, but I think that'd be a tough political battle with the opposing forces arguing that C is a much more commercially important programming language than Python.

So I dropped back and punted: the 4-semester problem was fitting in programming, software development techniques and collaboration. In my opinion, the crucial new material is the collaboration, so I've been sketching out a course on how to be a member of a work team. I believe it wouldn't even be specific to the computer science department, but could be offered within the school's communication department. My organized collection of links to web pages I dug into while working on the idea of such a course are available on Pearltrees.com: rdrewd collaboration pearltree. Ironically, I couldn't find a collaborator to work on the project with me, so it's somewhat fallen to the wayside. If you'd be interested in a possibly long-distance collaboration on the design of such a course, please contact me. My email:Drew's mailbox (no spam, please).

Saturday, July 27, 2013

MOOC's: Be careful what you wish for.

There's an old warning that you should be careful what you wish for, because you just might get it. Here's an article from the Slate "web magazine" cautioning that MOOC's are going to doom us all:

http://www.slate.com/articles/technology/future_tense/2013/07/moocs_could_be_disastrous_for_students_and_professors.html

Countering that point of view, the article does manage to provide a link to a TED talk by coursera founder Daphne Koller, speaking at Edinburgh in June 2012:

http://www.ted.com/talks/daphne_koller_what_we_re_learning_from_online_education.html (21 minutes)

Now my own experience is limited. I took Udacity's CS101 course last year. It has no fixed schedule and I worked on the course when time was available and did eventually complete it with 100% on the final exam. I've signed up for another couple of Udacity courses, but haven't managed to get around to finishing either. Home Internet outages and a few weeks hospitalized distracted me from sticking to it. Of course, with no fixed schedule, I can always return to those courses and get down to work on them.

Koller and coursera seem to put much more emphasis on a fixed schedule than does Udacity. For example, I've been taking coursera's Systematic Program Design Course and have to concede that I have not kept up with it's mandatory schedule of weekly homeworks and quizzes. Realistically, I have to concede I'll not be completing that course this summer and will have to try it again the next time it is scheduled. Not a bad course, but it does get tedious in its attention to microscopic details. I also got distracted with learning a new programming language (Racket) along the way. Too bad as the course was to have 2 peer reviewed assignments and they were to be my first experience with peer reviewed work.

I think the gloom and doom suggestions of the Slate article are a bit too Luddite a point-of-view for my taste. I think MOOC's will lead to a lot of change in education courses in the future. The MOOC courses will establish baselines which future improvements will have to beat. Koller emphasizes that the MOOC offerings collect a lot of data which provide the prospect of guiding future improvements. The one thing that I can see screwing up a bright future of continuous course improvement is if copyrights are used to restrict building a better course based on an existing course. U.S. copyright law has seemed to get repeatedly stretched with additional years to make sure Mickey Mouse, et al, never pass into the public domain. I can only hope that the MOOC courses stick to the tradition of Creative Commons licensing so that it is possible to found an improved course on an existing good course.

On a related topic, although Bill Gates is not a person that I often have praise for, in this 10-minute TED talk by Bill, he does a nice job of arguing that teachers need more feedback. A modest bit of technology, such as a video camera on a tripod, can give teachers a basis for self-assessment and the possibility for peer reviews.

http://www.ted.com/talks/bill_gates_teachers_need_real_feedback.html

Saturday, June 22, 2013

Ken Robinson on how to effectively run an education system - Command and Control isn't the right choice.

Ken Robinson surely must earn a lot of air miles giving talks at TED conferences. Here's another one, from fairly recently. May 2013 is when it was published to Youtube.

Ken Robinson: How to escape education's death valley

I did laugh out loud, so he still manages to give an entertaining talk, but he compares the scale and challenges of Finland's education system to that of a US state. I can accept that for at least some states the scale is comparable. Texas, New York, and California and perhaps Illinois are likely outliers in the size distribution, but that can presumably be solved by carving things into administrative regions. Except on matters of revenue collection, upstate NY surely doesn't want to be lumped in with New York City anyhow. But I do think there are vast differences in the educational challenges faced by the US vs. those faced by Finland. Wikipedia tells me that 91% of the people in Finland speak Finnish and 41% of the population can speak Swedish. There are various other languages spoken by a fraction of the population, but the totals are in the thousand's of people. Compare that to the languages of New York where the total of non-English speakers runs into the millions, thanks to NYC's long term position as a port of entry into the "melting pot" of US culture. I believe there is also more cultural diversity in the US than in Finland and that this makes it easier to run a successful high school in Finland than in Brooklyn.

So, I don't think that Robinson has been entirely convincing in his talk. Nonetheless, he makes lots of valid points about how and how not to effectively run an education system. The prevailing testing culture imposed on US schools seems well captured in this "What real-world skills do you have?" cartoon.

If you didn't see Robinson's previous TED talks on education, see the links from my January, 2013 Blog article "TED Talks on Education". They were enjoyable and informative talks too.

Friday, June 14, 2013

Told You So - MOOC forum participation is important

If you have been a regular reader of this blog and have a long memory, you may recall that back in December of 2012, in my article "Is the Udacity CS101 Course Watered Down?", I strongly emphasized my opinion that a vital part of getting the most out of the course is to participate actively in the forum. As strong as my opinion on this matter was, it was just my opinion. But now I've got data to back me up.

John Duhring has posted to the Google+ STEM Community today a link to an article "Effective Habits of Power Users: A Look At Recent MOOC Research". The article reports on a study of the small percentage of folks who completed the MIT "Circuits and Electronics" course that edX offered as a MOOC in March 2012. About 155,000 folks registered for the online course and only a few more than 7,000 completed the online course and earned a certificate of completion. There was a follow-up study to see what distinguished the folks who made it to the goal line from the rest. The report says the level of participation in the forum is the big differentiator.

Many years ago when I was a college student, I had the pleasure of sharing housing just off-campus with other students taking many of the same courses as I was taking. We had marvelous arguments with each other as to what the professor really was saying in the lectures we'd attended. They were friendly arguments with much hand waving at speeds approaching C to explain space-time dilation and other such hot topics. I'm quite certain that those discussions were an extremely important part of going to a residential college and greatly increased my learning.

I've been watching my wife's kids slow progress as commuter students to a local college and I think part of the problem is that they come home right after class and so don't have any of the discussions that cement into the brain the material of the course lectures. MOOC's bring a similar handicap of splendid isolation of the students from each other, but the forum provides a way for them to virtually get together and have those opinionated arguments with each other through the keyboard (hand-waving is not useful on the forums so some specific verbal skills are called for. At least you are safe from flying meter sticks approaching the speed of light).

So, again, if you take a MOOC, do take the time to participate in the forum associated with the course. Remember what Radio talk-show host Barry Farber used to say at the end of each broadcast: "Keep asking questions!"

Wednesday, June 12, 2013

A Chem teacher cautions against "Pseudoteaching"

Several times now I've come across mentions of "Pseudoteaching" in my reading, and I confess to not quite grokking what that meant. Today, the Google+ STEM community shared this short video and I think I'm beginning to understand.

"Blow something Up!"

I remember Mr. Greenberg, my high school chemistry teacher, but on the one hand I have trouble cataloging him as an "entertainer', but on the other hand I was always troubled by the seeming "magic" in chemistry class. See, when we stir these 2 clear liquids together, it turns pink. My brain would gripe "Why?". And that's probably why I went into software, not chemistry.

I think this video pairs nicely with the one linked to my blog post of 02/2013 "STEM Education Ideas".

Friday, May 17, 2013

Education Automation - R. Buckminster Fuller

A few months ago, in response to one of my "education" tagged blog posts, an old friend from high school contacted me via Facebook and suggested that I really should take a look at the book "Education Automation" by R. Buckminster Fuller, the famous architect. The book was published way back in 1961 and for someone without access to Doc Brown's DeLorean, it had remarkable foresight. He basically predicted the Internet, though he called it 2-way television.

The Book

The book is a slim paperback volume, only 88 pages long. It was put together at a time when Southern Illinois University was undergoing major expansion in 1961 - a transition from being a state teacher's college to being a full-fledged university. Fuller had been invited to give a talk to the committee planning the new campus. The book doesn't quite read like it is a transcript of his talk. I believe it is more like a report by Fuller of what he said.

I have to give credit to the Westbury Public Library for finding a copy of this book for me to read. They borrowed it from the library of Hartwick College way off in Oneonta, NY, about a 200 mile drive upstate from Westbury. I was tickled to notice the 1961 price of the book printed on the book's cover: $1.95. If you convert that into how many gallons of gasoline you could get for $1.95 in 1961, and then figure out what the contemporary price for that many gallons of gasoline would be, I suspect the $1.95 maps to a pretty good approximation of what a slim academic book would cost these days. The years have not been kind to the purchasing power of a dollar.

There are plenty of smells of age to be found in the book such as frequent mention of "men" where a more contemporary book would surely have said "people". And, I was surprised at how high an opinion Fuller seems to have of himself. I expect a tad more humility from great men of the past.

What did he call for?

Fuller foresaw a future in which "earning a living" was no longer required. He expected that change was going to arrive within 10 years of the time he was speaking in 1961. He expected that the only lasting world industry would be education. He anticipated that scholars would stay for years and years at the universities, "for the rest of their lives", "developing more and more knowledge about the whole experience of man".

One somewhat off-the-wall suggestion from Fuller is that a 200 foot diameter (or larger) geodesic dome be suspended 100 feet above the campus and be covered with light bulbs on the entire interior and exterior surface, each bulb under the control of a computer, so the 'Geoscope' would be a gigantic display screen. "It will make possible communication of phenomena that are not at present communicable to man's conceptual understanding." I've seen enough movies to have my doubts about any good coming from a large screen for mass viewing. Brings to mind Apple's 1984 commercial.

He clearly suggested that the university acquire as much land as it can. But forget about any permanent structure anchored to whatever the shape is of today's curriculum. Everything should be dynamic. e.g. bring in a geodesic dome via heavy-lift helicopter to serve as an auditorium whenever you need another big auditorium. Or just build a gigantic half-mile wide geodesic dome to enclose the entire campus and give people large clear spaces to do their work. "Don't waste dollars on great, heavy stone masonry and any kind of Georgian architecture."

What did he get wrong?

From my 21st century perspective, he did get some things wrong. He still seems to expect that education is something that is done by herding large groups of students into giant auditoriums. Current consensus seems to be that the Internet particularly obsoletes the large-to-the-point-of-student-anonymity lectures, replacing them with on-demand viewing of pre-recorded lectures. (e.g. MOOC's).

I wish I knew more about what they actually did there at SIU after the planning sessions. I Google searched for images of the Southern Illinois University campus and only found a few pictures, none of which seem anything like Fuller's suggestions. I'm slightly more familiar with a more recently developed college campus, Liberty University. Though I have never set foot on Liberty University's campus, we received a magazine from them a few months ago detailing their campus expansion projects. From what I can see, Liberty University initially built large warehousey "temporary" buildings, but then in more recent years has been replacing those buildings with new prettier more permanent structures.

Fuller's 1961 advice was to build with the inspiration of circus tents, not wasting money on, e.g., Georgian architectural detailing. From what I can see of the continuing development of Liberty University, they initially erected structures that were slightly more solid then circus tents, but without significant ornamentation, but more recent structures are in a style that would be fitting for colonial Williamsburg, with lots of brick and big decorative columns and with large windows consisting of many small panes. It would seem that Fuller was overlooking the role of campus buildings in inspiring pride in alumni as a stimulus to continuing generous donations. In the book, he made little mention of budget constraints. He also, despite his own involvement in campus athletics (he'd been a football quarterback in his high school years), seemed to pay no attention to the huge investments large schools seem to make in sports facilities.

I noticed that Fuller's advice seemed to pay no attention to matters of infrastructure: e.g. bathrooms and parking and/or provisions for on-campus transportation. Research labs need plumbing, fume hoods, marker boards, bookshelves (at least they still need those today), desks, chairs, network access, electricity, heating, lighting and air conditioning. Much more than just the generous amounts of space Fuller advised should be acquired and enclosed.

He had a curious fixation on a proposal for a large domed display screen that could be used to display images, charts and graphs to help the people on campus to attain a commonality in their point of view. I wonder if Leo Villareal would give any credit to Fuller for Villareal's "Cosmos" installation on the Cornell U. Johnson Art Museum. Villareal's piece makes sense of what had been a seemingly pointless architectural detail of the museum building, which building has been compared to the shape of a gigantic sewing machine.

The foreword of the book says Fuller served as a research professor at SIU. I hope he didn't get overpaid for the advice he gave but that they apparently didn't follow. If you have affiliation with SIU and can say more about what influence Fuller's suggestions had on the development of that campus, I'd sure like to hear from you in the comments.

Maybe Fuller was just way ahead of his time, but I'd have an easier time expecting a virtual campus that is spread around the world and reconfigured as different specialists get involved in a research project. A campus where there's no "there" there? Good luck figuring out where home-game sports events are going to be held. Perhaps the central feature of the physical campus will be a large Internet connected data center/online digital library to facilitate research and online collaboration by the people affiliated with the university, wherever they may be.

Oh, and I bet there'll be a lovely administration building with columns and brick and many window panes and a board room for the meetings of the trustees (who probably are going to lag on acceptance of online meetings). I'm not advocating that all future research be conducted in the researcher's home kitchen. Space (rented?) with suitable labs facilities would be acquired wherever the researcher chose to be. I foresee big demand for lab space in Hawaii. Lovely weather - especially compared to Ithaca, NY, just to name a place where you can find a conventional physical campus today.

Tuesday, May 14, 2013

Education's Future: "Go Do Something Interesting".

Another interesting TED talk on the future of education. The speaker is Seth Godin. The question is "What is school for?".

http://www.youtube.com/watch?v=sXpbONjV1Jc (17 minutes)

As usual, it is easy to see how that could work out for a self-motivated student, but what about the unmotivated students? Will they just waste time until school is over? Spending hour after hour playing World of Warcraft doesn't sound like a well rounded education to me.

Life could be awfully complex for a teacher in the future if all the students are going off in their own directions and each student is looking to the teacher during the day to answer questions they have from the diverse lectures they listened to last night. I suppose there can be various specialists on staff, and depending on the questions, the teacher could redirect the student to the appropriate specialist. Except for the lower grade levels, that isn't all that much different from the staff of schools today, except for the change from having assigned time slots to sit with each specialist on your schedule.

Unclear to me is how the school will insist on a "well rounded" education. I suppose this comes down to some assumptions on what school is for. I believe that one of the things school is for is to educate the students to the point where they are prepared to learn new things in the future. That calls for some fundamental reading and writing skills, some basic math skills and some elementary knowledge of history and literature. This may not fit the student's opinion of what is "something interesting", but if the school hands out diplomas to students who aren't prepared even to be knowledgeable voters, then the diploma doesn't mean much. This is where the cynic would point out how little a high school diploma means today.

On the one hand, I can see a case for loosening up a school's schedule, spending less time in required classes, but on the other hand, I can see an awful lot of students frittering away the time released for them to go do something interesting. Do you see a way to structure things such that no one gets left behind and folks who are motivated can go as far as they want to go?

Tuesday, April 30, 2013

Can Computers Replace Teachers?

Can/Should computers replace teachers? It is clear to me that computers are not capable at this time of eliminating the role of teachers. But it is also evident that the number of students one teacher ought to be able to teach should be increased by use of technology for the mass presentation part of lessons. That should free up teachers for the parts that computers aren't yet able to handle, like open ended Q&A time, evaluating the quality of essays, projects and talks, and perhaps providing individual tutoring. The human aspect of teaching, which goes beyond the narrow bounds of "lessons" and covers things like motivating, comforting and counseling are additional weak spots in anticipating what a computer can do at this time (but do see the video linked to my blog post "Reading Faces"). It isn't so clear to me how a computer would cope with an unmotivated unruly student.

Not surprisingly, teachers are upset at the notion that fewer teachers would be needed in a school equipped with sufficient technology and that increasing the student/teacher ratio could result in big budget savings. But it is great fun to watch a good fight. To that end, I share with you today this 21-minute talk "Can Computers Replace Teachers?" by Katherine Mangu-Ward, and in rebuttal, see this blog post by a teacher, Joe Bower: http://www.joebower.org/2013/04/can-computers-replace-teachers.html. He provides a link to another article that is severely critical of the KIPP schools: "Poor Teaching for Poor Children...". I briefly talked about KIPP schools in my blog post about the book "How Children Succeed".

You may have noticed in my blog article that there were already differences between the approach of a KIPP school in an impoverished neighborhood vs. the approach taken by the more upscale Riverdale Country School. I suppose the moral of the story is that different kids have different needs and the "system" (whether that means a computer system, a school system or a teacher) needs to be able to sense and adapt to those needs. Perhaps this argues in favor of establishing separate tracks for different academic abilities and perhaps even for different social backgrounds. Now there's a controversial area! If the tracks are separate, how to assure that they are, in some sense, equal to each other? How "equal" ought the tracks to be?

I suspect the actual savings provided by use of technology is significantly smaller than the vendors project it to be. The "Total Cost of Ownership" over the long term has to factor in the cost of maintaining the network and systems and replacing obsolete equipment and keeping the software up to date. Prefabricated, canned, lessons need to be refreshed frequently to keep up with changes in the world. Arguably, math is a subject that doesn't need much change from year to year, but social studies clearly needs ties to current events to stay at all relevant. Biology is an example of a field with rapid change from year to year. Unchanging lessons in such a subject will be terribly far from state of the art in just a few years if significant effort isn't budgeted to keep the material current.

Perhaps in the future the pipeline for educating teachers will have different tracks for teachers interested in working directly with the students vs. folks interested in developing the class materials (the software). Of course the 2 sides need to stay in touch with each other, but I can see the need for fairly distinct skill sets.

As I've noted in past blog posts on the topic of "education", I'm a software engineer, not a professional teacher. I'm particularly interested in hearing other points of view on this topic of technology as a possible way to displace teachers. Feel free to share opinions in the comments section here or share a link to a blog post of your own if you'd like to have a less confined space to write in. e.g. Given a "canned" self-paced course like Udacity CS101 or some other MOOC course, what role, if any, is there for a locally available human teacher?

Friday, March 8, 2013

Curriculum Design with the End in Mind

As a person who enjoys reading, I'm heartened to see that interesting material about Education isn't limited to video's (e.g. TED talks). I was particularly impressed with this article from Grant Wiggins: "Everything you know about curriculum may be wrong. Really.". Thanks and a tip of the hat to Srdjan Verbić for sharing a link to that article on the Google+ STEM Community.

Wiggins points out that a curriculum is often conceived as an organized ordered progression from basics to advanced knowledge, but points out that to become a great soccer player, you don't plan to sit in long lectures about the rules and strategies of soccer. He asserts, quite convincingly, that the end goal of education today isn't to instill knowledge (heck, you can always Google up more facts on a topic than you're ever going to be able to remember anyhow), but to teach the students how to get things done in a field - to do things.

Once upon a time, it may have been the case that the world was sufficiently static that it might have made sense for a school curriculum to provide you with lectures on the basics, and work up to lectures on advanced topics, but in today's world, everything is changing so rapidly, that mastering the art of sitting through such a sequence of lectures and answering test questions at the end to demonstrate your knowledge of the lecture content is arguably akin to trying to use a classroom as the sole instrument to develop a soccer team.

I think he makes an excellent point. I'd like to believe that the interactivity of MOOC's is a shift toward a "how to get things done" approach vs. classroom lectures. One problem I see though is that if there is no clear progression from basics to advanced knowledge, how do you help a student progress from simple things to complicated things? Software development, for example, is a field where clearly there's a knack to being able to write software, but there is also a lot of background knowledge, (e.g. data structures, fundamental algorithms, development methodologies) that a teacher can't just assume the student will already know or can Google up as they need it. Seems to me that the shift isn't so much away from having to master increasingly complex stuff as it is a shift away from testing the ability to regurgitate explanations and instead to demonstrate application of the increasingly complex stuff. Udacity.com's CS101 final exam, for example, is open-book and you can revise your answers as much as you like, so if it initially doesn't pass one of their test cases, you can fix it. At least on the test I took in Summer, 2012, the problems weren't simply cloned variations of problems we'd done in class. I think that's a Good final exam in a programming course. I believe Prof. Evans and the Udacity staff should be proud of what they put together for that Introduction to Computer Science and Python Programming course.

The Good Eats television show is another example. It is a show that teaches cooking. The bulk of the run time in the show is filled with lectures and demonstrations about cooking, but you are encouraged to try things out yourself. The lectures aren't focused so much on recipes as on explanations as to why the recipe calls for what it calls for. What role does the ingredient or technique play in the recipe. I'm not much of a cook, but I find the show interesting, more so than other cooking shows where an attractive cook just demonstrates preparation of a dish. I'd like to believe that the lessons from Alton Brown on Good Eats have improved my skills in the kitchen. I did apply what he taught to prepare a turkey and the result was good. It helps that the recipes are available on the web, so you don't need to worry about the details as you watch the show.

Not clear how a less project-oriented field, say "History", maps to this "learn to do it" approach to education. Maybe it's just a bad attitude on my part, but it seems to me that History is an example of a subject where indeed the end objective is to be able to sit though long lectures and then be able to regurgitate facts at the end. If the objective is to draw broad lessons from history and write compelling, well-supported essays in support of change, I'm not sure how big a field the study of history would turn out to be.

Particularly, if you are in some other field than me (software engineer), I'd sure like to hear how you think a bias toward "learn to do" vs. "learn the facts" would change your curriculum. Do feel free to add comments to this blog post. Or add a link here to your own blog post if you have something more to say than fits comfortably into the relatively little slots provided for making comments.