Programming tuition?

Spacerat

Expert Member
Joined
Jul 29, 2015
Messages
1,524
Reaction score
653
Not sure if this is the right place but I will plonk it here anyway.

Backstory
Last year my son started IT classes as a subject at school doing Delphi. Round about 3rd term some kids in his class and another one at another nearby school expressed an interest in doing more. So I offered to start teaching them programming using C# (VS2017 Community) rather than Delphi. My approach was to not only teach them another language, but also to teach them about best practices and show them how ubiquitous software actually is. It quickly emerged that they were not taught any debugging skills at school. They did not know about watches, breakpoints, etc. I consider them to be crucial skills for writing software. Anyhow, many debugging sessions later they are now pretty adept at doing proper debugging with understanding what the program is doing, as opposed to blindly running their program and staring at code. The real satisfaction for me was how eager these guys were to learn and how much their interest were piqued in programming and related fields. Also the huge improvement in their marks despite the fact that we did not do Delphi at all.

So this year I have had requests to continue. I am considering carrying on with tuition but would likely make it a tad more formal. My question is whether your collective opinion says that there is a need to open something like this up for adults as well? The classes are after hours so would not impact the working day. The idea is that maybe there are some adults that are interested for whatever reason and they can get some structured guidance.

Yes there are tons of info on the web. I also use online courses to teach me new things. But sometimes face to face interactive sessions work better in transferring knowledge by enabling instant feedback to questions where everyone can learn. Especially so at the start of the learning curve.

What say you?
 
This sounds to me as though it would have value. I would have appreciated something like this when I did programming in school (though admittedly some years ago).

What area are you in?
 
if you can get them certified before they leave school they could actually have a chance at a job when they leave school. id say if they start in grade 10 they could do one cert a year and be an MSCE when they matriculate.
 
if you can get them certified before they leave school they could actually have a chance at a job when they leave school. id say if they start in grade 10 they could do one cert a year and be an MSCE when they matriculate.
Good point but I doubt that given available time a full cert will be possible. But good point...
 
Hat off to you for helping the kids.
I would just caution mixing the adults and kids and also getting the class too large because then you do loose effectiveness, where I presume you can now pay individual attention to each student
 
Excellent idea, face to face is great because as teacher you can see what they are unsure of or did not understand.

As much as it is about lecturing it is also about asking questions.

Had similar idea with my kids but with python.
I'm in Durbanville too, how about meetup?
 
Excellent idea, face to face is great because as teacher you can see what they are unsure of or did not understand.

As much as it is about lecturing it is also about asking questions.

Had similar idea with my kids but with python.
I'm in Durbanville too, how about meetup?

I like the Python idea. I have been looking for places in Cape Town that offer Python courses parttime like Saturdays for my teenage kid. The places I have come mostly offer fulltime courses only and is mostly geared to adults. I have finally registered him for an online course through Udemy which is done by Prof. Bryson Payne. Also the course needed to keep his attention and not be boring where they only type code all day. I don't do programming so don't how well the course is but it is a beginners intro and so far it is keeping his attention and interest.
 
There's a huge demand in schools for this. And if I lived close to you I'd take the adult classes.

