2015-11-16

We have received the following grant application "Women in Technology, Cameroon". Please leave feedback in the comments field by November 27th, 2015. If your comment does not appear in 24 hours, contact me at tpf-grants-secretary at perl-foundation.org.

A project proposal for the promotion of technology entrepreneurs,
providing a technology hub and training the next generation of
technology entrepreneurs by empowering women and girls.

Name:

Ngangsi Richard Akumbo
Founder Of Pycon Cameroon
Site: http://pyconcameroon.org/
Facebook Page: https://www.facebook.com/girlsneedtech
Mobile: (+237)673003303

Amount Requested:

USD 6938

We are Requesting: 4000 USD to be able to quick start the project
since we have very limited resources available to quick start the
project.

We will use this amount to buy the 10 computers,
pay for 4 months Internet services.

Synopsis

History of Pycon Cameroon

Pycon Cameroon is a non-profit organization that was founded by Ngangsi Richard Akumbo purposefully to tackle most of the crumbling blogs and issues we face here in Cameroon and Africa. Pycon Cameroon was an independent project form to tackle the technology sector in Cameroon. Pycon Cameroon started up in 14th December 2014. During this first session we held a two days workshop on an introduction in to computer programming using the python programming language. This workshop was to create awareness among women and girls on the essence of computer programming. The workshop lasted for two days. We had an introduction into computer sciences and programming using python programming language. Computer programming is a very rare assert within the society i come from.

In August 2015 we launched a one month program where we trained women and girls on the introduction into Computer sciences using the python programming language. The course was attended by many women and girls in the city of Bamenda. Bamenda is a thriving city in the North west region of Cameroon. Its population is made up of age group ranging from 18 to 30 years old. It is vastly populated by young people. Bamenda is one of the English section of Cameroon since Cameroon is a bilingual country and we represent the minority in the republic of Cameroon. We have less opportunities and the people are in serious hardship because 99% of the government positions in the country is occupied by the French Cameroonians (Franco-phones). So development really does not come that much in our province.

Number of organisation Members: 3
Number of full-time employees: 2
Funding Sources:

Python Software Foundation
PO Box 37
Wolfeboro Falls, NH 03896-0037
USA
https://www.python.org/psf/

Benefits to the Perl Community

Firstly this project will begin a new community of Perl developers in Cameroon. The project will
increase the amount of Perl developers. It will help to participate in the core development of perl programming
when need be. More projects will be developed using the Perl programing language. The project will also help
participate in the mailing list of Perl. More Apps will be built using the Perl programming language
because of an increase in the community of Perl Developers.

Deliverables

There will we a weekly report that will be sent to the Perl Foundation including details of what is going on with the project and at what stage that we have arrived, the difficulties and the progress which will be made. This report will include videos and pictures with detail account of every progress of the project.

Project Details

INFORMATION ON THE PROJECT PROPOSAL
History of ICT & Internet in Cameroon

In 1996 Internet began to be regularly mentioned in the speeches of Cameroonian officials. The project was to be handle by three large state structures in Cameroon namely, National Informatics Center (Cenadi) and Intelcam (International Telecommunications Company ), for the management point (Cameroon). Intel-cam is chosen, which becomes CAMTEL (Cameroon Telecommunications) three years later.

February 1997 Cameroonian Prime Minister Peter Mafany Musonge inaugurates cm node in Yaounde. We saw the arrival of the Internet in Cameroon with an American firm, ATT.

September 1997 the first private cafe moved to Douala, the Web cafe , this was a work of a Cameroonian engineer residing in the United States of America. March 1999 a private operator, Jean Adolphe Ngangue Nseke, installs its own antenna in Douala, with the help of Canadians.

