A Project-Based Coding Academy for Africa
Africa Code Academy
was formed with the fundamental belief in the power of Africa (and its people) to shape its own future.
Our aim is to develop local talent to train and lead the next generation of developers to lead this revolution.
Technical and vocational education and training have not been a top priority for many African countries. In 2012, technical and vocational programs accounted for only 6 percent of total secondary enrolment in the region, a slight drop from 7 percent in 1999.
Engineering Residency Program
Geared for trained programmers, the ACA Distributed Engineering Residency Program is modeled as a real-world distributed startup development team. Participating developers will go through a 16 weeks program in two distinct phases. The first phase is a month-long instructional and evaluation phase, followed by an intensive development phase where participants deliver real software.
This program serves as a bridge to employment for students and graduates while providing an opportunity to hone and develop real-world software engineering skills through a virtual software startup environment.
We guide developers through a full range of engineering best practices and techniques used by any world-class engineers as they design and develop real software.
We also seek to work with local corporations and government agencies to place graduates into real jobs upon successfully completing the program.
Unique Class Organization
A learning environment that mirrors a real company
Every class at ACA is organized like a software company and taught by instructors or Engineers in Residence who themselves could be alumni of the program. Companies are comprised of 15-20 Devs) who work together on projects in ad hoc teams of 2-3.
In order to graduate from the session, devs work collectively toward personal, team and company goals that are determined at the beginning of the session.
- Sessions lead by Engineers in Residence
- Assisted by 3 teaching assistants or Project Managers
- First day: Devs choose the company name, logo and vision
- First project: build company homepage
Project-Based Learning
Learn by solving problems using key programming concepts
Over the course, our 10-15 week sessions, ACA’s curriculum is based around Projects and broken up into 1-2 week sprints. At the beginning of each sprint, Devs are presented with a problem requiring the use of key programming concepts to solve.
While the goal is to find the solution it is also to learn the process of investigation by breaking down problems into smaller manageable pieces. Teams are required to work together on projects designs to span multiple sprints.
- Lectures once a week, rest of week devoted to projects
- Daily morning ‘standup’ meeting to share goals and progress
- The final project represents the culmination of Dev’s work
- Demo Day consist of Project presentation and of course, a party!
Training, Retention, and Replication
Attracting talent and nurturing from within
One of the crucial challenges for any company is to attract and retain top talent. In the case of the ACA, we have the unique ability to not just attract, but to directly develop talent from within.
We intentionally refer to lead instructors as ‘Engineers in Residence’ (EiR) because they play a key role in designing and developing the platform from within the school itself. This continuous development of code contributes to the meaningful advancement of the platform for future classes.
- Top students offered assistant or Project Manager positions
- Project Managers will, in turn, be offered EiR positions
- Virtuous circle helps propel school growth and aids autonomy
- New academies can be established in other areas
Devs Help Build The Platform
The platform itself is used, developed and improved by students
- Enhancements to the platform can be proposed by Devs
- EiRs can decide whether to include enhancements
- Validate learning key concepts by actually adding to the platform
01100110
01110010
01101001
01100011
01100001
01000011 01101111 01100100 01100101
01000001 01100011 01100001 01100100 01100101 01101101 01111001