Showing posts with label community center. Show all posts
Showing posts with label community center. Show all posts

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.

Friday, March 1, 2013

Marketing the Importance of Programming Education

At the risk of sounding like Dr. McCoy complaining to Captain Kirk in the original Star-trek TV series, I'm a software engineer, not a marketeer. At my request, the local high school and local BOCES school have announced the availability of a mentored edition of udacity.com's CS101 at the "Yes We Can" Community Center here in the New Cassel section of North Hempstead, NY. My plan is to have weekly meetings of the class at 7PM, Monday, starting March 4, for a Scrum-inspired stand-up meeting where each student will say what they did on the course in the past week, and what they will do this week, and what impediments they see in their way. Other school nights I'll be available 7-9PM to answer questions and the students can put in whatever hours they want to at the community center or if they have the Internet at home, they can work on the course at home. Udacity provides little in the way of a "dashboard" for tracking the progress of the students in a class, so I'm hoping the Scrum-style stand-up meeting will enable me to track progress and figure out who needs extra attention. And, I hope it serves to persuade student's to live up to their announced plans and keep on keeping on. I've prepared a small set of slides to use at the first night's meeting.

But, as of Tuesday this week, the community center tells me no students have enrolled so far. I've nudged my contacts at the high school and BOCES school to see if we can get some students motivated to come check it out. My plan is to show up on Monday evening and bring a book to keep me busy if it turns out I'm there by myself.

Meanwhile, code.org, a non-profit has appeared on the Web to promote the proposition that Every student should have a chance to learn to code. To get people's attention, they've posted to YouTube an "all-star" video in 3 editions. 1 minute, 5 minutes and 10 minutes. What most school's don't teach.

If you've been following my blog here this month, you may have seen the video from Jörn Loviscach, "MOOC's and other faster horses" that I had linked to my recent post "Education and Technology". Loviscach is one of the udacity.com professors. He reported some scary statistics about how the MOOC's typically start out with hundreds of thousands of students, but a huge fraction (90%) typically drop the course. The classroom at the community center only seats about 12 students and even if I had an overwhelming demand for CS101, I don't think we could accomodate more than a Monday team and a Tuesday team. I don't want to get into a situation where we've overcommited the center's PC's so students who show up to work on the course can't get a seat. Bottom line is that unless I can influence that retention rate as part of my local mentoring of the class, I may not live long enough to see anyone actually complete the course. Hence my concern about "retention".

I agree that every student should have a chance to learn to code. Now if I can only manage to recruit and retain some students. I'll blog about how things go. So stay tuned, please. To paraphrase Scotty from Star-Trek, I may think of myself as a software engineer, but I'm a marketeer now. And if you know anyone in North Hempstead, NY, please encourage them to visit the Yes We Can Community Center on Garden Street and sign up for CS101.

Saturday, January 19, 2013

"How Children Succeed"...

If you've been a regular reader of this blog in the past couple of months, you're aware that I've volunteered to teach a couple of computer courses at the North Hempstead, NY "Yes We Can" community center, which opened in my neighborhood here last September. Related links:

Approval for CS101 at the Community Center.

Keeping Busy.

I'm writing this on the evening of 1/14/2013, and the Computers-100 class that I thought was going to start in early December got pushed to 1/15/2013 3:30PM (tomorrow afternoon) when the town decided more paperwork was needed. The town's lawyers came up with a waiver for me to sign that I swear looked more appropriate for rock climbing then for teaching a computer class. It's times like that when I wish I was wealthy enough to have a lawyer on retainer to get a second opinion on what I presume to be a "contract of adhesion". Of course, that would likely have resulted in the town and I being in continuing discussions instead of trying to get this ship launched. Still, I've got to envy those scenes in Woody Allen's movies where he gets into a discussion about something, steps off screen for a second and comes back with some famous authority in tow to settle the argument.

The second class is a mentored version of Udacity.com's CS101. I'm still hoping to get that one rolling on 2/4/2013, 7-9PM on school nights.

One unexpected side effect of my getting excited about teaching these classes is that suddenly I have a previously unknown interest in "Education" as a topic. My prior education experience has been limited to my once-upon-a-time having been a student (K-12 in Union, NJ public schools [13 years], BS in IE/OR at Cornell U. Engineering [4 years], and MSE in "Computer, Information and Control Engineering" [CICE] at U. of Michigan [1 year] - 18 years of formal education), and a decade or so ago, I did seriously date an elementary school teacher. Oh, and there were all those years when my 2 children were in school. They have each now completed their undergraduate college degrees and moved on to the exciting world of work. So, with my new-found interest in "education", this month I discovered and watched the videos available on the web of last September's New York Times "Schools for Tomorrow" conference.

Several books got mentioned in the conference, among them:

