API Development

Appcelerator in Afghanistan: Code to Inspire

Fereshteh Forough is the Founder and President of Code to Inspire, an after-school coding program for girls based in Herat, Afghanistan. She started Code to Inspire in 2015 with the goal of teaching programming skills to female students between the ages of 15 and 25, opening up financial and social opportunities they wouldn’t otherwise have.

Now that the school’s first 50 students have graduated, we spoke to Forough, who is currently based in New York, and Aalam Daneshyar, a mentor at Code to Inspire (CTI). They discussed the early days of CTI, the impressive work its students have completed, and why CTI uses Appcelerator Titanium for its Mobile Applications class to help these girls become leading members of Afghanistan’s growing tech community.

What prompted you to start Code to Inspire?

Fereshteh Forough: I was born and raised as an Afghan refugee in Iran during the Soviet invasion of Afghanistan. After I graduated from high school and after the fall of the Taliban, my family and I moved to Herat, Afghanistan where I was able to get my Bachelor’s degree in Computer Science. Later, I earned my Master’s in Computer Science from Technical University of Berlin in Germany. I spent three years as a professor in Computer Science at Herat University.

Throughout my education in technology, I experienced hardships as both a student and teacher. I established Code to Inspire two years ago to lessen those hardships for the next generation of Afghan women. At Code to Inspire, we aim to use Afghanistan’s growing tech industry to advance the economic and social position of women.

Courses in coding, access to technological and professional resources, and job placement will enable CTI students to gain employment where they can become financially independent while staying within social norms for women in Afghanistan.

In areas where women’s travel can be heavily restricted, the ability to work remotely is a key tool in the push for equality. The access to the wealth of the global tech economy that our education provides enables CTI students to add unique value to their households and their communities. It challenges the traditional gender roles in Afghanistan with the best argument out there: results.

Can you talk about the early days of Code to Inspire? What were some of the challenges of getting the program up and running?

FF: I faced many challenges, starting from the first day I thought about making this happen. I wanted to start a school that girls could join without worrying about security and cultural barriers — that is no easy feat. Preparing the right papers and documents here in New York to operate as a non-profit and to raise the funds needed for our coding school were also huge tasks.

Despite the challenges, I grow more persistent and more energized, because every day I learn something new and meet inspiring people who are willing to share their knowledge. It gives me hope to know that, as a direct result of my work, 50 girls in Afghanistan are learning and growing everyday.

How are students selected for the program?

FF: There is an initial entrance exam for the students. We evaluate their basic English skills and computer literacy. Those who pass the first exam are then interviewed by our mentors in Afghanistan. Then, we assign them to one of our classes.

For your Mobile Application class, how did you decide which framework to use?

Aalam Daneshyar: We decided to select an environment that makes the mobile development process easy. That’s why we decided to go for a cross-platform framework. After investigating a number of different frameworks (such as Appcelerator, PhoneGap, Xamarin, ionic, Sencha, etc.), I found that Appcelerator to be the ideal framework.

I chose Appcelerator because it’s open-source and JavaScript-based with thousands of APIs for various platforms (including Android, iOS and Windows Phone), allowing us to re-use over 90% of the same code.

Can you describe your approach to teaching Titanium and what the experience has been like?

AD: I started by teaching “Classic” Titanium to my students. Following the Appcelerator documentation and other resources online, I have taught basic concepts, including ImageView, Button, TextField, TextArea, Tabs and TabGroups, ScrollView, ScrollableView, Dialogs, TableView, Sound, AudioPlayer, Files, Slider, ProgressBar, Android ActionBar, and providing images for different screen sizes. The topics have been covered either individually or within one of the three projects: Calculator, Music Player or Text File.

What has been the feedback from students on using Titanium?

AD: As they have already studied technologies like JavaScript, working with Appcelerator has been quite easy and engaging. They think Appcelerator is a very cool and productive framework that saves the programmer a lot of time. For those just starting out on Appcelerator, I would recommend that they have a good understanding of XML and JavaScript.

What have been your biggest successes since starting Code to Inspire?

FF: We are teaching 50 girls from local high schools coding in a safe and joyful educational environment. These girls, the majority of whom hadn’t even touched a computer and didn’t even know what a keyboard looked like, can now code in HTML, CSS, JS and create web pages. That’s my biggest success — that amazing growth the girls have experienced.

What apps have students created so far?

FF: Our students have started to build their first real projects, including an app to introduce the faculty and departments of Herat University, a music player, a unit converter, and guides to Afghan foods, traffic signs and herbal medicines.

After working with “Classic” Titanium, you’re moving to Alloy next. What benefits do you see using Alloy? Are there other Platform features you plan to introduce?

AD: With Alloy, we can separate our user interface from the business logic, using a Model View Controller (MVC) pattern. This leads to cleaner, more efficient, more maintainable code. Furthermore, Alloy allows for Widgets, making the reusability of components much easier across projects. As the class goes on, we will definitely want to also use Arrow and App Designer.

Now that your first class has graduated, in what ways did you see the students grow?

FF: We prepared our students for the job market with the professional skills they need to succeed. We taught them how to navigate freelance platforms, how to develop a social media presence, write a resume, compile a portfolio, and work in a professional setting. Several classes in the first program were devoted to learning about the job market and preparing to succeed there.

Here are a few accomplishments of the CTI students: