Ghana Summer 2012 Blog

University of Ghana, Legon
June 18, 2012 to Aug. 3, 2012

Django and decks

Alessondra Springmann

July 13, 2012

AITI technical lectures are so much fun: this is my first time learning about web frameworks, and it's immediately apparent how powerful these concepts are.  I wish Django had existed when I was in high school!

The students have gone from building Heroku-powered blogs to creating commeting systems with HTML forums.  Databases are so cool!  They're even dabbling in Bootstrap to do the dirty work of CSS for them.  Some have a really good sense of color.  Some are creating sites that are magenta, cyan, and lime green.  Ah well!  Everyone has a functional blog.

Their business pitch compeition is on Wednesday of next week.  Final ideas have been finalized.  (Tautological cat is tautological.)  Slide decks are being created.  (Does the term "deck" originate from HyperCard?)  

Two very interesting companies sent guest speakers to our classroom this week: Techno, a Chinese mobile handset maker, and Tigo, a mobile telecom operator.  Techno pretty much just gave a marketing pitch for their phones (some have slots for up to FOUR SIM CARDS, how wild is that?!), but the students asked really good questions: "In Ghana, Chinese products are generally perceived as fake or cheap.  How did you overcome that attitude?"  A colleague of a former roommate of mine, now at Tigo, completely hit the ball out of the park with a talk on how engineers can become effective managers.  He stressed the importance of "know[ing] thyself" and communication.  Selorm was highly engaging and got students up to practice various communication scenarios with him.  

