Simonsallstrom
Posts: 4
Joined: Tue Oct 11, 2022 5:18 am

Low cost Ethiopia and Kenya programming education

Tue Oct 11, 2022 5:26 am

Hi! I’m a founder of an organisation that seeks to facilitate scholarships and training to students in low income countries (starting in Kenya and Ethiopiah) to learn programming where the end purpose is for them to join some online (competitive) bootcamps for careers in software development. The target students have graduated from high school and will not have access to computers but will all be very talented and motivated.

What would be a sufficient hardware setup based on some raspberry Pi hardware for us to be able to start teaching either python or JavaScript (say, using freecodeacademy resources)?

Best
Simon

DirectEd Development Foundation
https://directed.dev/
simon.sallstrom@directed.dev

austin944
Posts: 28
Joined: Sun Mar 13, 2022 12:29 am

Re: Low cost Ethiopia and Kenya programming education

Thu Nov 24, 2022 5:48 pm

What is your budget per student, and is it possible for students to share resources? Could they share a single Pi 400, for example? Or are you saying you can't afford any kind of computers for the students (not even microcontrollers with switches and LEDs and entering machine language via switches)?

ame
Posts: 6400
Joined: Sat Aug 18, 2012 1:21 am
Location: New Zealand

Re: Low cost Ethiopia and Kenya programming education

Thu Nov 24, 2022 7:13 pm

The Pi Pico is not at all the same as a Raspberry Pi, but your students might get a buzz out of learning that the Pico is being manufactured in Kenya:

viewtopic.php?t=187256&start=50#p2056927

To address your message in particular, the hardest part might be actually acquiring Pis at the moment. They are scarce. But don't forget you also need a case, PSU, SD card, keyboard, mouse, screen, etc. Finding a source of second-hand laptops might be a good way of getting computing equipment into students' hands.
Hmm. What can I put here?

ejolson
Posts: 10525
Joined: Tue Mar 18, 2014 11:47 am

Re: Low cost Ethiopia and Kenya programming education

Thu Nov 24, 2022 7:31 pm

Simonsallstrom wrote:
Tue Oct 11, 2022 5:26 am
Hi! I’m a founder of an organisation that seeks to facilitate scholarships and training to students in low income countries (starting in Kenya and Ethiopiah) to learn programming where the end purpose is for them to join some online (competitive) bootcamps for careers in software development.
Welcome to the forum!

From what I can tell viability of remote-work IT jobs has increased significantly since the COVID-19 epidemic started.

Given how remote development aligns with cloud computing, the dominance of Linux in the cloud makes it reasonable to use a Pi running Linux to get started.

It is not clear whether you plan to set up a teaching lab where talented people go for vocational training or are looking for a recommended setup for such people to use at home. My understanding is people learn best when they have unlimited free time to experiment with a computer, while the actual speed and capability of that machine is less important.

The Pi was designed to be affordable so everyone could own a computer devoted solely to learning. Before the shortages I would have suggested the Pi 4B over a Pi 400 because the built-in keyboard of the latter may not be comfortable for adults writing code every day. These days the Pi 400 may be more available.

User avatar
B.Goode
Posts: 14653
Joined: Mon Sep 01, 2014 4:03 pm
Location: UK

Re: Low cost Ethiopia and Kenya programming education

Thu Nov 24, 2022 7:46 pm

Simonsallstrom wrote:
Tue Oct 11, 2022 5:26 am
Hi! I’m a founder of an organisation that seeks to facilitate scholarships and training to students in low income countries (starting in Kenya and Ethiopiah) to learn programming where the end purpose is for them to join some online (competitive) bootcamps for careers in software development. The target students have graduated from high school and will not have access to computers but will all be very talented and motivated.


Can I suggest that there might be benefit from making contact with the Raspberry Pi Foundation ?
The Raspberry Pi Foundation is a UK-based charity with the mission to enable young people to realise their full potential through the power of computing and digital technologies.
Ref: https://www.raspberrypi.org/about/


They might be able to guide you towards suitable curriculum and pedagogy for your target audience. That will then provide a firmer base for hardware specification.
If you have questions about computing education and the work we are doing to pursue our educational mission, please send us a message using the form below.
Ref: https://www.raspberrypi.org/contact/


Without doubt, Raspberry Pi are aware of the opportunities that exist in Kenya - see https://www.raspberrypi.com/news/made-in-kenya/

Simonsallstrom
Posts: 4
Joined: Tue Oct 11, 2022 5:18 am

Re: Low cost Ethiopia and Kenya programming education

Mon Dec 05, 2022 8:50 am

