Conference Paper

Keep Calm and Code on Your Phone: A Pilot of SuaCode, an Online Smartphone-Based Coding Course

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Africa lags behind the rest of the world in terms of digital literacy skills with less than one percent of African children leaving school with basic coding skills. One cause of this gap is poor access to equipment such as computers for teaching and learning. Yet, there is a proliferation of smartphones in Africa. Seeking to leverage this opportunity, we developed SuaCode, an online smartphone-based coding course to teach programming fundamentals to Africans. We designed the course to teach coding in a visual, interactive and fun way through the building of a pong game using Processing (a Java-based programming language). In this work, we describe our experience delivering the course online to 30 Ghanaian high school and college students. At the end of the course, 7 of the 30 students completed the first part of the course, building the pong game. The reflection essays from our students showed that they enjoyed the course and coding on a smartphone was not a barrier to completing the assignments. Improvements such as having more mentors and automated feedback on the coding assignments will improve the quality of the course. Given the difficulty in accessing computers in Africa, our work shows that smartphones can be leveraged to effectively introduce students to programming concepts via an online course. We are excited about the results of this pilot and see the potential to scale the course to eventually bring coding skills within arm's reach of millions across Africa, literally into their palms thereby bridging Africa's digital divide.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... This feedback was due to reasons like small screen sizes, and crashes of the coding app on phones with lower Android versions. In 2018, we adapted the smartphone-based course for delivery as an online course and we ran a pilot with 30 students in Ghana [10]. That pilot showed that students could be introduced to coding on their smartphones via an online course, with improved smartphone-coding experience albeit with some challenges such as a low completion rate of 23% and a need for an automated grading system to reduce the burden on facilitators. ...
... Similar to our past work [10], we hosted and delivered the course using the learning management system, Google Classroom, which was used to deliver the text-based lesson notes (as Google docs), receive assignment submissions and provided a forum for students to post questions and receive answers ( Figure 1). We did not use videos as instruction materials but only lesson notes because Internet data is expensive in Africa, and more so for our target population, students living in Africa [5]. ...
... We used part 1 of our smartphone-based coding curriculum [10]. The curriculum uses the Processing programming language, an open-source, Java-based programming language [27] which was chosen because it enables learning of programming in a fun way since it can be used to easily create visual and interactive programs. ...
Preprint
Full-text available
There is a burgeoning trend of smartphone ownership in Africa due to the low costs of Android smartphones and the global increase in social media usage. Building upon previous works that introduced a smartphone-based coding course to secondary and tertiary students in Ghana via an in-person program and an online course, this work introduced Africans in 37 countries to our online smartphone-based course in 2019. Students in this 8-week course read lesson notes, submitted assignments, collaborated with peers, and facilitators in an online forum and completed open and closed-ended surveys after the course. We performed qualitative and quantitative analyses on the data from the course. Out of the 709 students that applied, 210 were officially admitted to the course after passing the preliminary assignments. And at the end of the course, 72% of the 210 students completed the course. Additionally, students' assignment submissions and self-reports showed an understanding of the programming concepts, with comparable performance between males and females and across educational levels. Also, students mentioned that the lesson notes were easy to understand and they enjoyed the experience of writing code on their smartphones. Moreover, students adequately received help from peers and facilitators in the course forum. Lastly, results of a survey sent to students a year after completing this program showed that they had developed various applications, wrote online tutorials, and learned several tools and technologies. We were successful at introducing coding skills to Africans using smartphones through SuaCode Africa.
... Therefore, in 2017, a smartphone-based coding course was developed in Ghana for an annual summer bootcamp, which was later developed into an online course in 2018 and scaled across the African continent to over 700 students in 2019 [6][7][8] and 2000+ students in 2020 [5]. The smartphone-based course used Processing with the Android Processing Development Environment (APDE) [3] to introduce students to the basic concepts in Processing and graphical programming (Lesson 1), Variables (Lesson 2), Conditionals (Lesson 3) and Functions (Lesson 4) and resulted in the building of a Pong game [3,8]. ...
... Therefore, in 2017, a smartphone-based coding course was developed in Ghana for an annual summer bootcamp, which was later developed into an online course in 2018 and scaled across the African continent to over 700 students in 2019 [6][7][8] and 2000+ students in 2020 [5]. The smartphone-based course used Processing with the Android Processing Development Environment (APDE) [3] to introduce students to the basic concepts in Processing and graphical programming (Lesson 1), Variables (Lesson 2), Conditionals (Lesson 3) and Functions (Lesson 4) and resulted in the building of a Pong game [3,8]. The 72% of students that completed in the 2019 cohort were therefore able to use APDE on their smartphones to produce a functional video game from Processing built into an Android APK at the end of the course. ...
... The curriculum covers four lessons: Basic Concepts in Processing (Lesson 1), Variables (Lesson 2), Conditionals (Lesson 3) and Functions (Lesson 4), and results in the building of a Pong game ( Figure 1) [7,8]. This game has 2 paddles, one for each player and a ball. ...
Preprint
Full-text available
Automatic grading systems have been in existence since the turn of the half-century. Several systems have been developed in the literature with either static analysis and dynamic analysis or a hybrid of both methodologies for computer science courses. This paper presents AutoGrad, a novel portable cross-platform automatic grading system for graphical Processing programs developed on Android smartphones during an online course. AutoGrad uses Processing, which is used in the emerging Interactive Media Arts, and pioneers grading systems utilized outside the sciences to assist tuition in the Arts. It also represents the first system built and tested in an African context across over thirty-five countries across the continent. This paper first explores the design and implementation of AutoGrad. AutoGrad employs APIs to download the assignments from the course platform, performs static and dynamic analysis on the assignment to evaluate the graphical output of the program, and returns the grade and feedback to the student. It then evaluates AutoGrad by analyzing data collected from the two online cohorts of 1000+ students of our SuaCode smartphone-based course. From the analysis and students' feedback, AutoGrad is shown to be adequate for automatic assessment, feedback provision to students, and easy integration for both cloud and standalone usage by reducing the time and effort required in grading the 4 assignments required to complete the course.
... Introductory hands-on courses such as our smartphone-based coding course, Sua-Code [4,5,10] require a lot of support for students to accomplish learning goals. Offering assistance becomes even more challenging in an online course environment which has become important recently because of COVID-19 with students struggling to get answers to questions. ...
Chapter
Introductory hands-on courses such as our smartphone-based coding course, SuaCode require a lot of support for students to accomplish learning goals. Online environments make it even more difficult to get assistance especially more recently because of COVID-19. Given the multilingual context of SuaCode students—learners across 42 African countries that are mostly Anglophone or Francophone—in this work, we developed a bilingual Artificial Intelligence (AI) Teaching Assistant (TA)—Kwame—that provides answers to students’ coding questions from SuaCode courses in English and French. Kwame is a Sentence-BERT (SBERT)-based question-answering (QA) system that we trained and evaluated offline using question-answer pairs created from the course’s quizzes, lesson notes and students’ questions in past cohorts. Kwame finds the paragraph most semantically similar to the question via cosine similarity. We compared the system with TF-IDF and Universal Sentence Encoder. Our results showed that fine-tuning on the course data and returning the top 3 and 5 answers improved the accuracy results. Kwame will make it easy for students to get quick and accurate answers to questions in SuaCode courses.
... Introductory hands-on courses such as our smartphone-based coding courses, SuaCode [1,2] require a lot of support for students to accomplish learning goals. Offering assistance becomes even more challenging in an online course environment which has become important recently because of COVID-19 with students struggling to get answers to questions. ...
Preprint
Full-text available
Introductory hands-on courses such as our smartphone-based coding courses, SuaCode require a lot of support for students to accomplish learning goals. Online environments make it even more difficult to get assistance especially more recently because of COVID-19. Given the multilingual context of our students (learners across 38 African countries), in this work, we developed an AI Teaching Assistant (Kwame) that provides answers to students' coding questions from our SuaCode courses in English and French. Kwame is a Sentence-BERT(SBERT)-based question-answering (QA) system that we trained and evaluated using question-answer pairs created from our course's quizzes and students' questions in past cohorts. It finds the paragraph most semantically similar to the question via cosine similarity. We compared the system with TF-IDF and Universal Sentence Encoder. Our results showed that SBERT performed the worst for the duration of 6 secs per question but the best for accuracy and fine-tuning on our course data improved the result.
Conference Paper
Full-text available
Technological innovation has the potential to speed up development. However, in most African countries the education system is largely theoretical in nature with inadequate attention to STEM education. In effect, students leave school lacking critical skills which are necessary in today's global economy. We developed and implemented a project-based learning program to provide hands on STEM education to 27 high school students in Ghana through which students developed solutions to real-life problems in Ghana's agricultural sector. Our evaluation of the program revealed a statistically significant improvement in students' self-reported proficiency of the innovation process and core coding concepts. All the students reported that they had been inspired to solve problems in their communities and would recommend others to attend the program. Hence, given the results reported here, our program can serve as a tool to introduce high school students to innovation and real-world problem solving. Our Project iSWEST model can be implemented in other African countries to promote a culture of innovation and help catalyze development.
Article
Full-text available
The past two years have seen rapid development of massive open online courses (MOOCs) with the rise of a number of MOOC platforms. The scale of enrolment and participation in the earliest mainstream MOOC courses has garnered a good deal of media attention. However, data about how the enrolment and completion figures have changed since the early courses is not consistently released. This paper seeks to draw together the data that has found its way into the public domain in order to explore factors affecting enrolment and completion. The average MOOC course is found to enroll around 43,000 students, 6.5% of whom complete the course. Enrolment numbers are decreasing over time and are positively correlated with course length. Completion rates are consistent across time, university rank, and total enrolment, but negatively correlated with course length. This study provides a more detailed view of trends in enrolment and completion than was available previously, and a more accurate view of how the MOOC field is developing.
Article
Full-text available
From paper to computers, the way that we have been writing down thoughts and performing symbolic computations has been constantly evolving. Teaching methods closely follow this trend, leveraging existing technology to make teaching more effective and preparing students for their later careers with the available technology. Right now, in 2012, we are in the middle of another technology shift: instead of using PCs and laptops, mobile devices are becoming more prevalent for most everyday computing tasks. In fact, never before in human history were incredibly powerful and versatile computing devices such as smartphones available and adopted so broadly. We propose that computer programming, and thus the teaching of programming, can and should be done directly on the mobile devices themselves, without the need for a separate PC or laptop to write code. Programming on smartphones that we carry around with us at all times means instant gratification for students, as they can show their games and applications to their friends, and it means that students can do their homework or additional practicing at all times. We describe TouchDevelop, a novel mobile programming environment, and call out challenges that need to be overcome and opportunities that it creates.
Article
Full-text available
Games are increasingly being used for education and training in a variety of areas. We are developing a game to teach introductory computer science concepts, called Game2Learn, to increase student motivation and engagement in learning CS1, which are critical for recruiting students into computer science. We evaluated student feedback and performance of initi al prototypes to examine the Game2Learn concept and provide design guidelines for ongoing game development. In this paper, we present the results of this study, which demonstrate that students can have fun programming within a game, and that in-game rewards and punishments are vital to the motivation and potential learning of students.
Conference Paper
Full-text available
Mobile devices such as smartphones are becoming widely used on university campuses, and as the shape of computing is evolving more into a mobile environment, the programmer of the future will need to be aware of special considerations that need to be taken into account when developing applications for mobile devices. These unique considerations will also assist the programmer to look at traditional application development on desktop platforms from a different perspective and apply some of the strategies in mobile application development to this area. This paper introduces a new approach for using mobile devices and mobile application development as a mechanism to teaching introductory programming to computer science, information technology, and computer engineering students. We will explore how the mobile device approach to teaching application development could help students to look at special considerations that must be taken into account when dealing with mobile devices while keeping them interested and excited by being on the forefront of technological changes. We provide sample applications that instructors could use as assignments to integrate into their courses.
Conference Paper
Most learners in resource-constrained environments own mobile phones that they could use to learn programming while outside the classroom. However, limitations of mobile phones, such as small screens and small keypads, impede their use as typical programming environments. This study proposed that programming environments on mobile phones could include scaffolding techniques specifically designed for mobile phones, and designed based on learners' needs. Scaffolding should be designed with some essential techniques that are mandatory for learners to use. Hence, one type of scaffolding technique that was designed to support programming on the mobile phone is static scaffolding that does not fade. Experiments were conducted with 64 learners of programming from three universities in Kenya and South Africa in order to investigate how they used the designed static scaffolding techniques to construct Java programs on a mobile phone. The results show that programming on mobile phones can be supported by providing scaffolding techniques that never fade, in order to address the limitations of mobile phones and to meet learners' needs.
Conference Paper
Introductory programming courses have a specific set of expected outcomes. One of the most often heard complaints in such courses is that they are divorced from the reality of application. Unfortunately, it is difficult to find areas for application that all students have the background knowledge for and that are engaging and challenging. One such area is computer games and we have developed a cohesive CS1 course that provides traditional outcomes from within the context of games as an application area in both the lecture and lab components of the course. This course was piloted as a ten-week distance program for incoming computer science students with the defining features that the program carried no academic credit and offered no end grades. We discuss the overwhelming interest in this course as well as objective and suobjective student experiences. One of the most important outcomes of the summer course was that it brought students with similar interests and goals together. We discuss this and the different ways we have found to discuss computer science course topics from within a games context.
Engaging Students Through Mobile Game Development
  • Stan Kurkovsky
Stan Kurkovsky. 2009. Engaging Students Through Mobile Game Development. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE '09). ACM, New York, NY, USA, 44-48. https://doi.org/10.1145/1508865. 1508881
A Games First Approach to Teaching Introductory Programming
  • Scott Leutenegger
  • Jeffrey Edgington
Scott Leutenegger and Jeffrey Edgington. 2007. A Games First Approach to Teaching Introductory Programming. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '07). ACM, New York, NY, USA, 115-118. https://doi.org/10.1145/1227310.1227352
Africa Skills Gap: Rising To Meet The Digital Challenge
  • Digitalist Magazine
Digitalist Magazine. 2015. Africa Skills Gap: Rising To Meet The Digital Challenge. Retrieved Dec, 2017 from http://www.digitalistmag.com/improving-lives/2015/ 08/19/africa-skills-gap-meet-digital-challenge-03292180
Smartphone penetration, Open Data and less online freedom
  • Vincent Matinde
Vincent Matinde. 2016. Africa 2017: Smartphone penetration, Open Data and less online freedom,. Retrieved Jan, 2019 from https://www.idgconnect.com/idgconnect/ opinion/1022805/africa-2017-smartphone-penetration-online-freedom
Report: Nearly 90 percent of smartphones worldwide run Android
  • Derek Walter
Derek Walter. 2016. Report: Nearly 90 percent of smartphones worldwide run Android. Retrieved Jan, 2019 from https://www.greenbot.com/article/ 3138394/android/report-nearly-90-percent-of-smartphones-worldwide-runandroid.html
International conference on the future of education
  • Wendy Wang
Wendy Wang. 2011. Teaching programming online. International conference on the future of education. In Internation Conference on Future of Education. Florence, Italy.