We've been meeting with some great folks involved in the mobile entrepreneurship community in Accra.  If they're not able to help us, they're more than happy to provide other contacts.  I wish we were here for more than seven weeks to follow up with all the names and companies!  I think our best bets for forming partnerships to support our students' ideas and potential companies are with Mobile Friday (MFriday) and Mobile Monday (which meets on FRIDAYS at the Advanced Information Technology Institute Kofi Annan Centre for Excellence, AITI-KACE... no that's not at all confusing), two organizations that encourage students to develop mobile apps.  Even if MIT instructors aren't here year-round, hopefully these groups can help foster the community and continued desire necessary for our participants to keep working on their startups.

I'm home sick with something that is graciously not malaria.  The students knew something was up this week when the usually "energetic" Sondy seemed to lack the ability to stay awake for the entire day.  I'd like to credit the health care system here or even modern medicine for helping me get better, but resting, not eating anything, and drinking water seem to be the cure for I Can't Believe It's Not Malaria™.  If you're wondering why this post is shorter and less detailed than usual, there you have it.  Just like fufu and coconuts, tropical maladies seem to be part of the experience and adventure here.  Always something new and exciting, though honestly I'd prefer new foods to this...

Can you Django?

Alessondra Springmann

July 9, 2012

We're starting our fourth week. Aooooooooooooooo!

Last week was a blast: we started teaching the students Django, a web framework for Python. A lot of the participants had been well-versed in relational database theory through their university classes; very few had actually written a website. A testament to both their ability to apply theory in practice and to the ease of using Django, within a couple of hours the entire class had functioning blog platforms using Django. Rock on!

Django hasn't just been fun and CMSes, or a way to teach about models and databases: it's also been a tool for teaching the model-view-controller paradigm of software construction. I'm a firm believer in the power of modularity, and this is a great way to show, and not just tell, about the power of MVC when it comes to building large pieces of complex software.

Last Wednesday was our elevator pitch competition! We had three judges, all Meltwater Entrepreneurship School of Technology alumni, giving feedback to our 40 students in three "heats" of elimination rounds. They've come a long way since the first day of the program. The judges, Edward, PK, and Isaac, all gave really helpful feedback not just in terms of the pitch presentation but in terms of idea potential and whether it'd attract funding.

PK's company, First Capital Plus, furnished our winners with t-shirts, pens, and umbrellas. Thank you, PK! Our winner, Gifty, had just finished a round of laryngitis; imagine what she could do with full command of her voice!

Today, LiAn assembled a panel of program alumni to speak on their experiences in the last year since they finished AITI. They emphasized sticking with programming even if it was hard, working in teams with people who challenge your ideas, and how fantastic git is when it comes to collaboratively working on software development.

This week the focus is on writing, in preparation for business plan crafting. We have a range of writing skills present; I am a firm believer than engineers should be given the opportunities to learn how to be effective communicators and to make the process fun. If when I leave here our alumni can use commas and not type "ma" when they mean "my", I'll declare the summer a success.

Over the weekend, the instructors all trundled out the door to visit Koforidua, a town in the mountains about two hours north from here by minibus. The road wound through ridges and through dense forests to Koforidua, a former bead market town. We visited the twin streams of Boti Falls, then hiked for about 45 minutes to a rock shaped like an umbrella and a three-headed palm tree. Moseying down the road, we encountered a band of children who took us to their school, three rooms for 150 students open to the air under a tree.

Continuing down the road, we came across Akaa Falls, superior in many ways to Boti Falls. Most importantly, the trail was clean of those ubiquitous plastic water sachets and other debris, and the cost of admissions was half of that at Boti.

The caretaker at Akaa, Darko, is a gem of a man. We we first approached the falls, none of the other instructors wanted to visit, having already paid 10 GHS to enter Boti Falls.  I'd heard the rock formations were interesting, so paid the 5 GHS to enter Akaa and moseyed down the trail.  Apparently Jovana, Louis, and LiAn were convinced, so Darko seemed really pleased that my 5 GHS quickly turned into 20 GHS for the park.  When I returned up the trail, I asked if I could buy sachets of water from him.  He brought back four and I asked if I could pay him for the sachets; he said no. He seemed very considerate and said he cleaned the path to the falls regularly; I promised I'd tell more people to visit the area to bring him more business.

Currency here is interesting: while 1 GHS is worth $0.50 according to current exchange rates, it seems to buy about $1-2 worth of goods or services, ranging from park entrance fees, laundry, or most importantly, food.

Yesterday I met up with some MIT friends and went rock climbing north of the Shai Hills.  My Course 12 background is coming in handy: I identified semiprecious garnets embedded in the granite rocks, in veins of crisscrossing quartz.  The caretaker there sold me the huge mangos that are usually 2 GHS each in the markets; here I paid 1 GHS each and came back with five. I did the math and if current trends continue, I'll eat 25 pounds of mango by the end of the summer. Question is, will I turn bright orange or be able to see in the dark from the beta-carotene?

The Meltwater Entrepreneurial School of Technology and a coconut named Kofi

Alessondra Springmann

July 3, 2012

We visited the Meltwater Entrepreneurial School of Technology on Friday, as well as their startup incubator, two houses connected by a rope bridge over a creek.  Home to a handful of startups, MEST serves meals throughout the day, provides broadband, power, and a "family" for entrepreneurs looking for a strong grounding in web frameworks, marketing, and networking in Ghana and beyond.  Louis remarked that the facilities were inspiring him to want to sit down and "hack on some project code".  This is the perfect environment in which to develop a startup.

TechCrunch did a good job of covering MEST's projects and successes; I'll cover our visit.  Edward Tagoe of Nandimobile was our host, first showing us this suspension bridge across the creek separating MEST from the incubator run by Meltwater, MINC.  Both metaphoric and literal, the bridge was designed and built by MEST students.  Once they graduate from MEST, some students cross the bridge on to the incubator program run by Meltwater.

MEST's focus is not just on developing apps and startups for Ghana, or even Africa: their companies have an international focus.  Regardless of where you are in the world, talent is talent; just because Ghana lacks consistent network connectivity or power should not prevent its citizens from making world-class companies.  RetailTower, for instance, works with Amazon, yet, the difficulties of having a company in Ghana become apparent when you start trying to do financial transactions and the first thing people associate with your country is massive credit card fraud.  The more companies from Ghana that become successful and demonstrate integrity in financial dealings, the better it will be overall for future companies from Ghana.  Shame that a few rotten apples (mangoes?) have made it rather difficult for the rest of the barrel (bag?) to be successful.

In addition to two fantastic houses with lecture halls, rooms for companies, kitchens, living rooms, conference rooms, and other facilities, MEST provides three cooked meals a day for their program participants.  They also kick everyone out by 8 pm and tell them to go home!  We joined the MEST and MINC folks for dinner, some of the best Ghanaian food we'd had so far in Accra.  Shading the courtyard cum dining hall cum parking lot was a coconut tree.

Let me tell you, I have a love affair with coconuts, especially young ones.  I get dehydrated easily, so the electrolytes in coconut water are great at fighting headaches and fatigue.  Young coconut pulp is a real treat, but consuming it out of a coconut from Berkeley Bowl gets to be an expensive habit at $2.50/coconut.  Plus, drinking coconut water of a can is nowhere near as good as the fresh product.  You can buy coconuts here on the street for about 1 GHS ($0.50), and the fellow at the coconut stand will machete the nut as you wait.  I still wanted my own, plucked fresh off the tree.

I asked, and Edward said I could take home a coconut as a souvenir, so I stood on my toes and twisted one off the tree as he laughed and took photos.  Jovana had never seen a coconut picked fresh off the tree.  She was rather amused at its "tail".  Still in their husks, they look nothing like the brown dried ones you see in US supermarkets.

Jovana and Sondy display the MEST coconut

(Edward later quipped that, "With the coconut, we may start considering giving away one coconut per visiting team in the future, thanks for bringing this idea royalties will be paid though.")

We were really impressed with everyone we met at MEST, and we had some productive conversations on how to best approach teaching students in Ghana, especially with MEST students who weren't too much older than the MIT AITI Ghana ones.  It's exciting to see folks in different stages of their entrepreneurial journeys, and make connections that'll hopefully provide support to our AITI participants in their adventures in startup land.

After heading home, I took a knife to my coconut, which I'd named Kofi since he was born on a Friday.  I took him outside after draining out the coconut water and yet he refused to be opened.  A few smashes against the concrete of the apartment courtyard later, I was able to scrape out some very gelatinous coconut jelly.  MEST visit success!

A note on journalism in Africa: I'm glad TechCrunch is focusing on some successes in Ghana, but the line about "Out of Africa" has been overused.  There's a lot more happening on this continent than bad news; let's both highlight good things happening and move away from cliche phrases in headlines.

Abstract classes and power outages

Alessondra Springmann

June 29, 2012

Our second Friday is here!  Our first week was a nice dry introduction to Ghana, but the rainy season has returned this last week starting with a torrential downpour and a thunder and lightning storm on Sunday.  The road outside the apartment has turned even bumpier and squishier than it was before; it's a fun bounce down it in our daily taxis on our way to and from UGL in the mornings and evenings.  

Yesterday afternoon we had the students scope out what the relevant classes and objects would be for a zoo, from structures to animals to zookeepers.  Why would certain classes be abstract?  Which ones are subclasses?  How do you diagram your class stru... power outage!  Pen and paper and laptops to the rescue.  Push it to github in the morning when the network returns!  

With 20 minutes left at the end of the day and no power for presentations, we called everyone outside and had them do competitive rock-paper-scissors.  This is a great icebreaker and teaches names super well, even though lot of students had never played this game before, but picked it up pretty quickly.  Everyone pairs off for rock-paper-scissors and plays until someone's won two out of three rounds.  Then, the winner becomes the champion and the loser becomes the champion's #1 fan, rooting for the champion during the next round of rock-paper-scissors.  Eventually you get huge mobs of players standing behind their champions, all cheering the champion's name.  The students got really into it, separating the competitors in the final rounds for rest breaks; clearly someone'd watched a lot of boxing or wrestling.  Our final two players were Ben and Diana, each with a mob of about 15 fans standing around them, chanting their names.  Diana ultimately won to many cheers and the students scattered off into the evening.  I looked up and saw Jovana and Louis, hanging out of the first floor windows, smiling behind their cameras.

They may be college students but you're never too young to have fun in a group.  Since personal space isn't so much of an issue here like it is in the US, we may try the team building activity where you all stand in a circle, everyone turns in one direction, then tries to sit down on the knees of the person behind as the person in front tries to do the same thing.  Louis: "I don't understand the math behind that exercise."

Names here are a funny thing: everyone has their own name (first name), and a surname, but sometimes they go by a nickname or their surname or the day of the week they were born on or their own name or will write their names four or five different ways using different combinations of their first two names or hyphenated surnames.  You can learn the students' official names, but it's not what people call themselves.  Name confusion is all part of getting used to Ghana (though I hear it's similar in Tanzania).  

They just finished presentations on how they would structure their zoo classes, their animal subclasses, and how they thought about their designs.  For people who've maintained that public speaking is terrifying, their first presentations with PowerPoint slides are pretty good!  I'm looking forward in the coming weeks to give some pointers on more effective slide stack delivery.  They're getting much louder and are speaking more clearly as time goes on, actually holding the microphone by their mouths when speaking.  Huzzah!  Next up: regular expressions and literal patterns as delivered by Louis.

The students have also formed their own final project teams on their own.  There was one 'orphan' who was quickly adopted by another team.  They're throwing around ideas, practicing elevator pitches, and thinking about what's feasible in the few weeks we have remaining.  This afternoon, they'll submit team contracts and decide who's serving what roles in their groups.  I'm excited to see how they work together, and what their final projects will be.

Our students are wearing dresses and shirts made out of traditional Ghanaian fabrics, whether kente or batik, in support of the local textile industry.  Ghana used to have a thriving textile trade and a lot of clothes used to be made here until the US and Europe started flooding the market with cheap imported used clothing.  This is really unfortunate, as the seamstresses here are highly talented and astoundingly quick.  It's inspiring Jovana, LiAn, and I to ask our local seamstresses to sew us dresses out of Ghanaian cloth, but probably not in kente or batik as the patterns on those cloths have cultural and religious significance that we don't quite comprehend as foreigners.  

Enjoy the rain!

Sierpinski gaskets, and how to teach graphics, objects, classes, and recursion visually

Alessondra Springmann

June 27, 2012

It's been a long while since I took my first programming class (fall 2006), taught by the excellent MIT alumni Lyn Turbak and Mark Sheldon.  Their curriculum was inspired by Allen Downey, whose book, How to Think Like A Computer Scientist, has been 'ported' to Python and C++. Even though the class was taught in Java, the focus on larger ideas and concepts is astoundingly portable as well, allowing me to pick up MATLAB and Python without too much trouble.

One of my favorite aspects of Wellesley's introductory computer science course was the focus on graphics as a way to visualize what code was doing.  Jovana last night was mentioning she wanted to introduce the students to graphics in Python, and I suggested displaying a Sierpinski gasket (a fractal and an attractive fixed set; triangles drawn within triangles) as a visual example.  "What's a Sierpinski gasket?" We're lucky to have good reception in our apartments to use our movistar modems with local Vodafone SIM cards; a quick Google and Jovana was off creating a fantastic lab for the program participants.  (Apparently there are connections with the math behind this triangle and the Towers of Hanoi problem.  Who knew?!)  A few hours later she'd cooked up a great lab to demonstrate classes, objects, recursion, and yes, graphics to the AITI students. When they finish writing their code and setting their triangles to render, their screens display something like this:

A Sierpinski gasket in the process of being drawn

In terms of technical content, we provided an introduction to Python last week, getting up to functions.  This week saw the introduction of data structures (with local tropical fruit as examples of items to be in a list... let me tell you the pineapple here is a revelation in fruit consumption) as well as classes and objects.  I learned over the weekend about using a dictionary while calculating values in a Fibonacci sequence... great if you want to save time, not so great if you want to save memory.  Yesterday's lab introduced string methods for objects, and a FootballTeam class (since we're at the tail end of the EuroCup and Jovana is a huuuuuuge football fan).  What methods would you want to have for keeping score, maintaining a team roster, or knowing where the team would play next?

A lot of students haven't programmed before, or have taken computer science classes that are mostly theoretical.  Being asked to take a concept from one example and applying a similar solution to a different example is really hard for them!  Talking with a friend (an MIT '11!) who works in engineering and science education here, it sounds like a lot of Ghanaian school curriculum involves memorization of facts (algorithm solving) rather than learning through doing, or coming up with solutions on your own (algorithm generation).  