I don't know what time you have on your hands but if you're planning on running it as a business you could run it in schools as an afterschool class (you'd have to pay a fee to the school).
Schools would also be happy to contract you to teach the kids programming during the school day. If you take this route you have to be aware that some kids still don't know how to use a keyboard/mouse/computer - teaching a class to double click on a file made me want to tear my hair out - and some of them would end up in your class. So you'd have to pair these students up with the kids who do know how to use the computer, or run several leveled lessons concurrently, or you'd have to make your lessons only available to students who pass a basic test you offer or the school computer teacher offers.
JFYI, some schools might not like classes only open to certain students because it could come back and bite them as being "exclusive" and "uninclusive".

And then have classes in the late afternoons and evenings and Saturday mornings for adults. Depending on the schools you might even be able to use their premises for the adult classes as well but it might be easier and cheaper - if you don't want to teach in your home - to do it in the community center. You could even hold your kids classes here and make it a requirement they have to have their own laptops.
 
I don't know what time you have on your hands but if you're planning on running it as a business you could run it in schools as an afterschool class (you'd have to pay a fee to the school).
Schools would also be happy to contract you to teach the kids programming during the school day. If you take this route you have to be aware that some kids still don't know how to use a keyboard/mouse/computer - teaching a class to double click on a file made me want to tear my hair out - and some of them would end up in your class. So you'd have to pair these students up with the kids who do know how to use the computer, or run several leveled lessons concurrently, or you'd have to make your lessons only available to students who pass a basic test you offer or the school computer teacher offers.
JFYI, some schools might not like classes only open to certain students because it could come back and bite them as being "exclusive" and "uninclusive".
I have the luxury to run my own software dev business from home office. Although I have flexibility, I would not want to do this during the day due to deadlines etc. The last batch of kids were those that take IT as a subject at school and wanted to do extra. So by definition, they were proficient in using a PC and comfortable with the concept of programming. First and foremost, they exhibited in interest in programming. I would not bother with teaching someone without basic computer skills. The schools do have IT (programming) classes during the day. You have to pass an aptitude test to take it as a subject. Me running the courses at school may be a slap in the face of teachers giving that subject. This initiative likely does not scale well, except if you get other teachers. I am passionate about software and I love teaching but using other teachers would create a whole new world of complexity, but who knows...

And then have classes in the late afternoons and evenings and Saturday mornings for adults. Depending on the schools you might even be able to use their premises for the adult classes as well but it might be easier and cheaper - if you don't want to teach in your home - to do it in the community center. You could even hold your kids classes here and make it a requirement they have to have their own laptops.
Yes currently they need their own laptops.

I would just caution mixing the adults and kids and also getting the class too large because then you do loose effectiveness, where I presume you can now pay individual attention to each student
Agreed. 4 to 6 is the max. The challenge is to get similar skill levels together. One of the parents also asked for 1 on 1.

Excellent idea, face to face is great because as teacher you can see what they are unsure of or did not understand.
As much as it is about lecturing it is also about asking questions.

Had similar idea with my kids but with python.
I'm in Durbanville too, how about meetup?
The interactivity at this stage of the learning curve is what makes the difference, I believe. If they reached a level of comfort, then they can explore by themselves. I particularly chose C#, because I know it well, the dev environment is excellent and it is a sellable skill. Sure we can meet up. I am actually in Kenridge area.
 
The interactivity at this stage of the learning curve is what makes the difference, I believe. If they reached a level of comfort, then they can explore by themselves. I particularly chose C#, because I know it well, the dev environment is excellent and it is a sellable skill. Sure we can meet up. I am actually in Kenridge area.

I'm c\c++ dev, tried to use Arduino with younger one (he is lego EV3 fan) so there is some real world interaction.
Still can not decide between c# and python, I did use both but I'm not as proficient.
Both dev envs are good (VS and py charm) so it is close toss but I'm leaning towards python.
 
I like the Python idea. I have been looking for places in Cape Town that offer Python courses parttime like Saturdays for my teenage kid. The places I have come mostly offer fulltime courses only and is mostly geared to adults. I have finally registered him for an online course through Udemy which is done by Prof. Bryson Payne. Also the course needed to keep his attention and not be boring where they only type code all day. I don't do programming so don't how well the course is but it is a beginners intro and so far it is keeping his attention and interest.
I used his book and and it is quite nice what I found out is that as long there is some interaction, drawing, sound younger ones will have some fun.

Main issue for me is consistency and we sort of do stuff then stop and then month or two start again.
 
... as long there is some interaction, drawing, sound younger ones will have some fun.
This is true, especially with primary school age. Attention span is always a challenge with kids nowadays.

The kids I teach currently are grade 10 & up, so attention span less of an issue.
I first had to explain the dev env, then basic a program and how to debug (this helped them in their school subject). Then basic concepts like variables and types and C# syntax. Used console apps for that as WinForms would get in the way and distract them. But there needs to be some 'excitement' as well.
 
I'm c\c++ dev, tried to use Arduino with younger one (he is lego EV3 fan) so there is some real world interaction.
Still can not decide between c# and python, I did use both but I'm not as proficient.
Both dev envs are good (VS and py charm) so it is close toss but I'm leaning towards python.
Any particular reason for choosing python?

I have not done python yet, but I understand that spacing of code (columns) etc is part of the syntax. I absolutely detest that. Reminds me of fortran...
 
Any particular reason for choosing python?

I have not done python yet, but I understand that spacing of code (columns) etc is part of the syntax. I absolutely detest that. Reminds me of fortran...

Yes, indentation is an absolute must in Python.

I use Pycharm as my main IDE, as it does auto indent and clear unused whitespace below code blocks(fiddle with stock settings, and it will do this).
VS Code does not always seem to do this, thus I do not use it as often.
 
I used his book and and it is quite nice what I found out is that as long there is some interaction, drawing, sound younger ones will have some fun.

Main issue for me is consistency and we sort of do stuff then stop and then month or two start again.

I haven't found any places that offer Python courses. I used to rely on Python short courses, but I have defaulted to short YT tutorials, and an older version of a Dummies guide(version 2.5 is the documented version, I code in Python 2.7)
 
I've been coding in Python on and off for about 10 years now and honestly the whitespace thing isn't an issue if you have been coding to a good standard previously. I really enjoy it. It's not perfect, but for a beginner I wouldn't recommend any other language.
 
I've been coding in Python on and off for about 10 years now and honestly the whitespace thing isn't an issue if you have been coding to a good standard previously. I really enjoy it. It's not perfect, but for a beginner I wouldn't recommend any other language.

Will look into it... I just think that Delphi is a poor choice for teaching beginners / school kids.
 
Will look into it... I just think that Delphi is a poor choice for teaching beginners / school kids.
I have mixed feelings about Delphi.

It evolved from Pascal, which as languages go for teaching was actually pretty good. I did Pascal in high school but I had already cut my teeth with c++, so it wasn't my first language.

Delphi took Pascal and made it into a RAD kind of thing, so it has the same syntax but a lot of the actual nuts and bolts are hidden away from you. Useful for if you want to knock together a GUI for some kind of database application in a day or two, not so useful IMO for teaching the basics to CS students.
 
Top
Sign up to the MyBroadband newsletter
X