# Projects

At the end of the workshop, we’re not going to teach you anything new. What’s the point in cramming more in if you’re never given the chance to solve interesting problems with what you know?

Tom, Ben, Sofiat and Fionnuala have put together projects to test your understanding of Python, and to give you some lovely meaty problems that should be fun to work on.

## Project 1: Designing and implementing your own language

It’s nice to be able to write Python, but programming languages actually aren’t that special. Tom’s absolutely fascinated by programming languages, and he solved this problem when he was learning Python, and he thinks you can, too.

The problem is to take a simple programming language, and to implement it, so that you can write and run your own programs. You’ll come away with a deeper understanding of what programming is and what programming languages are, and a feeling for what the less-mathematical kind of computer science can be like!

You can find Tom’s project in your pwsafrica/pwsafrica_projects folder, or download it here!

## Project 2: Mathematical Modelling and Scientific Computation

In 2015, the Kariba Dam at the Zambezi River between Zambia and Zimbabwe was found to be in danger of failing, and it was advised that action be taken fast. However, there are a number of ways in which to resolve the problem: • doing repair work on the existing dam • rebuilding a dam at the site of the existing one • removing the existing dam and replacing it with ten to twenty smaller dams along the river. Your Task: Pick one of the ways to resolve the issues with the Kariba Dam, implement the model of section 2.1 and investigate the problem by means of simulations. (This is an open ended problem which was featured in the 2017 Mathematical Contest in Modeling 1 .)

You can find Ben’s project in your pwsafrica/pwsafrica_projects folder, or download it here!

## Project 3: Matching Corp Members in the NYSC

The National Youth Service Corps (NYSC) is an organization set up by the Nigerian government to involve the country’s graduates in the development of the country. Since 1973 graduates of universities and later polytechnics have been required to take part in the NYSC program for one year. Have you ever wondered how the allocation of corp members is being carried out by the NYSC administrative? Given the number of students that need to be allocated in each batch, can you estimate how long it will take if this allocation process is done manually, or the amount of human resources that would be expended? Obviously, a lot! To save time and resources, the Director General (DG) of NYSC has approached you as a mathematician and programmer to help design an automated system that can be used to efficiently allocate corps members to one of the 36 states in Nigeria, based on their choices.

You can find Sofiat’s project in your pwsafrica/pwsafrica_projects folder, or download it here!

## Project 4: An animation of firework

We are celebrating the end of our programming workshop and we want to do it in style. The task set is to create a firework display for the closing cermony (on the computer screen!!!)

You can find Fionnuala’s project in your pwsafrica/pwsafrica_projects folder, or download it here!