austin944 wrote:
Thu Nov 24, 2022 5:48 pm
What is your budget per student, and is it possible for students to share resources? Could they share a single Pi 400, for example? Or are you saying you can't afford any kind of computers for the students (not even microcontrollers with switches and LEDs and entering machine language via switches)?
Our target budget is about $300, but the budget is really set as a function of what is "needed" (broadly defined). Yes we are looking to have them share a single computer. Either one computer per 2 or one per 4 students.

The goal is to introduce them to job-relevant software engineering in an engaging manner. We want to use project-based learning wherein they build one game over the course of the 10 week BootCamp.
If you have questions about computing education and the work we are doing to pursue our educational mission, please send us a message using the form below.
Ref: https://www.raspberrypi.org/contact/

Without doubt, Raspberry Pi are aware of the opportunities that exist in Kenya - see https://www.raspberrypi.com/news/made-in-kenya/
[/quote]
Thanks!
ejolson wrote: The Pi was designed to be affordable so everyone could own a computer devoted solely to learning. Before the shortages I would have suggested the Pi 4B over a Pi 400 because the built-in keyboard of the latter may not be comfortable for adults writing code every day. These days the Pi 400 may be more available.
From what I can tell, none of the Rasperry Pi are available on the market, anywhere. Do you know when they would be back on the market again?


Right now, the plan is to have the students to get an introduction to JavaScript MERN stack (fullstack). This is because the goal isn't coding per se. It is BootCamp with a sharp focus on employability more than anything else, which is why we chose it.

However, perhaps it makes sense to first have some form of shorter introduction using Raspberry Pi, to filter students - and then invest more heavily in the students that do go through?

Best
Simon

User avatar
Gavinmc42
Posts: 7104
Joined: Wed Aug 28, 2013 3:31 am

Re: Low cost Ethiopia and Kenya programming education

Mon Dec 05, 2022 9:54 am

I seem to remember something on the forum about using two keyboards and two screens on one Pi for student teaching use.
Second hand monitors and/or tv's provide the screens.

Pico's now have a few self hosting options but keyboard and screen are still the issue.
Use mobile phone screens?
Smartphone plus PicoW?

I use this Pi400 and two old monitors as my home code development computer.
Got same system at work as backup to the Windows box.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

ame
Posts: 6400
Joined: Sat Aug 18, 2012 1:21 am
Location: New Zealand

Re: Low cost Ethiopia and Kenya programming education

Mon Dec 05, 2022 9:57 am

Gavinmc42 wrote:
Mon Dec 05, 2022 9:54 am
I seem to remember something on the forum about using two keyboards and two screens on one Pi for student teaching use.
Second hand monitors and/or tv's provide the screens.

Pico's now have a few self hosting options but keyboard and screen are still the issue.
Use mobile phone screens?
Smartphone plus PicoW?

I use this Pi400 and two old monitors as my home code development computer.
Got same system at work as backup to the Windows box.
Well, it's Unix. You could have a single Pi and a bunch of terminals...
Hmm. What can I put here?

ejolson
Posts: 10525
Joined: Tue Mar 18, 2014 11:47 am

Re: Low cost Ethiopia and Kenya programming education

Mon Dec 05, 2022 12:38 pm

Simonsallstrom wrote:
Mon Dec 05, 2022 8:50 am
ejolson wrote: The Pi was designed to be affordable so everyone could own a computer devoted solely to learning. Before the shortages I would have suggested the Pi 4B over a Pi 400 because the built-in keyboard of the latter may not be comfortable for adults writing code every day. These days the Pi 400 may be more available.
From what I can tell, none of the Rasperry Pi are available on the market, anywhere. Do you know when they would be back on the market again?
Unfortunately, I don't have any special information about availability. Indeed, it seems like the shortages caught up with the Pi 400 and those are also difficult to source these days.

Given you didn't mention power saving as the primary concern for setting up the student lab, I think you'd get pretty good results with recycled PCs. Anything with 8GB RAM and at least two cores should work as a development environment with the needed compilers and web browsers while running Linux.
Simonsallstrom wrote:
Mon Dec 05, 2022 8:50 am
Right now, the plan is to have the students to get an introduction to JavaScript MERN stack (fullstack). This is because the goal isn't coding per se. It is BootCamp with a sharp focus on employability more than anything else, which is why we chose it.
My brother recently got tired of peering into eyes as an optometrist went through similar training and is now developing computer stuff using React.js. So far it's been interesting enough to keep going.

I don't see any reason for a student to switch to or from a Raspberry Pi to write applications using MongoDB, ExpressJS, ReactJS and Node.js. However, I think the optional 64-bit operating system on the Pi would work better for that.

