12yo, too young to do Python 300hr Scientific Course / Cert?

I’m typing on behalf of my 12yo son(I’m Dad). He has been learning some python and is looking to attempt the python scientific course and certificate. He is a smart kid but not gifted or a genius, just in the top 30% for his age group I guess. I have given him a decent incentive to complete the course, a new gaming computer, so he is keen but not a full blown enthusiast. My question is at 12, with still somewhat limited knowledge of math etc, is the certificate too much to ask of him to achieve the computer? Should he attempt it, or does he need a more solid grounding on other subjects that I expect come with age / further education… He does have an online tutor that he learns with, but yea this was a seperate goal set to achieve his prize… Any thoughts and responses appreciated…

**(I know you’re never too young to learn to code, but I’m specifically interested whether the 300hr python scientific course is a little too much to ask of him given his age… I am not a programmer or developer so don’t really know what is involved… Thanks)

This is not a simple matter of yes/no answer.

If he likes coding and have a knack for it then it is perfectly fine.
He will learn necessary things as he goes. Your job as a parent is to encourage him and help with hard parts.

If you want him to get some valuable skill and do not force him (openly or covertly) then it not as good, but it fine.
He will achieve his goal of a gaming computer and may lose interest.

If it is you that want him to code (parents have many reasons), that may backfire.
He can feel forced and may lose interest in a thing that was his small hobby.

Whatever is the situation - encourage him on his choices and give him space to learn and it will be fine. It is better to live a happy life of a tradesman than unhappy one of a coder/lawyer/CEO.

4 Likes

Thanks for the reply and I agree 100%… So he is keen to attempt it… My question is is it realistically achievable by a kid of his age?

Yes, just needs time. Good guidance is helpful too.
Kids can achieve a lot more than you think, especially when they put their mind to it.

Well clearly the lessons hes been getting have been worth it as he is 10% way through the course already in just a couple of hours, as he knows most of everything so far… I’m praying it gets harder and to subjects he hasn’t covered as I expected the course to take him around a year part time… Looks like I’m going to have to cough up some serious money sooner than I anticipated… :grimacing:

Its not about the programming language, its the ability to break down problems.

Python is considered easier then other programming languages but its not about learning the syntax itself. It’s more of his ability to take initiative and create complex programs with basic tools. This is the basics of any language and the point of using a computer to run real world problems.

I don’t think its a good idea to give a gaming computer for completing the course. His initiative will become for a gaming computer, not for the liking for programming.

I started programming around 13 - 14 years old and I just turned 17. I was able to learn the basics of HTML, CSS and JS in middle school with building some more complex programs. However, it wasn’t until later in high school that I could truly understand some deeper coding concepts. Learning Java helped me understand Object oriented programming and made me get past the massive road block that many fall from in JS.

It wasn’t easy and I took long breaks. Younger teenagers, especially your 12 year old, will hit a learning curve eventually that will test patience way past any gaming PC. Keep in mind that programming is already hard for adults, for kids that haven’t taken higher math and computer science classes its even harder. Programming went hand and hand with me being a 14 year old. I spent most of my time already on a computer and didn’t do well socializing. Spending my free time programming for many hours on end was interesting, but for 99% kids my age it wasn’t. I’m still the small 10% (guessing) of kids my age who have even take a programming course and I’m nearly a adult.

My concern with young kids programming is that… kids like to be kids. At the age of 12 I would much rather go out and play with friends then spend my time building algorithms. The attention span for younger kids is higher playing basketball with friends then spending 300 hours on a Python course. Young kids need to spend time socializing to build basic social skills, computer science can always come later.

I don’t want to sound arrogant, as I have never done the Python certification, but FCC isn’t that monumental to complete. Even someone with no interest in programming can make it through the course due to how basic the challenges are. It’s once your done with the learning and enter the final projects (and beyond FCC) that the true challenges arrive. I don’t want your child to complete the course with help through the final projects, then walk away from it.

Applying what you learn to create something totally new and personal to you is where truly understanding of programming comes into play. I have 310+ contributions in project review and the biggest learning curve is when people are told to go out and create 5 unique webpages that past 10 or more tests each. People who blasted through the learning process with flying colors hit a road block of transferring what they learn into building real projects. This is where the idea of 25 years of experience in anything is worth more then any Phd.

I’m not saying your kid will never program, just that 12 is a young age and the chances of sticking with it from now until high school is low.

1 Like

I’ve completed the python scientific course. I don’t recall any higher level math or non-programming knowledge required. To simplify it I would describe it as “basic python programming concepts, which also apply to many programming languages.” The syntax is different for different languages but many of the concepts and data structures are the same.

Was he learning to code without the carrot or does he do it for the carrot?

Like what was already said, if you want him to code, not him wanting to code it will not be good. I became a lawyer because my parents wanted me to. I hated it. Now I’m transitioning to a coding career for my happiness.

I agree with everything @michaelnicol said.

I’m not a parent, but in my opinion, if the only outcome is that he learns something new I’d say it’s a win. Even if he later finds it boring and moves on. No knowledge is wasted knowledge and at that age, learning to learn is often more important than the knowledge itself.

As for your main question, that really isn’t something we can answer without knowing more about his current level and his progress. It might be setting the goal too high. You definitely do not want to set him up for a loss, so I would be hesitant in setting (hard) goals you yourself are not able to confirm as achievable.

Carrots can be helpful in getting the ball rolling but that doesn’t mean it will reach the end goal. I would focus more on the process and overall positive outcomes.

Looking at the final tasks, they are not very “scientific” so to speak - the only somewhat advanced knowledge needed there is how to calculate a basic propability via “good outcomes / all tests”. I don’t know when this is covered in school, might be a year or two off.

But that’s it. The tasks are mostly about just creating readable strings of text.

That said, the Python course is not complete - right now it’s mostly video lessons and has no interactive coding-environment either.
So for a complete beginner, it might be better to start with the Javascript course, as it is a lot more step-by-step with actual coding-tasks to test the acquired knowledge.

Just to emphasise what’s been said in a couple of other posts: it’s not heavy maths or anything, it is aimed at beginners. And note the 300 hours is a recommendation – a lot of that is based on going through a load of quite simple challenges that introduce one simple concept at a time, often one specific kind of syntax, building up in complexity. The actual certification comes from submitting a small set of projects – though they likely will be hard for a beginner.

A possibly useful thing to look at is Al Swiegart’s books: he’s a writer who focusses on teaching beginners, in particular children. And most of books are Python-related.

His website is here – https://alsweigart.com/ – and all his books are available for free online (and are published in paper form by No Starch Press). Some are quite old, but most everything should still be applicable.

Also, there’s quite a lot of games-related stuff that heavily involves [teaching] programming – Roblox is the big one, and Minecraft as well. The former has an explicit focus on teaching programming (it uses the Lua language, designed to be very easy to pick up), while modding for the latter has a huge community.

Game frameworks (ie ones where you always create by programming against the framework, so they don’t hide the programming aspect at all) are likely a useful teaching/learning tool as well. The well established ones have big communities with vast amounts of tutorials, books and documentation: Pygame (uses Python) and Löve (uses Lua) are probably the two key ones in this space.

Finally, JavaScript is important because it’s the language of the web, and using it to program generally means someone can use something that’s already on their computer (a browser) to immediately see results – that’s really useful. FCC focusses on JS, and there’s a vast sea of resources for it online. Not used too much for the scientific computing side of things, slightly different focus that the Python part of FCC.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.