Only 1 in 10 students in Zimbabwe have ever used a computer. One of our group members is from Zimbabwe and growing up, she also never had access to a computer. After starting her undergraduate education in the US, she volunteers her time to mentor students back home on how to code. We decided to make a learning platform to streamline resources for students in Zimbabwe, who may not have had exposure to coding.
What it does
Dzidza (translates to 'Learn') Code consolidates resources for students to learn how to code Python independently by scraping publicly available textbooks and coding practice sites. Another great feature is how it connects volunteering mentors across the world to students in Zimbabwe through online chatting and access to student progress.
How we built it
We used bootstrap for the stylistic elements and convey important information for how to code in Python. Flask and Python were used to send and receive information such as user registration and login. We also used Python to create code to web scrape for online resources.
Challenges we ran into
We were very eager to create this educational platform for students to learn how to code and had many ideas that could facilitate the teaching process, such as scraping the web for publicly available textbooks, setting up a chat for students and mentors, creating our own problems to check for correct output. We ran into many configurational errors that were introduced by changes in GitHub.
Accomplishments that we're proud of
DzidzaCode successfully consolidated resources for students to utilize in their own time and a great Home page to show visitors what we are about. We also have a functioning Register/Login system for students and mentors to make their accounts. We also were able to make web scraping code for textbooks, but were limited to websites that permit scraping.
What we learned
We learned how to better communicate and collaborate with one another using gitHub and gitBash to update our files. We expanded our web development skills to implement Bootstrap and Flask, and learned new framework code using both platforms.
What's next for DzidzaCode
- Set up of mentor-mentee matching service and communication channels.
- Allow mentors to create their own assignments and auto-grading by running the submitted programs through a server.
- Automatic scraping of greater online resources to expand our collection of online textbooks and sites.