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.
Ngangsi Richard Akumbo Founder Of Pycon Cameroon Site: http://pyconcameroon.org/ Facebook Page: https://www.facebook.com/girlsneedtech Mobile: (+237)673003303
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.
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
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 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
Advanced Perl Programming
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::ParserProject Schedule
Project Start Date: 30th - November - 2015 Break: 12th - Dec : 2015 to 12th - January - 2016 Project End date: 30th - August - 2016Completeness 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.
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:[email protected]
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.
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.
Web Hosting: This will be used to host student projects on the Internet.
Course Materials: Printing of handout for students.
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