April 1999 Cameroon signed an agreement with Teleglobe (http://www.teleglobe.ca/), a Canadian company, which installs a second channel of arrival of the Internet in the country in Douala. The people of the economic capital grow a sigh of relief, those who were forced to go through Yaounde, with what it entails technical difficulties. The Internet takes off in Douala.

Since the coming of the Internet, until date Cameroonian still depend largely on traditional media solutions like the press, new-papers, radio and television. Very few information is found about Cameroon on the Internet because of the lack of knowledge in this sector.

In the 2005 there were huge problems with poor Internet connectivity from the Internet providers in Cameroon and very few people could visit the Internet because it was very costly to afford an hour on the Internet and they did lack the knowledge it required on how and why to use the Internet and Internet technologies. We are today in the year 2015 and that situation has not changed very much.

In 2003 ICT was officially introduced into education and only became effective in 2010. The cyber project was launched by the government to target two sectors: secondary and tertiary education. Primary schools are not yet included. There has also been establishment of multimedia centers in Universities, professional and technological institutions and some government secondary schools.

But this project has been heavily reliant of external funding sources. Thus putting the sustainability into question. Moreover government schools have poor purchasing power and thus and most of the budget allocated for the funding of this projects in school is usually end up in the private pockets of school authorities. Most of the computers used in Schools are donated and most often the computers don't last and the schools will hardly allocate budget for repairs of this devices. Most private schools have not been involve in to ICT because of the cost of management and inadequate and qualified professionals to handle the sector and this has been created a serious gap with more more private schools opening every year in Cameroon. Most of the on line resources accessible through the government secondary schools leaning platforms are all in French , thus providing handicap for the English speaking Cameroon.

But most of this resources are found on line but since these schools don't have Internet access at schools it creates a serious problem to the learning process.

Looking at the socio economic situation in Cameroon, we have the following chart depicting the situation we have on ground.

Indicator

Area ----------------->>> 475,442 square kilometer
GDP(2014) --------------->>>> $53.16 billion
Official Languages ----->>>> French & English
French speaking --------->>> 75%
English speaking -------->>>> 25%

According to research ICT Africa in a report posted in 2012 about the ICT implementations in Cameroon not much has been done and Cameroon is still very far back behind as far as information technologies is concern. According the research ICT Africa they made a survey on 10 African countries on ICT AND basic computer skills, Cameroon came out to be the lowest ans was ranked number 130th place.

The ICT sector generated gross revenue of FCFA426billion in 2010, a growth of 7.7% over 2009. This makes ICT one of the most dynamic branches of the tertiary sector in Cameroon. But yet more businesses are not using basic computers to run their businesses, many people have no knowledge about computers and they often look at it to be time consuming for them. Students go through school and come out without ever know the how to use a computer.

This table poses a very big problem on Internet and technology within the country Cameroon. Many people are still very naive about computers and the need for the Internet. This figures have not changed much as of date and the problem is still there. By addressing and tackling this problems, we decided to come up with this project proposal to help solve this problems.

Needs and Purpose of This project

The gap between men and women in the field of technology keeps increasing in Cameroon. 95% of girls and women within my community consider computer and technology as a profession meant for men. Our communities are continuously facing major problems which can only be tackle by technology but we lack the skills to put this kinds of solution into action. Most of the institution don't offer computer programming courses and even those who offer don't own a computer lab and they end up teaching them theory making the students never able to use the skills they have acquired. 80% of students in my community and Cameroon, go through school and come out having a degree without ever having any thing to do with a computer. There are increasing problems faced by the communities that can be tackle by technology but we lack the entrepreneur skills and the technology knowhow to tackle this problems. The need for young people to express their ideas and fix problems within the community but lack the support to make their ideas come to live. 99% of all government offices are still dependent on very old traditional system of governance with no computer and software to tackle major problems. Many business people loosing money in their business because they lack the technology solutions to better manage their business.

Program Goals, Objectives and Outcome

Goals

The main goals of this project is as listed below.
1. We are working hard to close the gender gap in technology by encouraging more girls and women to learn how to read and write computer code.
2. We are training girls and women the basics to advance programming for free enabling them to have the ability to build application by the end of the training.
3. We are providing a technology innovation hub center were young people in the communities can come together, share ideas, build projects from scratch and start new companies.

Objectives
1. Train Girls with the skills of Computer programming using the Perl programming language.

The following activities will be carried out during this course. There will be a two instructors who will take this course for a period of 8 months. Namely Ngangsi Richard Akumbo will take the Perl programming mean while Nfor Yembe will take the web development courses like HTML, CSS & JavaScript. Lectures will last for 4 hours a day, after which students will be given time do some practice on what they have studied for that day. Classes will begin from 8 am to 2pm. We are anticipating to accommodate at least 50 students for this session with a 25 computers available and two students per computer.

The courses will be held from Monday to Friday. The two instructor will spend 5 hours a day for lecture which will round up to 50 hours a week for two instructors. The requirement for this course will be for less privileged girls and women with a minimum of A-level and who are willing to go into the field of programming.

Initial time line for implementation

Perl Programming Language Basics

Period
Basics to Intermediate

Four Months
Chapter 1: Getting Started with Perl
1. What is Perl?
2. Where Can I Get Perl?
3. A Simple Perl Program
4. Simple I/O
5. Perl Variables
6. Control Flow - Decisions
7. Control Flow - Loops
8. Altering Loop Control Flow
9. Statement Modifiers
10. What Is True And What Is False?
11. The Special Variable $_
Chapter 2: Perl Operators
1. Introduction
2. Table Of Perl Operators
3. Arithmetic Operators
4. String Operators
5. Relational Operators
6. Logical Operators
7. Bitwise Operators
8. Assignment Operators
9. The Conditional Operator
10. Range Operator
11. String Functions
12. The eval Function
Chapter 3: I/O
1. Introduction
2. String Literals
3. The print Function
4. Here Documents
5. The printf Function
6. The sprintf Function
7. File handles
8. Opening Disk Files
9. File Open Errors
10. The die and warn Functions
11. File Operators
Chapter 4: Arrays
1. Basic Concepts
2. Assigning Values To An Array
3. Accessing Array Elements
4. Array Functions
5. push and pop
6. shift
7. sort, reverse, and chop
8. split and join
9. grep
10. splice
11. Command Line Arguments
Chapter 5: Associative Arrays
1. Basic Concepts
2. Associative Array Functions
3. Updating Associative Arrays
4. Accessing Environment Variables
Chapter 6: Subroutines
1. Calling Subroutines
2. Passing Arguments to Subroutines
3. Returning Values from Subroutines
4. The require Function
5. Packages and Modules
6. The @INC Array
7. Predefined Subroutines
8. Comparison Subroutines for Sorting
Chapter 7: Pattern Matching and Regular Expressions
1. Introduction
2. Regular Expression Syntax
3. The Match Operator
4. Regular Expression Meta-Characters
5. Anchors
6. Single Character Matches
7. Some Special Issues
8. Character Classes
9. Multiple Character Matches
10. Alternation
11. The Substitution Operator
12. The Translation Operator
Chapter 8: Accessing System Resources
1. Introduction
2. File and Directory System Calls
3. The stat Function
4. The utime Function
5. The fork Function
6. The exec and wait Functions
7. Handling Signals
8. The system Function
9. Command Substitution
10. Opening Pipe Files
Chapter 9: Generating Reports with Perl
1. Formats
2. Formatting Examples
3. Multi-Line Values
4. Multi-Line Text Blocks
5. Sending a Report to a File
6. The select Function
7. The Special Variable $~
8. Top-of-Page Formats
9. Bottom-of-Page Formats
10. A Sample Report
Chapter 10: Perl and CGI
1. What is CGI?
2. Web Servers and Browsers
3. HTML
4. HTML Forms
5. Form Elements
6. A Typical CGI Application
7. CGI Input
8. CGI Output
9. Using the CGI.pm Module
10. CGI Environment Variables

Four Months

Advanced Perl Programming

Course Description:

The course begins with a thorough treatment of packages, modules, and libraries. Next, Perl references are studied. This gives students the necessary background to write object-oriented Perl. Various applications and areas that use object orientation are studied next. These modules include the Tk.pm module for building Graphical User Interfaces, the DBI.pm module, which provides a portable way of querying databases, the CGI.pm module for writing CGI programs, and the Socket.pm module used in client server networking applications. Finally a treatment of XML and Perl is undertaken.

Benefits of Attendance:

Upon completion of this course, students will be able to:
Download, install, and use modules from the Comprehensive Perl Archive Network (CPAN).
Use the modules in the Standard Perl Distribution.
Write POD (Plain Old Documentation) sections of Perl modules.
Use Perl references to solve many programming problems including those problems involving arbitrarily complex data structures.
Distinguish among packages, modules, libraries, and classes and use each one effectively.
Write client/server applications using the Socket.pm module.
Write Graphical User Interfaces (GUIs) using the Tk.pm module.
Write Perl CGI (Common Gateway Interface) scripts.
Write Perl applications that make queries to real databases through the use of the DBI.pm module.
Write Perl applications that produce and process XML documents.
Period

Chapter 1: What You Should Already Know
1. Introduction
2. A Quick Review of Perl
3. Perl Libraries
4. The Standard Perl Library
5. Packages
6. Modules
7. Using .pm Modules
8. Exporter.pm
9. Standard Perl Modules
10. Comprehensive Perl Archive Network (CPAN)
11. Roman.pm
12. Miscellaneous Perl Topics - wantarray
Chapter 2: Associative Arrays
1. Introduction
2. Associative Arrays as Dual Arrays
3. A Hashing Algorithm
4. Collisions
5. Associative Arrays
6. Sorting by Keys or Values
7. Finding Unique Tokens in a File
8. Reverse Lookups
9. Selecting the Top n Elements
Chapter 3: References
1. Introduction
2. Summary of References
3. Array References
4. Anonymous Arrays
5. Anonymous Hashes
6. Prototypes
7. Higher Dimensional Arrays
8. Complex Hashes
9. References and Subroutines
10. Anonymous Subroutines
11. Lists of References
Chapter 4: Object-Oriented Programming
1. Introduction
2. Object-Oriented Vocabulary
3. The class Definition
4. Defining and Using Objects
5. Information Hiding
6. Instance Methods
7. Destructors
8. Class Methods
9. Inheritance
10. Polymorphism
11. Documenting Perl Code
12. IO.pm
Chapter 5: The TK.PM Module
1. Introduction
2. Event Driven Programming
3. Geometry Management
4. pack()
5. grid()
6. grid()Options
7. place(): Absolute Coordinates
8. place(): Relative Coordinates
9. The Label Widget
10. The Button Widget
11. The Checkbutton Widget
12. The Radiobutton Widget
13. The Dialog Widget
14. Text Input Widgets
15. The Listbox Widget
16. Menus
17. Frames
18. Toplevel Widgets
19. Bind
Chapter 6: Client-Server Applications and CGI
1. Introduction
2. Internet Terminology
3. Data Delivery
4. Writing a Simple Client
5. Writing a Simple Server
6. Writing an Iterative Server
7. ftp
8. The Common Gateway Interface
9. HTML Forms
10. The CGI Environment
11. Administering the Server
12. The HTTP Protocol
13. Header Information
14. The CGI Script
15. Extracting Form Data
16. The CGI Response
17. CGI Output
18. Database Access
19. What Can Go Wrong?
20. Images
21. Extra Path Information
Chapter 7: CGI.pm
1. Using CGI.pm?
2. Simple Form Elements
3. Parameters
4. HTML Tags
5. Form Processing
6. checkbox_group and radio_group
7. Text Areas
8. Popup Menus and Scrolling Lists
9. Debugging
Chapter 8: Accessing Real Databases in Perl
1. Introduction
2. Architecture
3. Review of SQL
4. Accessing Databases from Perl
5. Executing a Query in Perl
6. Accessing Database Meta data
7. Interactive Requests
8. Adding a Graphical Front-End
9. Accessing a Real Database via a Web Form
Chapter 9: XML Fundamentals
1. Introduction
2. What is a Markup Language?
3. SGML vs. HTML
4. Sample HTML Document
5. XML
6. Creating Semantic Tags
7. XML Syntax
8. Elements
9. Attributes
10. Comments
11. Unicode and Character Sets
12. Character References
13. Entity References
14. Character Data Sections (CDATA)
15. Processing Instructions
16. Parsing XML
Chapter 10: Processing XML With Perl
1. Creating an XML Document With Perl
2. Creating an XML Document
3. Using an XML Parser
4. XML::Simple
5. XML::Parser

Project Schedule

Project Start Date: 30th - November - 2015
Break: 12th - Dec : 2015 to 12th - January - 2016
Project End date: 30th - August - 2016

Completeness Criteria

During the course program, we will be giving the students exercises on a daily bases on any of the topic they have treated for that day. We will evaluate the exercises before the start of each class which will better help us track the progress of our program. And at the end of each class these exercises will be sent to the Perl Foundation included in a weekly report.

Also at the end of the program the students will be divided in a group of five to come up with a final project that is actually solving a real problem within the community using the Perl programming language. Based on the result of this final project will determine the progress of the course and the achievement made. The project developed by the students will be evaluated by the perl foundation.

Impact

The number of girls and women this project will impact in one year will be about 60 girls and women for the eight months project we will run. But with a long term impact this project will benefit about 5000 girls and women in a period of 6 years.

Biography

I was born in Cameroon, Central Africa. The only African country where English and French are spoken
as the official language. I went to high school and started getting exposed to computers when i visited
one of my uncles who was very rich. I will seat in front of the computer the whole day just clicking things
and don't actually know what i was doing. I spend much of my time trying to learn the computer. At the time
it was running on windows 2000. After High school i was home for 2 years doing nothing.

In 2009 i left Cameroon for Germany to go and study Computer Sciences at the Rhein Waal University of Applied
Sciences. Rhein waal at the time was the only German university offering undergraduate courses in english.
It is situated in a town called Kleve and it is 30 min drive into Holland.

Before even starting university, in Germany. I did some home studies and obtained some certifications like
cisco CCNA, CCNP, and Microsoft certifications like MCITP.

I studied Computer sciences for just 5 semester after which i had financial problems. I was not able to pay
my fees and the only way i could continue was to prove to the immigration that i could pay my school fees before my student
visa could be extended.

I had no other choice other than coming back to my Country Cameroon. When i came back i was working heavily
on python programming because i wanted to start a software company here in my country. I started working for
a small IT firm Called Yems Group, http://www.yemsgroupinc.com/. I worked with yems group for 7 months after
which i started an organization called Pycon Cameroon to teach girls and women computer programming. During this period i was also heavily working
piratical experience with Perl Programming for more than 6 months.

I have been working with Perl, css, html, java and python programming which i use to teach in my programming courses.

I think i have the ability to handle this project because i love what i do and i do it even at my free time.

Name: Ngangsi Richard Akumbo
Skype: ngangsi.richard
Sites: http://pyconcameroon.org/
Email: ngangsia@gmail.com

The risk we face in this project for it complete implementation and execution is the lack of required resources
to make this project a reality.

Budget Proposal

Desktop: We have only 15 desktops computers available. So we will need an additional 10 more to be able to accommodate
as much as 50 students with 2 students per computer.

Internet Services: The price for the Internet services is OK because we will be connecting 25 computers to a single
Internet modem. So we are paying a little bit higher because we will require a dedicated 1mb bandwidth connection
to carry 25 desktops computers.

Staff Salary: The salary will be responsible for paying the course instructor, Nfor Yembe who will be teaching the
web development courses like HTML, CSS, and JavaScript.

Web Hosting: This will be used to host student projects on the Internet.

Course Materials: Printing of handout for students.

Products USD($)

Desktops Computers 10 x $300/pc = 3000
Internet Services 8 months x $250 = 2000
Staff Salary 8 months x 100/month = 800
Web Hosting 12 months = 150
Course Material 8 months = 500
white board marker 8 months x $1 = 8
Elecctricity 8 months x $60 = 480

Total = 6938

Show more