Forgot your password?
typodupeerror
Education Programming

Ask Slashdot: Good Homeschool Curriculum For CS?? 364

Posted by timothy
from the ok-now-track-the-family-budget dept.
dingo_kinznerhook writes "I grew up in a homeschooling family, and was homeschooled through high school. ( I went on to get a B.S. and M.S. in computer science; my mom has programming experience and holds bachelor's degrees in physics and math — she's pretty qualified to teach.) Mom is still homeschooling my younger brother and sister and is looking for a good computer science curriculum that covers word processing, spreadsheets, databases, intro to programming, intro to operating systems, etc. Does the Slashdot readership know of a high school computer science curriculum suitable for homeschooling that covers these topics?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Good Homeschool Curriculum For CS??

Comments Filter:
  • by Megor1 (621918) on Tuesday May 31, 2011 @06:03PM (#36302798) Homepage
    "looking for a good computer science curriculum that covers word processing, spreadsheets, databases, intro to programming, intro to operating systems, etc. " This is not computer science (Intro to programming maybe), you are asking for a computer usage course, something that was not even allowed to count to my CS major.
    • by tepples (727027)
      Unless "databases" means relational theory and how it translates into SQL, and "operating systems" means threading concepts.
    • Re: (Score:2, Troll)

      by lahvak (69490)

      I don't know, writing a good word processor would certainly require a good knowledge of Computer Science. In fact, it seems to be so hard that nobody has managed to do it well so far.

      • by PopeRatzo (965947) *

        I don't know, writing a good word processor would certainly require a good knowledge of Computer Science. In fact, it seems to be so hard that nobody has managed to do it well so far.

        You've obviously never used Nota Bene.

      • by drinkypoo (153816)

        Microsoft actually did it twice, once on the Mac and once on the PC. Of course, it's been quite some time since Office '97, and even longer since Word 5.1...

    • Re: (Score:3, Insightful)

      by obarthelemy (160321)

      give him a break: he's being home schooled. Which probably explains word processing being CS...

    • by notKevinJohn (2218940) on Tuesday May 31, 2011 @07:23PM (#36303412)
      Come on Slashdot, be reasonable. Maybe these topics don't represent what would be found in a traditional CS curriculum for college, but they sound like the very subjects that a pre-CS course at the high school level would be wise to teach.
      • by SETIGuy (33768) on Tuesday May 31, 2011 @08:26PM (#36303768) Homepage
        If you've got a computer at home, and your kid can't use a word processor by high school, then something is wrong. Even more so, I think something is very wrong when we need courses to teach people to word process or use a spreadsheet. If you need a course to teach something, you must not want to do it very much.
        • by camperdave (969942) on Tuesday May 31, 2011 @08:59PM (#36304018) Journal
          Nonsense. The person may not know the software well enough themselves to teach it properly. Having a curriculum means they'll cover areas that would otherwise not even be on the radar.
        • by Yosho (135835)

          If you need a course to teach something, you must not want to do it very much.

          Who in their right minds wants to use a spreadsheet application?

          Seriously, though, it's a useful tool for some applications, but I'm pretty sure nobody wakes up in the morning and wishes that they could type a bunch of numbers into some cells and then figure out their standard deviation. It's the kind of thing that you don't understand the use for until after you've learned how to use it.

          • by eclectus (209883)

            I had a (well known and respected) professor in college who used to use spreadsheets to build neural networks. After seeing that, I gained a lot of respect for both the man and the tool.

            • Years ago I was taking a Java class. My wife was writing software for a synthetic aperture radar system and one of the key portions of her work was done by a physicist that did all his work in MS Excel. Then her employer would hire an intern to type the output from the spreadsheet (columns of numbers) into a flat file that their software could read.

              I had a lot of fun showing her how to write something that could open and read the spreadsheets. While I helped her do that I got to see a bit of this guy's work

        • by spauldo (118058)

          A kid sees a word processor or a spreadsheet as something they use when they have to do so, because of school. Most kids won't experiment with them.

          A course teaches you not only the basics of how to use the programs, but other features that are occasionally very useful but not apparent to the casual user. Things like pivot tables aren't obvious to someone who only cranks up Word to do book reports.

          I had used office software since WP 5.1, and Microsoft Office since Office 95. When I went back to college,

        • Re: (Score:2, Insightful)

          by bill_mcgonigle (4333) *

          If you need a course to teach something, you must not want to do it very much.

          You mean like a Mom apparently teaching an entire high school curriculum? I had a handful of excellent teachers in high school but I can't think of any of them who could have taught all the subjects.

      • by AngryNick (891056) on Tuesday May 31, 2011 @09:07PM (#36304088) Homepage Journal

        Come on Slashdot, be reasonable. Maybe these topics don't represent what would be found in a traditional CS curriculum for college, but they sound like the very subjects that a pre-CS course at the high school level would be wise to teach.

        Exactly. Many computer classes in middle and high school are mostly fluff...at best review for kids who have been using a computer since birth.

        I've taught my partially homeschooled kids (10 and 13) how to use the common OSs and basic tools (OSX, Ubuntu, Google Apps, Open Office), how to create and manage content (docs, spreadsheets, graphs, simple web pages, blogs, wiki), navigating and managing their drives (so I don't have to help them find their crap after they've created it), and how to be pretty much self-sufficient on their machines (installing apps, patching, upgrading distros, connecting to printers, etc.). When they get to be 14 or 15, I'll start them on databases, writing queries, and maybe writing a few scripts. At that point they'll be on their own to decide what they want to do with computers. My goal is not to make them CS majors, but to give them enough information to decide if they want to be a CS major...and the skills necessary to use a computer as a tool.

    • Given that he has an M.S. in CS, I suspect that he does. Nonetheless, most of what you need to know about Word, Excel and Powerpoint can be found here: http://xkcd.com/627/ [xkcd.com]
    • by AK Marc (707885)
      My CS covered intro to OS. My CS covered processor design, followed by BIOS to make that a little more programming friendly, then the OS that goes on top of that, in addition to classes specifically named "OS design" or something like that.

      And there were database electives. And every class assumed programming, in addition to a few specifically on programming to make sure that you knew the languages that were common when the professors were in college (and yes, I even had to program a single program on pu
      • (and yes, I even had to program a single program on punchcard because the professor thought it necessary to teach the old ways).

        An ex-colleague had to use punch cards daily on his first job... the guy is younger than me and punch cards were already off the curriculum when I studied CS. One shouldn't assume that a technology will never be encountered and thus shouldn't be taught just because it has been deemed out of fashion.

  • Dietel & Dietel (Score:5, Informative)

    by Sonny Yatsen (603655) * on Tuesday May 31, 2011 @06:05PM (#36302818) Journal

    As far as intro to programming goes, when I took High School Computer Science, our textbook was the Dietel & Dietel C++ How to Program. It was definitely aimed at the beginner to intermediate level programmers and did a pretty good job at explaining fundamentals of programming to a bunch of high school sophomores and making it understandable. As I recall, you can probably go through several chapters per class because it's not so dense and impenetrable that you need bash your way through.

    Here's a link to the 7th edition: http://www.amazon.com/How-Program-7th-Paul-Deitel/dp/0136117260 [amazon.com]
    However, there are plenty of copies of 6th editions floating around for pretty cheap. If I recall correctly, copies of the 5th edition are even available for download for free, which makes the curriculum that much more cost-effective.

    Anyway, best of luck, hope that helps.

    • Re:Dietel & Dietel (Score:5, Informative)

      by jd (1658) <{moc.oohay} {ta} {kapimi}> on Tuesday May 31, 2011 @06:26PM (#36303002) Homepage Journal

      Good advice.

      My thought: It doesn't matter where you learn or how you learn, the fundamentals are universal.

      AQA [aqa.org.uk] offers a suggested schooling curriculum and past papers for the exams they set. Sure it's UK not US, but C is C, HTML is HTML, MS Office is MS Office and small furry creatures from alpha centauri make great soup if you put them in the blender for long enough.

    • Re: (Score:3, Insightful)

      by bosef1 (208943)

      The only thing to watch out for is that, given the rapid pace of computer technology development, many older edition training course may have been rendered obsolete by the passage of time. I would be cautious about material older than 10 years (circa 2000), and material older than 15 years (circa 1995) is probably too old to use. Observe the changes to Java, C++, Ruby, and streaming media in those time frames

      Of course, many of the fundamentals of computer science (algorithms and algorithm analysis) and so

    • by Gr8Apes (679165)

      As far as intro to programming goes, when I took High School Computer Science, our textbook was the Dietel & Dietel C++ How to Program. It was definitely aimed at the beginner to intermediate level programmers ...

      Lucky you, C++ didn't exist when I went to High School. Hell, the first real book on C had just come out, and certainly wasn't in use in my high school.

      That said, Steven Prata's Primer on C++ [amazon.com] was pretty useful for OO concepts. It's now in it's 5th edition. Sigh. But it all depends upon what you want to learn. In the Java language (my current meal ticket) I wouldn't even know what to point you to since all the books I originally used are horribly out of date and I haven't bought one in at least 7 years. I ca

  • Avoiding the office suite stuff, would generally be a good idea. It's generally far less important to know how to use and office suite than to know how to actually use a computer. Let's face it computers are important for what they give us access to today not for their ability to make nifty graphs. Find something that teaches your kids how to research, effectively using the internet. How to find a solution to a problem in an area they really don't understand and how to do so with out taking two weeks to do
    • While I agree with the "google fu" sentiment, office has been a high selling point on just about every internship/entry level position I've held. Especially if you combine it with a bit of programming knowledge and a VBA object reference. I've had quite a few managers impressed with a simple VB script when it took their 100+ csv files and made nice graphs of them for a proposal or report. I've also discovered that if you have a good enough knowledge of the suite, you end up increasing productivity all arou
    • I'm going to second this on a limited scale.

      I took like 4 Office classes throughout High School (only one of which was not the exact same as the others--multiple high schools and cheating the system). The only thing I remember from any of them is what some of the concepts are called, which only makes going looking on Google or elsewhere for them that much easier. And really, if the student learns well this way, they should just be given a list of those concepts by name, and then taught how to find what they

  • programming practice (Score:5, Informative)

    by icknay (96963) on Tuesday May 31, 2011 @06:10PM (#36302868)

    For little live code practice problems in python and java there's http://codingbat.com/ [codingbat.com]

    There's Google's complete free python class at http://code.google.com/edu/languages/google-python-class/ [google.com]

    For a huge library of cs assignments, try the nifty assignments archive at http://nifty.stanford.edu/ [stanford.edu]

  • by betterunixthanunix (980855) on Tuesday May 31, 2011 @06:13PM (#36302902)
    Give your kids a system they can hack -- give them the ability to touch any part of the system they want, and your ability to teach them about programming and CS will be greatly enhanced. The last thing you should want is to teach your children that there are some parts of their computer or computer science that are off limits to them, or that they can only touch if they work for some large corporation.
  • Are you sure your mom is qualified to teach CS?

    Ok, maybe too harsh, that might be fine for HS. But most university CS curricula start by teaching you a programming language---how to do structured program, incrementally adding features and complexity. I don't see why HS should be so different, it's not like it's difficult if you're remotely suited to the topic. Why not give your siblings a leg up on the competition, check out major university CS programs and start from there---from experience, even grade
    • by i.r.id10t (595143)

      Honestly though office skills will be useful no matter what field the kid ends up in, so that should be first. Google-fu as well. Those are skills needed whether you get an AC certificate from your local commercial vo-tech place, or go on to CS at top tier colleges.

      But as others have said, once the basics of *use* are there, start 'em with a programming language.

    • But most university CS curricula start by teaching you a programming language

      True, but incidental. The programming language is taught in order to teach algorithms. So really, most CS curricula begin by teaching algorithms (with some teaching language you'll never see again), descrete math and logic. Computer Science is not programming, and programming is not Computer Science.

  • by Anonymous Coward

    Don't you know, with a masters degree, something about what goes into the field?

    Your mother is already qualified to and is teaching computer science, directly by not directly teaching it. Have her teach them about logic and calculus, i guess. What a strange question, really.

  • http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/ [mit.edu] would be a good starting point. Advanced? Yes. The beauty of home schooling is that the curriculum can meet the needs of the student, not the lowest common denominator.

    • Re: (Score:2, Funny)

      by Obfuscant (592200)

      The beauty of home schooling is that the curriculum can meet the needs of the student, not the lowest common denominator.

      When you are home schooling just two kids, one of them will ALWAYS be the lowest common denominator. One of them will also always be below the class average in grades, and below the class average in IQ.

      Much better to be batch-schooled, your odds of being above average are better.

      • by treeves (963993)

        I take it you didn't do so well in statistics and probability yourself.

        • by Obfuscant (592200)

          I take it you didn't do so well in statistics and probability yourself.

          Can you explain how one person cannot help but be below the average of anything when you have a population of just two? Unless, of course, the two are the same, and then neither will be above average. Sounds just as bad.

          • Explain why the odds of being in the bottom half in the batch-school environment are any different than in the two-student environment.
    • How about some Knuth? Because that would be some muthafuckin' kick ass home school CS curriculum.
  • Troll? (Score:3, Insightful)

    by Spazmania (174582) on Tuesday May 31, 2011 @06:19PM (#36302958) Homepage

    Kids home-schooled into the high school level that don't already have competence with word processors and spreadsheets? A guy with a MS in CS who talks about word processing in the same sentence as computer science? If he wanted to push more buttons he'd have explained that his mom thought Linux was for commies. Seriously, don't feed the troll.

    • by dcollins (135727)

      I'm inclined to agree. Quite puzzling to make sense of it.

      I would like to know what schools the OP and mother got their multiple degrees from.

    • Re: (Score:2, Interesting)

      by uofitorn (804157)
      In the submitter's defense, a CS degree from one university to the next can differ wildly (although to hold a M.S.. well.. maybe it was from Devry). My friend and I both entered the CS curriculum at different state schools. Mine was in the top tier, his wasn't. He learned how to program C++ his first year. I was told that we were expected to know the language in whatever course we were taking, and if not, to be able to learn it quickly enough to take the course. We weren't to be taught programming. We
  • Don't do it (Score:5, Insightful)

    by Kittenman (971447) on Tuesday May 31, 2011 @06:29PM (#36303030)
    Tell your mum to teach the kids how to write a paper (as in, essay) and how to think things through (maths - logic, thinking skills). CS, such as it is, is not as important as those subjects. Certainly not at high school level.

    I can't tell you the number of times I've seen badly written, unclear, badly formatted reports, papers, recommendations, audits from graduates who may have excellent CS skills but can't string sentences together to put over an idea.

    So I'm a grammar Nazi. We're in an exact business. Be exact in putting out ideas. And please don't reply to this with "your welcome"...

    • English is hardly an exact business (read: language). Maybe you are suggesting we just remove duplication definitions from dictionaries? We could also remove opposites and adjectives, replacing them with double- and un-!

  • CS is more than just how to code, but honestly: Learning to write a bit of working code first helps loads.

    I taught my 11 year old brother how to code in C, C++, Java, SQL, JavaScript, (he's now 20, and learning Perl & Python on his own).

    He didn't get the theory until he could compile stuff and play with real working examples (as I did), and for him, everything we needed was in The Really Big Index. [oracle.com] Everything from the concept of Objects and variables, to arrays, branches, algorithms, GUIs, concurrency, graphics, client / servers, etc -- After the first two trails he was studying all by himself, and mastering the programming part of CS. After Java, C/C++ and JavaScript were nothing more than learning the syntax and standard libraries. We installed PostgreSQL, and he picked up SQL in two weeks. I'm helping him write a new scripting language for an existing game engine to learn compiler design -- He's beyond his fellow students, and sometimes even the CS professor in many areas simply due to experience.

    As far as tests go -- I don't know about that. Tests are bogus anyhow. Have them come up with a reasonable project that they can complete and learn by doing. You can get a curriculum and do course work, but first get them coding (also note: if they don't give a damn about writing code, you will never make them want to -- Good programmers are born not made).

  • by casings (257363) on Tuesday May 31, 2011 @06:35PM (#36303078)

    Is it just me or is there something fishy going on here? Can't decide if this guy is a troll or not.

    I went to a real high school and learned to program in my free time by myself. Just get them a computer and either let them come up with projects to do or give them an assignment. Seriously, its pretty easy to learn shit on your own nowadays and a person who is home schooled should know this.

    Besides that, what if their passion isn't in computer science? It most certainly isn't for everyone, and I find the only good ones are ones who actually want to do it.

    The OP reeks of bullshit.

    • Agreed. It does seem a bit fishy. But if we are going to bite, I guess I would suggest K&R C and a good book on discrete math.

      I wish someone had suggested K&R C to me in the beginning instead of mucking my way through more complicated languages. It is compact, dense and the exercises do the job. And discrete math, well I lucked out and it was one of the easy maths for my major (history), but it ended up being invaluable (ended up writing code for a living). It is one of those things they really shou

  • by bl8n8r (649187) on Tuesday May 31, 2011 @06:42PM (#36303130)
    both places offer online courses. perhaps your mom can glean some direction from them.

    http://oli.web.cmu.edu/openlearning/
    http://ocw.mit.edu/courses/
  • Seriously. As bad as /. makes it sound, you really do develop good people skills and are generally liked more by the general public after having mastered dealing with bullies, idiots, know-it-alls, etc (assuming they're not one of the aforementioned characters). Good people skills are infinitely more valuable than anything school will teach you.
  • Computer Science is not Word Processing. Office skill are important, but they aren't Comp Sci. Back in the old days, Computer Science was part of the Business department curriculum (at least it was in my High School), but it quickly spawned off to its own program in Science and went from there.

    You need a two pronged approach. The first is word processing, spreadsheets, and some graphics. Good basic computer user skills. Gets the kids over their fear factor and gets them using the tool. From there you

  • by metalmaster (1005171) on Tuesday May 31, 2011 @07:20PM (#36303384)
    When I was in high school we had a comprehensive Office 2003 textbook that covered MOUS objectives for each of the core office applications. That textbook was published by Thompson Course Technologies. Im not sure if they have been bought out or changed in that time, but I found a Cengage textbook [cengage.com] that covers the material for 2010. The book I studied from explained a particular concept, applied that concept, and reviewed that concept. Every few concepts was followed by a test. My instructor followed the method provided by the book, and it worked well.

    Use a similar approach with programming. Find a suitable starting language and find a book that follows the concept-tutorial method. To make things a bit more challenging in this area my instructor gave us custom projects that went outside the scope of the objective text, but still relied on lessons we had learned
    • by dlb (17444)

      "When I was in high school we had a comprehensive Office 2003 textbook...."

      Thanks for making me feel old.

  • First, office suite applications are not computer science. If you want to teach the CS version of word processing, teach them LaTeX. In the meantime, I recommend something that I didn't do: start with a functional language like Scheme (I started with K&R). I TA'd for a Java intro class and it never went well. All the PL (programming language) grad students I know hate C++, and that leaves Python, Ruby, and the functional languages.

    Scheme is pretty simple, and probably appropriate for HS-level course

  • by Anonymous Coward

    I have used these successfully when home schooling my children for any of the Microsoft Office products.

    http://www.technokids.com

  • An Apple IIe with an assembler, and a few compilers. Or an IBM XT with the same. Give it to them with some old books and tell them to do something fun with it.

    That should keep them out of your hair for a while. Isn't that the whole point of a home school curriculum?

  • by I3OI3 (1862302) on Tuesday May 31, 2011 @08:54PM (#36303966)
    I am a CS researcher in a corporate lab and a homeschooling father. I'll speak to the subject without snarking about word processing.

    For the younger crowd, I can highly recommend Computer Science Unplugged [csunplugged.org]. It is a great introduction to the fundamentals of computer science - algorithmic basics, information coding and entropy, finite state automata, and a bunch of other good stuff. Interestingly, the entire course is done without a computer. It has exposition, exercises, and games that reinforce those fundamentals.

    It's about 10 hours of coursework, it's free, and it's geared toward the 8-12 year old crowd. My 7-year old didn't have any troubles with it, and was always hungry for more. The novelty of teaching computer science without touching a computer is also compelling.

    Now, if anyone can recommend some good coursework on introduction to programming and basic algorithms for the 8-10 set, I'd appreciate it. I haven't found any good educational materials for Scratch (it's all pretty ad-hoc and amateurish), and I think Alice is a bit much for sit-you-down-and-start-programming. Any personal experiences?

    • You might look at bootstrapworld.org, a project to teach functions and programming to middle schoolers. (I mentioned it in another post, but it's directly relevant to the question.) Their after-school programs (and summer camps) are interesting because they also teach testing (facilitated by functional code) and code reviews (students present their code in a Q and A session) and use pair programming.

  • by atomicbutterfly (1979388) on Tuesday May 31, 2011 @08:58PM (#36304008)

    my mom has programming experience and holds bachelor's degrees in physics and math â" she's pretty qualified to teach

    Not necessarily. Just because someone is learned in a particular field does not mean they have the skills to dispense the knowledge in an effective manner. I'm not the only one who's encountered people who are experts in their field, yet lack the ability to coherently explain even the basis because they don't have the skills to do so.

  • Computer Science, Logo Style [berkeley.edu]. Free for personal use.
  • I have collecting to Intro to Programming links for Kids at my blog and in it comments: https://purpleslog.wordpress.com/2009/07/19/reference-intro-to-programming-for-kids-aka-growing-a-young-computer-geek/ [wordpress.com]
  • Buy a few Arduino boards. Get the robot vehicle version. Add a sound synthesizer shield. Make stuff. Hours of fun and will give you a sound foundation in the basics that you can't get through a higher level language.
  • Its probably way too late for my comment to be modded up for the submitter, but here goes.

    I've taught "Into to Word Processing" and "Intro to Spreadsheets" type courses at some local adult education colleges. The best books I found were the Shelly Cashman series, such as "Microsoft Office 2007 Introductory Concepts and Techniques". Good explanations with screenshots, and good exercises.

    Here's an Amazon link: http://www.amazon.com/Microsoft-Office-2007-Introductory-Techniques/dp/0324826842/ref=sr_1_1?ie=UT [amazon.com]

  • by Dan667 (564390)
    one thing that is not stressed or practiced nearly enough with CS is interaction with people for activities like requirements gathering and maintenance (which is ~80% of a software life cycle). There are jobs where you are handed a spec and you build it with no contact with the outside world, but all the jobs I have ever had require the ability to interact effectively with people from all walks of life.

<<<<< EVACUATION ROUTE <<<<<

Working...