Tuesday, September 16, 2014

Carnival of Homeschooling - Introduction to programming concepts

I've been writing code for most of my career.  I've written in a variety of programming languages.  For most of the last fifteen years I wrote in Java.  Recently I've been using Python.  While each languages has its unique features, most languages share some basic, common concepts.

In this carnival I'll tie in various programming concepts to the posts.  I hope you enjoy it.

Carnival of Homeschooling

Looping

Often a program will try to do some simple task hundreds, or thousands, or even millions of times.  The loop might be for a fixed number of times, or run until some condition is met, or even just run as long as the computer is up.  Sometimes homeschooling seems a bit like an endless loop.  On the down side we may feel like we are in a Groundhog Day.  The upside is as we repeat a task several times the net effect can be a deeper understanding of the material.

In Ancient Egypt CT sharing how they are having fun learning about Egypt as they start over with Volume 1 of the Story of the World.  Posted at Petticoat Government.

Even in a simple loop the work can be a little different.  Carol writes about 20+ years of family read aloud chapter books and shares her growing list of chapter books.  Posted at journey-and-destination.


Mental Models

Both when a programmer comes up with a design and as he writes the code, he has a mental model of it should all work.  Many bugs have occurred because the mental model is different that the actual code.  We can spend hours trying to understand why the code is not doing what we expect.

Skeletons and Pilgrims! is about how to make a bone model and explore skeletons.  Posted at Solagratiamom.

I don't GET designer purses, and I don't GET boxed curriculum either is about recognizing what is your own mental model about what is important to you.  Posted at Notes From A Homeschooled Mom.

Unfortunately other people can have flawed mental models about homeschooling.  Barbara Frank writes one flawed mental model in When Bias Against Homeschooling Results in Job Loss.  Posted at Barbara Frank Online.


Basic Practices

There are some basic practices which make it easier to write good code.  One important one is to spend time on the design before jumping in and writing code.  Another good practice is to comment the code which both forces the programmer to really think about what the code is doing and makes it much easier for others to modify or improve.

Annie Kate shares some of her best practices in 6 Tips for a Successful School Year.  Posted at Tea Time with Annie Kate.

A good approach to programming is to break tasks up into small components and write a few lines of code for each task. Sometimes a programmer can feel he is directly millions of little ants.  In Ants - Outdoor Hour Challenge  shares their study of ants by using using the Handbook of Nature Study and the Outdoor Hour Challenge website.  Posted at Harvest Moon by Hand.

An important part of programming is understanding the end goal.  Why are you doing what you are doing?   Susan answers the question Why Do We Homeschool?  Homeschooling can be scary and challenging - so why do it?  Check out Susan's answer, posted at Susan Raber Online.


Bugs

Normally the hardest part of being a programmer isn't writing the code.  It is finding and fixing bugs.  Often more money is spent debugging code than in writing it in the first place.

Karen writes about some of the problems with homeschooling in A Very Damaging List Against Homeschooling.  Posted at My Own Mind.

Many parents turn to homeschooling because of problems with public schools.  Jamie writes about The ADD/ADHD Epidemic.  Posted at MomSCHOOL.


Optimization

Once a program starts running, the next step may be to get it to run fast, or run using less memory, or less bandwidth.  Good code development includes balancing the multiple demands for resources, which is also a topic of economics.

From Germany we have a post of Teaching Kids the Basics of Economics which reviews a book designed to teach math, but ends up doing a good job at teaching economics.  Posted at Highhill Homeschool.

An important part of programming is knowing what doesn't have to be optimized.  It probably doesn't make sense to spend six months to speed up ten lines of code that will get used only once and save a small fraction of a second.  Likewise homeschoolers need to know what is important to optimize and what is fine just to leave alone.  A Little Classical Unschooling is about Cristina's recent experience with her daughter as they review changing how they homeschool.  Posted at Home Spun Juggling.


Having fun

Sometimes programming can be a ton of fun.  Whether it is writing some clean code, or writing a game, it can be a great feeling to master a problem.

Christy has fun in sharing Lesson ideas using Superman comics.  She writes about how Superman makes a great theme for learning history, philosophy and language arts skills.  Posted at Christy's Houseful of Chaos.

After most major releases of software there will be some kind of celebration.  Mama Squirrel ends Homeschooling and the walls of Jerusalem with "More to plan the party and blow the horns."  Posted at Dewey's Treehouse.

Programming is not for everyone.  And likewise Math is not for everyone.  Denise has a fun post in Quotable: I Do Hate Sums.  Posted at Let's Play Math!




If you have enjoyed this carnival, please spread the word. Please mention the carnival on your blog, Facebook, Twitter, and other appropriate places. You can also help promote the carnival by adding the carnival images. Learn how by going here.

Go here for the archives of previous carnivals.

Next week the carnival will be held at Petticoat Government.

If you are interested in submitting a post for a future carnival, click here for information.

We thank everyone who has helped out. Thank you to all the participants in this carnival. And thanks to all those who help promote the Carnival of Homeschooling.

Carnival of Homeschooling

3 comments:

Harvest Moon by Hand said...

Enjoyed reading this Carnival, and especially how you tied into the posts to programming concepts. Very clever!

Ahermitt said...

This was great! I learned a lot, and having a programmer husband and son, it gave me some insight.

Barbara Frank said...

Excellent, as always. Thank you!