CSA Africa 2018
Department of Mathematics,
University of Ibadan, Nigeria.
30 July - 10 August 2018
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 download Tom’s project 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 download Ben’s project 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 youths 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 it will require? 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 download Sofiat’s project 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 ceremony (on the computer screen!!!). You can download Fionnuala’s project here!
A FINAL NOTE
We’ve had a fantastic time delivering PWSA2018! Many thanks to the University of Ibadan for hosting us, and to the participants for their dedication and enthusiasm towards learning.
PWSA2018 has ended; however, learning does not! We’ve put together one final piece of material: a Jupyter Notebook containing advice, useful libraries, websites, and a bunch more problems to solve. We hope that, in using it, you’ll find that you can actually improve on your programming skills through self-study, now that you know the basics. You can download the notebook here. If you have questions, remember you can email and ask.