"How Children Succeed: Grit, Curiosity and the Hidden Power of Character", by Paul Tough.

and

"The Shallows: How the Internet is Changing the way we Think, Read and Remember"", by Nicholas G. Carr.

So I put in requests for those books to the Westbury Public Library. Hurrah for inter-library loans. Even though my reserve request for "How Children Succeed" was 2nd in the queue for that book, the library managed to get a copy for me from a library in a nearby town. The book is new enough that they only loaned it to me for 14 days, so I had to dig into it quickly. It's due back soon. I enjoyed the book enormously and recommend it if you have children or any interest in education (and you certainly should have interest in education).

The book

The premise of "How Children Succeed" is fairly well telegraphed to you by the book's title and sub-title. The book opens with a visit to a pre-K class in Red Bank, NJ. The book's introduction (pp. i-xxiv), should not be skipped when you read the book. He introduces James Heckman, an economist at the University of Chicago. In 2000 Heckman won the Nobel prize in Economics for a statistical analysis technique he developed in the 1970's. In the late 1990's he turned his attention to a study of the GED program (high school equivalency certificate). Way back on p. 203 of "How Children Succeed", Paul Tough gets around to presenting detailed formal references published by Heckman and others about Heckman's study of the GED. I won't take the time to reproduce those citations here, particularly since I haven't chased them down and looked at them myself (and this article is shaping up to be plenty long already...).

The idea of the GED is that, given what schools develop is cognitive skill, then by testing for those skills, a high school drop-out can show he has the knowledge and smarts to graduate from high school without wasting the time it takes to actually finish high school. (My now deceased Mother dropped out of high school during the Great Depression to take a job as a telephone operator. Later, in the 1960's, as I was in high school, she pursued and received a GED degree because she wanted to finish her high school degree before I did). I hadn't realized how much growth there'd been in the GED program since it began in the 1950's. The book reports that in 2001, nearly one in five new high school "graduates" was actually a GED holder.

Heckman wanted to examine more closely the idea that young people with GEDs were just as well prepared for further academic pursuits as high-school graduates. He analyzed a few large national databases, and he found that in many important ways, the premise was entirely valid. According to their scores on achievement tests, which correlate closely with IQ, GED recipients are every bit as smart as high-school graduates. But when Heckman looked at their path through higher education, he discovered that [statistically] GED recipients weren't anything like high school graduates. At age twenty two, Heckman found just 3 percent of GED recipients were enrolled in a four-year university or had completed some kind of post-secondary degree, compared to 46% of high school graduates. In fact, Heckman discovered that when you consider all kinds of important future outcomes -- annual income, unemployment rate, divorce rate, use of illegal drugs -- GED recipients look exactly like high-school dropouts, despite the fact that they have earned this supposedly valuable extra credential, and despite the fact that they are, on average, considerably more intelligent than high-school dropouts

[...]

What was missing from the equation, Heckman concluded, were the psychological traits that had allowed the high-school graduates to make it through school. Those traits -- an inclintation to persist at a boring and often unrewarding task, the ability to delay gratification; the tendency to follow through on a plan -- also turned out to be valuable in college, in the workplace, and in life generally. As Heckman explained in one paper: "Inadvertently, the GED has become a test that separates bright but nonpersistant and undisciplined dropouts from other dropouts." GED holders, he wrote, "are 'wise guys' who lack the ability to think ahead, persist in tasks, or to adapt to their environments."

So "cognitive skills" is only part of what successful children have when they finish high school. The "non-cognitive skills" aren't tested by the GED tests, and are only indirectly gauged by completion of a high school degree. Goodness knows, I don't recall my high school paying much attention to teaching personal behavior, curiosity, self-control and social fluidity. But Heckman concludes those are all important components of being successful in life. Seems that a stable home-life is where those non-cognitive skills are developed in most children who have them.

Much of the rest of "How Children Succeed" describes visits to the schools in the slums of the South Side of Chicago and to various schools in New York City, ranging from a very upper-class high school in Riverdale, to the KIPP Infinity Middle School (a "charter" school) in Harlem.

From example after example, it is quite clear that growing up in poverty is not conducive to development of those non-cognitive skills. So the question asked is "Can schools successfully teach those non-cognitive skills?" At KIPP schools they explicitly teach SLANT (Sit up, Listen, Ask questions, Nod and Track the speaker with your eyes).

That KIPP school and the Riverdale Country School worked together to develop a grading system for evaluating students on:

  • Grit
  • Self-Control
  • Zest
  • Social Intelligence
  • Gratitude
  • Optimism
  • Curiosity

Among the unsettled differences between the 2 schools was the question of how public should the student's non-cognitive skill grades be? At the KIPP school, I gather they organize their parent-teacher conferences around discussing how a student is doing on the grades for those skills. At Riverdale, the grades are private. Riverdale's worry is that if the grades are released, that will merely foment tutoring courses to help student's boost their non-cognitive skill grades.

Not mentioned by Tough in the book, but the significance of a deficit of non-cognitive skills was certainly noted in the 1961 song "Officer Krupke" in West-Side Story. Sad that all these decades later we're still not sure what to do about it.

One of Tough's observations is that a key to success in life is the ability to recover from failure. He notes that in poverty, the few students who do master recovering from failures may actually be better prepared for succeeding as enterpreneurs than are the comparatively sheltered upper class kids of Riverdale Country School. Chapter 3 of the book spends many pages discussing a chess club at a New York City public middle school (Brooklyn's IS 318). When you play chess, it is expected that often you will lose. The coach of that team apparently has gotten very good at teaching her students not to let the losses weigh down their enthusiasm for doing better in the next game. Chess teams, of course, can do the same coaching at upper class schools, but coaches with the talent of the one at IS 318 are few and far between.