With 43 students and two technical instructors, it's really difficult to reach all of our participants who are struggling and make sure they're not too far behind the ones who finish the labs quickly and move on to more challenging problems.  I haven't been doing much Python as of late, so my ability to explain self in the context of classes and objects isn't going to do them much good!

The ones who do get the new concepts and language are doing so very rapidly.  We're excited to introduce Django next week and see what sort of web apps they can build!  Hopefully the network connections here in the ICT Directorate building are up to the challenge.  

On that note, I would like to make a big shoutout to Google: thank you for creating webapps that gracefully handle spotty network connections.  Gmail and Google Docs are doggedly persistent in transmitting data when the network is flaky, and the ability to at least view offline Gmail and Docs has been really nice.  Some other cloud-based apps simply don't work here---it's been very frustrating to reach out to their support people and be told that I need a better network connection to use a web app I pay money for; they should all take a page out of Google's book.  If you're going to fail, fail with grace and style and leave the customer something that's actually useful.  Thank you.

Estimating fufu and problem solving

Alessondra Springmann

June 24, 2012

Our first week is over!  Jovana and Louis are grading labs, while LiAn and I are scheming ways to encourage the students to speak and communicate more clearly in the context of presentations, and eventually, elevator pitches and business plans.  It's a fun process for them and us, figuring out ways to document your assumptions and think about every step involved in a calculation, a program, or even building a system or a business.  

