Jump to content

Menu

Programming curriculum?


Recommended Posts

I need recommendations for a programming curriculum? Does anyone have experience with Khan Academy's programming lessons? Likes or dislikes? Or is there something else you would recommend for a kid who *LOVES* video games? I would like it to be something he can do easily on his own.  

Edited by charlotteb
  • Like 1
Link to comment
Share on other sites

  • charlotteb changed the title to Programming curriculum?

Teen Coder by Homeschool Programming is how my CS guy got his start with "actual" programming. In middle school he started with the programmable Legos and scratch, but Teen coder was his first real class. After that he taught himself with who knows what all he found himself online. He also did an MIT Open courseware class on Python.

Link to comment
Share on other sites

Edx has classes from MIT and others. My son first learned Python at the local university. They have a STEM outreach program that offers various programs for school aged students. He was able to learn from a college professor and the price was extremely cheap. It was in partnership with 4-H, so maybe look through them as well. 

Link to comment
Share on other sites

Python Programming for the Absolute Beginner by Michael Dawson.  It is written for adults, but the conceit is that the programming assignments all involve games, so there is a fun element to the instruction.  

ETA:  AoPS also offers a great python course, but it is challenging and fast paced.  I recommend getting some experience with python first before taking the class.  

Edited by daijobu
  • Like 2
Link to comment
Share on other sites

41 minutes ago, daijobu said:

Python Programming for the Absolute Beginner by Michael Dawson.  It is written for adults, but the conceit is that the programming assignments all involve games, so there is a fun element to the instruction.  

ETA:  AoPS also offers a great python course, but it is challenging and fast paced.  I recommend getting some experience with python first before taking the class.  


do you have any experience with AoPS Intermediate Python course? Is it a substantial setup up form their introductory course?

Link to comment
Share on other sites

1 hour ago, Roadrunner said:


do you have any experience with AoPS Intermediate Python course? Is it a substantial setup up form their introductory course?

Sacha may/probably will take it this summer (trying to decide between that and the AlphaStar USACO training program), so I may have some feedback after. I will say that, I agree with Daijobu, the beginning Python course was pretty difficult for Sacha. He had done Scratch and Mod Design I in Java when he was younger, but he still spent a lot of time on the beginning AoPS Python course. It was a year ago (he was in 4th grade), so I am concerned that he has forgotten a lot of the information in the beginning level class. Still mulling it over...

  • Like 1
Link to comment
Share on other sites

DS14 is currently taking a Complete Python Bootcamp: From Zero to Hero in Python 3 through udemy.com that he likes and does completely on his own.  When he gets to something he's struggling with, like completing it on a Chromebook instead of a Windows PC, he Youtubes or Googles it to find his work-around.  The course price is so inexpensive it's practically free, definitely cheaper than a textbook.

  • Like 1
Link to comment
Share on other sites

We really liked this one for dd at 10-11.  How to Code: A Step-By-Step Guide to Computer Coding https://www.amazon.com/dp/1454921773/ref=cm_sw_r_cp_apa_i_jGmiEbKSPB3TH

She's following it with this one, which so far seems great: Python for Kids: A Playful Introduction to Programming https://www.amazon.com/dp/1593274076/ref=cm_sw_r_cp_apa_i_EHmiEbM4E6FFW

ETA: I just realized which board I'm on. The first is probably too easy.

Edited by elroisees
Got excited. :)
  • Haha 1
Link to comment
Share on other sites

6 hours ago, Roadrunner said:


do you have any experience with AoPS Intermediate Python course? Is it a substantial setup up form their introductory course?

 

It's been too long for me to say.  I can generally say that it really helps if you've had some python experience before starting either class.

The Intro class covers basic programming principles, functions, lists, tuples, dictionaries.  It really helps if your student already knows the different data structures and loops.  

The Intermediate class covers recursion, OOP (3 weeks worth), and event driven programming.  I would get familiar with recursion and OOP before starting this class.  Both topics take a while to wrap your brain around.  

I would say the AoPS classes are great for after you've maybe already studied something briefly and want to be sure you are 100% solid on the topics.  

Edited by daijobu
  • Like 2
Link to comment
Share on other sites