In Chapter 5, Tough quotes Jame Kwak, author of the blog post "Why do Harvard Kids Head to Wall Street?"

The typical contemporary Harvard undergraduate, Kwak wrote, "is driven more by fear of not being a success than by a concrete desire to do anything in particular." The post-college choices of Ivy League students, he explained "are motivated by two main decision rules: (1) close down as few options as possible; and (2) only do things that increase the possibility of future over-achievement." Recruiters for investment banks and consulting firms understand this psychology, and they exploit it perfectly: the jobs are competitive and high status, but the process of applying and being accepted is regimented and predictable. [...] "For people who don't know how to get a job in the open economy", Kwak wrote, "and have ended each phase of their lives by taking the test to do the most prestigious thing possible in the next phase, all of this comes naturally."

As I read that, I couldn't help but think of my own daughter, now a Columbia U. BA holder (double major in math and economics) and working in a major Manhattan bank as a business analyst. She'd likely question the reported ease of the recruiting process, having initially landed an offer from Lehman Brothers while she was still in her Junior year, but that firm managed to pass out of business during her senior year without even bothering to send her a letter formally withdrawing the job offer. She did scramble to find employment in her chosen industry despite the shambles that industry was in the year she was graduating.

Closing remarks

To close, I strongly recommend that you read "How Children Succeed". A couple of blockquotes from the book hardly do it justice. In my opinion, the book lives up to the favorable reviews printed on the back cover of the dust-jacket of the copy that I borrowed. The book's author, a college dropout himself, does a good job of pulling together a convincing argument for his point that "non cognitive skills" and the ability to robustly recover from failure are an important part of what children need to learn to succeed in life. He convincingly argues that we seem to be finally making headway in figuring out how to educate children toward a path they can follow to get out of poverty after decades of failed attempts in the ongoing "war on poverty".

As this is one of my few postings on a topic far out of my field of expertise, I look forward to seeing what I hope to be lots of comments from folks with more experience in the field of "Education" than I have. I moderate the comments to keep out the spammers, but I hope you won't be shy about posting your comments down below. If you have a blog of your own, feel free to post a link in the comments to whatever opinion piece that this article has perhaps motivated you to write, please.

1/28/2013 - Fixed a few typos.

Friday, January 4, 2013

Approval for CS101 at the Community Center.

As I explained in my late November, 2012, blog posting, I liked Udacity CS101 enough to propose a mentored edition of the course for the new North Hempstead "Yes We Can" community center, here in my neighborhood. The idea is to offer the free CS101 course with the added value that the community center provides the PC's and Internet that folks need for working on the course, and the students get my presence, so they have someone to turn to for help if they get stuck on any points of the course. The challenge for me will be to recruit and retain students. I don't just want to get people to start CS101, I want them to complete the course and earn the certificate that Udacity offers to folks who pass the final exam. I've drafted up a brief course description. Professor Evan's video (linked earlier in this paragraph) may be better marketing than plain old text on paper, but a snazzy video is hard to leave in the hands of a school administrator as a souvenir of a meeting with me.

For more about what I hope people will get out of CS101, see my early December blog posting about CS101. I really hope that the course will influence some kids into taking the prospect of college more seriously, and to maybe even consider a possible major in computer science. Of course, it is easiest to remember your goal is to drain the swamp when you are not waist deep in alligators, and the approval for offering CS101 at the community center only came on 12/21/2012, the day that the schools let out for Christmas vacation. (It was last July that I proposed this program. It just took a while to win consent from Parks and Recreation, the folks who run the center). So, as of this writing, I have not met with the high school administration to discuss how to recruit students for the class and can sit around with high hopes. "Nothing but blue skies...". Even though I know reality is dead ahead and I'm closing in fast.

