Here I'm reviewing UCode, a programming academy for children of elementary, middle, and high school age, with different courses pitched to different ages and interests. My son is currently taking online lessons at UCode, and I thought it would be good to mention the pros and cons based on our experience with it. There are plenty of positives, but some drawbacks as well, and I'll mention all of these in this balanced review.
How does UCode work?
With UCode, your child takes small-group lessons online via Zoom using UCode's custom curriculum. They have many different course options for different ages and coding topics.
In my son's coding course, Roblox Game Development, the class size maxes out at 6 students and 1 teacher. That's awesome! In practice we noticed that not all the 6 student slots are filled, so class sizes may be even smaller depending how many sign up for that day's lesson slot. We've had anywhere from 3 students to 5 students total.
Basically the flow goes like this:
- You sign up for a free trial class on a lesson slot of your choice, no credit card required. This free trial is as much for them as it is for you, because it lets you and them see if it's a good fit for your child without you needing to commit to anything yet.
- On the free lesson date and time, your child should log into his or her dashboard and press the "join class" button which will take him or her to the live Zoom session with the teacher and other kids.
- Your child will receive lesson materials and instructions from the teacher, and your child then starts on the work while in the live Zoom meeting with the teacher and other kids.
- Children work independently on the course materials during the lesson, and the teacher is available for help as needed. Different children may be at different stages of the course (I explain this more later in this article). The teacher doesn't lecture a specific lesson because everyone is at a different stage - this means your child can proceed at his or her preferred pace. Your child won't be slowed down by a slower learner, nor will he or she struggle to keep up if the others are older and more advanced.
- Once you've completed the trial lesson, you and your child can decide whether to continue. If your child liked the trial lesson and wants to continue, you can then pay for a set of points that you can redeem for lessons. I found that the prices are quite reasonable - when you make your free account to redeem your free lesson you can take a look at the pricing for subsequent lessons inside your dashboard. I'd be spending that amount or more for a sport or any other activity for my child, and as an added bonus this doesn't need any specialized equipment (so long as you have a computer, laptop or Chromebook and can do Zoom). I love that my child is doing a course that can lead to a creative and fulfilling hobby! - and you don't always get that with all other types of extracurriculars.
How UCode is different to other kids coding academies
You may be wondering why we picked UCode to try. It was because when we researched our options, their courses offer the perfect mix of
- understanding coding properly from the ground up
- applying the learning to a real - and interesting! - project they develop as part of the course
We also liked that there were many different types of courses offered for different ages, stages, and interests of a child. So your child can pick what he or she likes from a breadth of available courses. By contrast, some other children's programming academies offer just one or two types of courses, which perhaps none of those might interest the child.
In particular, my son and I were looking for him to learn Roblox game development from actual code, not using blocks. He had tried to learn by himself from random online tutorials, but since he didn't really understand the underlying programming language, he'd get frustrated quickly and give up. So I knew at that point that he needed a properly structured course, and fortunately UCode offered a Roblox Game Development course for kids his age. He's a middle schooler, and the course is suitable for older kids too. There are other courses designed for younger kids ages 6 and up too.
When researching different places, we noticed that other coding academies for children (e.g. Scratch, CodeSpark Academy) tend to do things with blocks. Blocks are fine up to a point and up to a certain age, but when your child wants to do develop a game on Roblox, blocks and code snippets cut and pasted from elsewhere aren't going to work out. Your child needs to understand the underlying code behind it. Yet, they'll still want to be able to work toward a real-life project while learning, and not have a vague sense of "someday you'll be able to tie it together into a project on your own". And UCode offers a game development project as part of this course, so your child is working on a (simple) game while actually learning. This is what I loved - that my son could directly see and experience the application of the code, yet still learn it from first principles.
Next let's look at the pros and cons.
What I like
- You can take as many or as few lessons a month as you wish. For example, if you know you'll be away on a particular lesson day, simply don't sign up for that lesson date, sign up for a subsequent one instead. You only pay for lessons that you sign up for.
- No ongoing contracts - stop or continue as you wish. You simply pay as you go with points.
- Proceed at your own pace - faster workers can move ahead faster, students who struggle can go slower. The teacher is there the whole time to help, but he or she does not lecture to keep everyone up to a set level like a metronome! The students simply move on with their lesson depending on where they are with the curriculum. The teacher helps each student as needed. This is why they have small class sizes to individualize things as needed, and it really works.
- My son loved it, and he's normally hesitant about trying new things. He normally tends to do the minimum amount of academics and homework, so I was blown away when I asked him if he wanted to continue after the free lesson and his answer was a resounding YES!
- The course is well designed and perfectly pitched to the correct level of the students. My son did need a little bit of occasional help from the teacher, but not a whole lot - he could proceed independently for the most part. This tells me it's an exact match for him - if he didn't need occasional help, I'd wonder if he could instead just figure it out by himself from a book, and on the other hand if he needed a lot of help I'd wonder if the course was too hard. But this was perfect.
- Your child is allowed to start the next lesson on the course materials right away if they complete the current one early. You don't have to wait until your next session online to do it. My child was able to complete 2 lessons in 1 day! Besides saving a bit of money (by requiring less total online class sessions to complete the modules) it also means your kid isn't slowed down with nothing to do after completing a lesson. The reverse is true as well - if he or she runs into a challenging lesson, your child will be able to go slowly on it and spread it across 2 online sessions to get the proper help he or she needs with it.
- Signing up for a class is super-easy. You can do it in the click of a button!
- Course design is top-notch. I can't speak highly enough of it.
What I don't like
You might be surprised that there are things not to like after what we've seen so far, but yes, UCode does have some significant problems. These are all technical, relating to the ease of use of the site, and do not relate to the courses or teaching. I'll cover them here:
- Helpdesk and contact info is not immediately clear at first glance. Fortunately I later found that once you're inside your dashboard, you'll see that there is a phone number as well as an email address that you can use to address questions and problems. But the standard contact form on the main website isn't that helpful at all.
- You don't get an email when you sign up for a class. I was sort of expecting something to arrive in my inbox, e.g. "Yay! You or your child signed up for [course name] on [date] at [time]". But that didn't happen. The only way you can see the classes you signed up for is when you log into your dashboard. It lists them under "My classes". Not a big issue, but at first I was worried if I'd signed up properly for the class (I had).
- You're largely on your own when it comes to issues connecting to the Zoom meeting, etc. On my son's first lesson, the free one, he was let into it 10 minutes late. We still don't know why (was it because my child's name wasn't recognized as one of the students right away? Was the teacher late that particular day? Did he want to get the regular paying students started first? - which would have been understandable) and this was never explained to us. Since it was a free lesson, I didn't want to complain, but it didn't give the best first impression. The good news is that all our subsequent lessons, the paid ones, started exactly on time though so we never had that issue again.
- I'm unable to buy points using the Firefox browser as not all payment fields are usable in that browser. This is such a ridiculous issue that it's actually hilarious. UCode clearly states it is optimized for Chrome and Safari. Fine, but it shouldn't be to the point where you can't buy something in another browser! I use Firefox for all my online shopping and have never had any issues until now. I was able to use the Edge browser on another device to buy the points instead, fortunately.
The bottom line
To sum up, it's as if UCode decided to put all their time, money and effort into developing the best possible courses - which to be fair, they succeeded at! But when it was time to allow parents and students to log in, buy points, and so on, it's as if they said "hey, let's throw something together that mostly works and call it good, let's not spend time and effort on that".
I'd rate UCode as a 4 out of 5, which I would break down as a 5 out of 5 for course content and teaching, but only a 3 out of 5 for technical matters such as buying points. This averages out to a 4 out of 5.
Therefore it's solely due to the excellent course curriculum and teaching that I use and recommend UCode. There is a lot more that UCode could do to improve the user dashboard experience, and I'm hopeful that maybe that's something they'll change one day soon. We are definitely continuing with UCode because my son loves it so much. To see him willingly work on a course for the fun of it, and to see him making the most of his potential and be excited and fulfilled, is worth it to me. I don't think I could find that part of the equation anywhere else.