We gave them a weekend assignment, a back of the envelope problem, to calculate how many kilograms of fufu (a dense pounded starch made from cassava) are eaten yearly at their university, including their assumptions, logical steps, and any other pieces of information they used to arrive at a final number.  The students I spoke to had never encountered problems like this: their first responses were to go do a survey (a great approach, but difficult over the weekend!).  I'm curious to see what shows up in my inbox tomorrow.

The structure of the university programs here is such that a lot of students don't get much practical programming time in their courses' labs.  AITI is so different for them in that regard, the multi-hour labs in which to actually build things and ask questions (and get them answered!). 

Our AITI students (ahem, entreprneurs) are perhaps my favorite group that I've taught: they're respectful, industrious (they can use Google to figure out all sorts of things!), and very focused.  With that comes a bit of shyness towards asking questions, but we're hoping through more interactive lectures, groupwork, presentations, and guest speakers that their confidence in asking for information publically be less daunting.

We just had a power outage, so I guess it's time to head out into the heat!  Thanks for reading.

Happy birthday Jovana!

Alessondra Springmann

June 22, 2012

Lunch here is not like it is in the US: it's so hot outside that a lot of students simply eat breakfast and dinner, skipping lunch because it costs more money or because you don't want to be in a kitchen.  Several of the students cook a bunch of food at the beginning of the week, but that's not so much an option for us because the power goes out occasionally at our apartment for hours on end.