(all the below is IMO.  I'm a career SW Engineer, fwiw)

- any of the various modern languages that are typed and have a notion of class will do fine (Java, Python, C#)..avoid scripting languages (javascipt, shell scripts).  Among the big widely-used languages, it 100% does not matter what you pick as a first language (except that the AP test is in Java, if you care).

- I strongly (very strongly) suggest that the student have access to an actual person who gives them feedback on every program. Doesn't have to be the teacher - they can go through a self-teaching or automated program to learn the syntax and get the assignments + grades - but it's really important that you have a person, who has written a good amount of code IN THAT LANGUAGE, that provides them feedback.

Why? Because programming is about reasoning, breaking down hard things into smaller things, finding commonality in ideas and 'factoring' it out, and communicating. Even when you're just learning the print and for-loop syntax. Yes, the 'grammar' of the language is confusing at first, but it is by far the easiest part of writing even modest programs. Learning how to name variables, organize code on the page, follow conventions that help readability, define functions that you can reuse, minimize odds of errors, and write code you can debug is the biggest challenge and I've yet to find a non-human process that can teach it. It's important that the person have written a decent amount of code in the student's language because each programming language has different natural and un-natural (but legal) ways of expressing things, and learning that is part of learning to program.

Learning to program w/o a human teacher is like learning to write essays w/ only a spelling and grammar checker. You can produce legal, or even correct, programs - but you won't really learn how to program.

 

 

 

 

 

 

  • Like 6
Link to comment
Share on other sites

My older daughter did Funda Funda Academy’s 5-week Python classes a few years ago, and last year she did Edhesive’s AP Computer Science A (Java-based).  She enjoyed both and got a 5 on the AP exam.  She thought Funda Funda was accessible for a beginner, but she did have some prior Scratch experience.

Recently she’s been going through the Khan Academy programming for fun.  She says she’s enjoying picking up bits and pieces that she hadn’t learned elsewhere.

Link to comment
Share on other sites

  • 1 year later...

Any thoughts on where to go after the AOPS programming classes? My 6th grader is taking the intermediate python class now, and really enjoying it (though the workload is a lot for him -- these are his first online classes ever). He learned a little programming on his own before the classes, but the classes seem to have accelerated both his interest and skills, so it'd be nice to continue that momentum. 

Link to comment
Share on other sites

5 minutes ago, mckittre said:

Any thoughts on where to go after the AOPS programming classes? My 6th grader is taking the intermediate python class now, and really enjoying it (though the workload is a lot for him -- these are his first online classes ever). He learned a little programming on his own before the classes, but the classes seem to have accelerated both his interest and skills, so it'd be nice to continue that momentum. 

I asked a similar question a few weeks ago and someone recommended Kaggle: https://www.kaggle.com/learn/overview

 

The only advice I have is that I would avoid the MOOCS if possible. The free classes seem so tempting, but there’s no support, there’s often huge gaps in the info they’re presenting, and your kid will end up hating programming. 😞

Link to comment
Share on other sites

19 minutes ago, mckittre said:

Any thoughts on where to go after the AOPS programming classes? My 6th grader is taking the intermediate python class now, and really enjoying it (though the workload is a lot for him -- these are his first online classes ever). He learned a little programming on his own before the classes, but the classes seem to have accelerated both his interest and skills, so it'd be nice to continue that momentum. 

Does he want to go deeper into Python? Or is he interested in learning another language like Java or C++? Is he interested in learning the nuts and bots of CS and dive into data structures or algorithms?

 

Link to comment
Share on other sites

Let's see. He'd rather do more interesting things with Python than learn another language. I'm not sure what going more into data structures or algorithms would mean (I know no programming!), but he does like understanding the concepts behind things. He likes math, science, and messing with data and graphs.  On his own he programs things like little games, encryption/decryption algorithms, and ways to get the computer to do math with bigger numbers. He also has a raspberry pi with some electronics pieces, and has been doing some coding related to that, with projects like morse code lights, photo-sensitive motors, etc...

Link to comment
Share on other sites

1 hour ago, mckittre said:

Let's see. He'd rather do more interesting things with Python than learn another language. I'm not sure what going more into data structures or algorithms would mean (I know no programming!), but he does like understanding the concepts behind things. He likes math, science, and messing with data and graphs.  On his own he programs things like little games, encryption/decryption algorithms, and ways to get the computer to do math with bigger numbers. He also has a raspberry pi with some electronics pieces, and has been doing some coding related to that, with projects like morse code lights, photo-sensitive motors, etc...

He may like classes at Robolink. Robolink has classes that incorporate Python with hardware, like drones and robots. They have classes like Drone Programming with Python, Game Development with Python, and AI and Python. They have virtual classes right now, we have not tried the virtual classes. My son went to their summer camps a few year back. 

https://shop.robolink.com/collections/private-tutoring
 

 

Edited by SDMomof3
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...