My plan is to have once/week class meetings of the whole team (Monday evenings). I can slip a little of my own material in to those days. We'll start each of those sessions with a Scrum-inspired stand-up meeting where we'll ask each person to briefly state:

  1. Who they are.
  2. What did they do last week (lessons, and forum activity).
  3. What do they plan to do this week.
  4. What obstacles are hindering their progress?

The stand-up meeting is short and we don't try to solve the obstacles during the stand-up meeting, but I hope the meeting will help people connect if someone has a problem and someone else has a solution. If there are consistent problems heard, that'll be my clue to perhaps try to explain something in class. The other "win" from this meeting is it gets people to commit to what they aim to do that week. Scrum-methodology calls for a daily stand-up meeting, but I'm uncertain we could get everyone to show up at the community center every evening. So, I am aiming to do weekly meetings on Mondays.

For the first session, I've prepared a set of slides to give people an overview of what to expect from the course. I'm hoping that first session will get people to commit to sticking with the class for as long as it takes (and as it's nominally an 8 week class, it isn't a particularly long term commitment).

I've given some thought to what we might want to cover in class on other weeks. I hope the CS101 videos convey the technical material well enough on their own, so the sorts of things I'm thinking I might need to add are:

  1. Goal setting.
  2. Time management.
  3. Good work habits. Note taking, minimize distractions. Maintaining a balance between work and play.
  4. The value of participating in the forum. Why take the time to help other people out?

Other school nights, I plan to be available in one of the tutoring rooms in the community center from 7PM-9PM. If anyone wants to see me on weekends, they'll have to make an appointment with me. The center is across the street from my home, so it's not going to be a hassle commuting to there.

If you have ideas on ways to improve the wrappings I'm suggesting for Udacity's CS101 course or thoughts on how to recruit students for that course, I'd sure like to hear them. I'm expecting we'll need January to work out a few technical issues (like the community center's overly restrictive firewall) and to get out the word about the class. I hope we'll be able to start the mentored course offering in early February.

The course is free, but membership in the community center is required to use the center's facilities. If you live in North Hempstead, NY, please consider signing up to take CS101 at the Yes We Can Community center on Garden St. in New Cassel.

Friday, November 30, 2012

Keeping Busy

My blogging activity here has been even spottier than usual, but I have actually been keeping myself productively busy, even writing stuff, just not on this blog. Back in June 2012, I enrolled in udacity.com's cs101 course. It's an introduction to Python, programming and Computer Science. I already have a Master's degree (more or less in Computer Science), but have been teaching myself Python, hanging around the Python language Facebook page answering newbie questions, and I've been writing code in Python to solve Project Euler problems. I figured that taking the course would help me with my Python knowledge and let me see if udacity cs101 is something I should be recommending to newbies to the language.

By mid-July 2012, I'd completed the course, scoring 100% on the final exam, so I earned their "Certificate of accomplishment with highest distinction". Yay!

The course is mostly taught by Professor David Evans from U. of Virginia. He's also authored an introductory computer science textbook which isn't used in udacity cs101, though in one lesson, he pulls out a copy of the book to show an example of an index, the index pages at the back of the textbook. I have since learned that the entire textbook is available in e-book form as a free download. I installed the full PDF file onto my iPod to read in my spare time. I do think the larger screen of an iPad would make a better e-reader, but so it goes. I have an iPod. I don't have (and can't afford) an iPad. If the fine print on the tiny screen wears me down, perhaps I'll shift to reading the PDF file on my laptop PC.

Since completing the cs101 course, I continued to hang around the cs101 forum to see what help I could be by answering questions posted there by other students. Part of my motive for sticking around was that I've proposed to mentor a udacity cs101 class at the local North Hempstead, NY "Yes We Can" Community Center. The community center has a classroom full of PC's with Internet access, and I'd very much like to increase interest in software development around here, and this looks like a feasible start on that. Professor Evans has given his blessing to the offering.

Alas, the center's director still hasn't approved a start date for the course, so I'm thinking it'll begin after New Years. My intent is to recruit students in December before Christmas break is here.

Meanwhile, I'll republish here on this blog in the next several days some of the Forum material that I think is of interest outside the confines of the cs101 course itself.

If you have any interest in learning to program, the CS101 course from udacity.com is a good place to start. It's free of charge, self-paced, assumes no prior knowledge, and is well constructed. Python is a wonderful language for computer programming because in relatively few lines of code you can write some seriously useful software.

If you are in North Hempstead, NY, come and join the "Yes We Can" community center in New Cassel, on Garden St. If you are age 60+, ask about the free membership deal. Membership gets you use of the indoor basketball courts and of the computers too. I'd be happy to have you participate in the CS-101 class.

We're also starting a "Computers-100" class for people who are completely new to computers and aren't looking to program them, but want to learn how to use them. Here's links to the course description and to the slides for the first session.

Drew