Having taught at MEET in summer 2010, I found that the various snack breaks and lunch breaks were the best times to get to know the students outside of labs.  With the equatorial sun and intense heat and not many places to sit outside, it's harder to break outside of the lab setting.  We'll let you know how that progresses.  I know AITI isn't about creating games, but maybe I can score a flying disc and we can teach them Ultimate.  May be hard to play in business casual, however...

The few students who do eat in the local cafeterias on campus have been good about showing us the various options, explaining the different systems in each dining hall of how to order food, and telling us what's good.  The food here is very different from anything I've tried in terms of texture and taste, especially this fish sauce substance called "pepe".  The students talk about their film preferences and argue over the raw input reading methods in Python.  I let slip to a couple yesterday that Jovana's (technical lead instructor) birthday was on Thursday (today), and the ringleader of Team 6 who demolished the chocolate challenge said he'd do something.

Today he came up to me and said, "it's Jovana's birthday today, yes?"  I confirmed, and he sent a deputy up to the front of the classroom to make an announcement, which turned into everyone's standing up and singing "Happy Birthday!" to Jovana, who was then presented with a gift of a bag made out of kente cloth and jewelery made out of Ghanaian beads.  Pretty awesome.  I guess I should friend them on Facebook so they can figure out when mine is...

On the note of birthdays, the day of the week on which you were born is a big deal, and sometimes the weekday of your birth is incorporated into your name.  LiAn didn't know what day of the week she was born on, and just like the guidebook said, the students were incredulous!  Fortunately, the morning's lab involved writing a program to look up the weekday you were born on given your birthdate, so we were able to rectify the situation quite rapidly.

The students seem to be taking to git quite well (though they can't pronounce the difference between "git" and "get", which is amusing), as well as the tougher challenge problems we're presenting them today.  LiAn and I are drafting presentations on problem solving and teamwork, which we'll use to segway into future talks on team formation, leadership, and the process of evaluating ideas.