Lots depends on hardware availability in these days of shortage. The Raspberry Pi Foundation is hardware agnostic, but they seem to focus more on schoolchildren rather than adult vocational training. Even if you don't use a Pi at first, tools for teaching always evolve and the Pi might be more available later.

At any rate, people here (myself included) appear interested in hearing how things go and to contribute ideas.

Simonsallstrom
Posts: 4
Joined: Tue Oct 11, 2022 5:18 am

Re: Low cost Ethiopia and Kenya programming education

Sun Dec 18, 2022 9:45 am

Gavinmc42 wrote:
Mon Dec 05, 2022 9:54 am
I seem to remember something on the forum about using two keyboards and two screens on one Pi for student teaching use.
Second hand monitors and/or tv's provide the screens.

Pico's now have a few self hosting options but keyboard and screen are still the issue.
Use mobile phone screens?
Smartphone plus PicoW?

I use this Pi400 and two old monitors as my home code development computer.
Got same system at work as backup to the Windows box.
Oh, I like the idea of using smartphones, though I do think it is quite possible to find very cheap monitors used.

The only big hurdle right now is just: how do we get Pi400s...?

Simonsallstrom
Posts: 4
Joined: Tue Oct 11, 2022 5:18 am

Re: Low cost Ethiopia and Kenya programming education

Sun Dec 18, 2022 10:35 am

ejolson wrote:
Mon Dec 05, 2022 12:38 pm
Simonsallstrom wrote:
Mon Dec 05, 2022 8:50 am
ejolson wrote: The Pi was designed to be affordable so everyone could own a computer devoted solely to learning. Before the shortages I would have suggested the Pi 4B over a Pi 400 because the built-in keyboard of the latter may not be comfortable for adults writing code every day. These days the Pi 400 may be more available.

Given you didn't mention power saving as the primary concern for setting up the student lab, I think you'd get pretty good results with recycled PCs. Anything with 8GB RAM and at least two cores should work as a development environment with the needed compilers and web browsers while running Linux.

My brother recently got tired of peering into eyes as an optometrist went through similar training and is now developing computer stuff using React.js. So far it's been interesting enough to keep going.
I had a look at Alibaba and it seems possible. So now the question is, should we go for Raspberry Pi 4B with 8gb RAM or the Raspberry Pi 400 with 4gb RAM and a keyboard included?

What are the trade-offs that I should consider when making this choice?

Say we want to also introduce the students to JavaScript, and run something like VScode. Is this possible to do with either set up?
ejolson wrote: I don't see any reason for a student to switch to or from a Raspberry Pi to write applications using MongoDB, ExpressJS, ReactJS and Node.js. However, I think the optional 64-bit operating system on the Pi would work better for that.

At any rate, people here (myself included) appear interested in hearing how things go and to contribute ideas.
So just to be clear. The process could then be (a) introduce them to programming on the Pi with Python, (b) transition to second-hand laptop where they start to do the MERN fullstack.

Given that we want to maximise targeting efficiency, what I'm thinking is that we can use X number of weeks of Raspberry Pi python coding as a sort of selection layer so as to help us select for the second part (we can't afford that many laptops and staff etc).

How many weeks of Python with Raspberry do you recon would suffice to get a good grasp of which students are suitable for this?

Thoughts on this?

ejolson
Posts: 10525
Joined: Tue Mar 18, 2014 11:47 am

Re: Low cost Ethiopia and Kenya programming education

Sun Dec 18, 2022 4:49 pm

Simonsallstrom wrote:
Sun Dec 18, 2022 10:35 am
I had a look at Alibaba and it seems possible. So now the question is, should we go for Raspberry Pi 4B with 8gb RAM or the Raspberry Pi 400 with 4gb RAM and a keyboard included?

What are the trade-offs that I should consider when making this choice?
A few months ago the Pi 400 was still available at list price, so much cheaper than the marked up prices for the 4B. It's possible both will be available at list price by Summer 2023, but I have no more information than what I read here.

https://www.raspberrypi.com/news/supply ... good-news/

The advantage of the 4B, in my opinion, is that the keyboard is separate and can easily be replaced if broken. Otherwise, they are the same up to differences in how much RAM memory.
Simonsallstrom wrote:
Sun Dec 18, 2022 10:35 am
Say we want to also introduce the students to JavaScript, and run something like VScode. Is this possible to do with either set up?
I think Node.js works best when the Pi is running a 64-bit operating system. There is now an official 64-bit Raspberry Pi OS as well as Ubuntu and a few others. My understanding is that video drivers and internet-of-things style projects are best with the 32-bit OS, but that the 64-bit OS is well supported.

I'm currently running a 64-bit Linux on my Raspberry Pi 4B. That was needed for the Swift compiler and certain databases. So far I've had no problems.
Simonsallstrom wrote:
Sun Dec 18, 2022 10:35 am
So just to be clear. The process could then be (a) introduce them to programming on the Pi with Python, (b) transition to second-hand laptop where they start to do the MERN fullstack.

Given that we want to maximise targeting efficiency, what I'm thinking is that we can use X number of weeks of Raspberry Pi python coding as a sort of selection layer so as to help us select for the second part (we can't afford that many laptops and staff etc).

How many weeks of Python with Raspberry do you recon would suffice to get a good grasp of which students are suitable for this?

Thoughts on this?
From what I can tell Python is one of the most tricky languages ever created. As an example, I would suggest looking at the Python code in the GitHub repositories of the competitive programmers on the Advent of Code leaderboard.

https://adventofcode.com/2022/leaderboard

Most of the programs are unfathomable to my eyes.

I personally don't see any reason to start with Python if the goal is JavaScript. In my opinion switching languages at the beginning of learning how to program is just a confusing stumbling block.

Said another way, it should be possible to easily teach any introductory coding task in JavaScript. Also, if you start with much more than a week of Python, there is a good chance the best students get so proficient at Python that they will find it frustrating to switch.

ame
Posts: 6400
Joined: Sat Aug 18, 2012 1:21 am
Location: New Zealand

Re: Low cost Ethiopia and Kenya programming education

Sun Dec 18, 2022 9:45 pm

ejolson wrote:
Sun Dec 18, 2022 4:49 pm
Simonsallstrom wrote:
Sun Dec 18, 2022 10:35 am
I had a look at Alibaba and it seems possible. So now the question is, should we go for Raspberry Pi 4B with 8gb RAM or the Raspberry Pi 400 with 4gb RAM and a keyboard included?

What are the trade-offs that I should consider when making this choice?
A few months ago the Pi 400 was still available at list price, so much cheaper than the marked up prices for the 4B. It's possible both will be available at list price by Summer 2023, but I have no more information than what I read here.

https://www.raspberrypi.com/news/supply ... good-news/

The advantage of the 4B, in my opinion, is that the keyboard is separate and can easily be replaced if broken. Otherwise, they are the same up to differences in how much RAM memory.
Simonsallstrom wrote:
Sun Dec 18, 2022 10:35 am
Say we want to also introduce the students to JavaScript, and run something like VScode. Is this possible to do with either set up?
I think Node.js works best when the Pi is running a 64-bit operating system. There is now an official 64-bit Raspberry Pi OS as well as Ubuntu and a few others. My understanding is that video drivers and internet-of-things style projects are best with the 32-bit OS, but that the 64-bit OS is well supported.

I'm currently running a 64-bit Linux on my Raspberry Pi 4B. That was needed for the Swift compiler and certain databases. So far I've had no problems.
Simonsallstrom wrote:
Sun Dec 18, 2022 10:35 am
So just to be clear. The process could then be (a) introduce them to programming on the Pi with Python, (b) transition to second-hand laptop where they start to do the MERN fullstack.

Given that we want to maximise targeting efficiency, what I'm thinking is that we can use X number of weeks of Raspberry Pi python coding as a sort of selection layer so as to help us select for the second part (we can't afford that many laptops and staff etc).

How many weeks of Python with Raspberry do you recon would suffice to get a good grasp of which students are suitable for this?

Thoughts on this?
From what I can tell Python is one of the most tricky languages ever created. As an example, I would suggest looking at the Python code in the GitHub repositories of the competitive programmers on the Advent of Code leaderboard.

https://adventofcode.com/2022/leaderboard

Most of the programs are unfathomable to my eyes.

I personally don't see any reason to start with Python if the goal is JavaScript. In my opinion switching languages at the beginning of learning how to program is just a confusing stumbling block.

Said another way, it should be possible to easily teach any introductory coding task in JavaScript. Also, if you start with much more than a week of Python, there is a good chance the best students get so proficient at Python that they will find it frustrating to switch.
Your biases are showing.

Python is an excellent language for learning. JavaScript, err, not so much.
Hmm. What can I put here?

ejolson
Posts: 10525
Joined: Tue Mar 18, 2014 11:47 am

Re: Low cost Ethiopia and Kenya programming education

Sun Dec 18, 2022 10:55 pm

ame wrote:
Sun Dec 18, 2022 9:45 pm
Your biases are showing.

Python is an excellent language for learning. JavaScript, err, not so much.
I don't see anything that would bias one of those two languages over the other for learning. In this case the goal is MERN development which means JavaScript.

If the goal is to learn Python, for example in the context of exploratory data analysis or business analytics, then by all means learn Python.

Return to “Staffroom, classroom and projects”