The night I finished my coursework at the African Institute of Mathematical Sciences, I sat down to evaluate the knowledge I have gained and how I have come to survive the intensive master’s program. I evaluated my progression from being a newbie with vague knowledge of machine learning to where I have reached in my journey. I can say I have come a long way and never had I thought I could reach this level in a short while. At the very least, I can say that; I can read research papers in the field and not wonder what is being talked about; I can break down mathematical formulations and derive proof of algorithms; I can evaluate pseudocode and determine the best data structure and algorithmic pattern for implementing such; I can perform independent research and question ideas. I owe it all to the resilience of myself and the passion of tutors and lecturers in providing guidance to everyone of us. As such, I asked colleagues what they will like the incoming students to be aware of or what they would have loved to do better if they were to start again. This article is a collection of those advice which I believe can be a guiding torch in your journey through the African Masters in Machine Intelligence (AMMI) programme and beyond.

African Masters in Machine Intelligence (AMMI) is a master’s programme offered by the African Institute for Mathematical Sciences, sponsored by Facebook and Google, with campuses currently in Rwanda and Ghana.

Check out a subsection:

  1. Introduction
  2. Technical Advice
    1. DO NOT QUIT! I repeat DO NOT QUIT!!
    2. Learn the foundations
    3. Learn by intuition
    4. Learn to code properly
    5. Join a Discussion Group
    6. Find an interest early (Research/Engineering/Entrepreneurship)
  3. Non Technical Advice
    1. Make lasting friends
    2. Utilize your network of AMMI lecturers
    3. Apply for ML Jobs, Internships and PhD positions
    4. Try, fail, break things, then learn the right way
  4. Conclusion

Introduction

Congratulations! You have been admitted into the AMMI programme. This is just the beginning of the hurdle ahead and may be full of uncertainties for you as it was for everyone of us. You just have to take a leap of faith and begin the journey. You may wonder how you will be able to cope with the programme; what the courses will look like; how you will adjust to the new environment; how you will get better at programming. Well, everyone of us had some or all of those fears, but we were able to overcome them with support.

We will dive deep into these advice in a second as I believe you are eager to read them. You are free to bookmark or revisit this page during your days at AMMI for inspiration on what to do next. Let’s dive in.

Technical Advice

DO NOT QUIT! I repeat DO NOT QUIT!!

Well, this might sound funny but it is still the best advice to give. A lot of us faced trying times with deadlines of assignments and presentations approaching, struggling with the basics and needing time to absolve them. All I can say is hang on there friend and don’t contemplate dropping the baton. You will be faced with this decision at some point too and I hope you will decide not to quit on yourself, instead put in the hardwork and reap the rewards.

Also, remember you submitted a statement of purpose where you wrote beautiful things about your passion for AI, solving societal problems with machine learning, becoming a world-renowned researcher etc. Well, now is the time to show that passion and let your goals drive you to keep working hard and pushing forward.

Learn the foundations

Every field including machine intelligence requires a solid foundation in the mathematics and science used to build up concepts and ideas. For instance, the field of machine intelligence requires a solid foundation in Linear Algebra, Probability, Statistics, Calculus, Optimization, Algorithms and Data structures. Some of this knowledge, you may have been at school, others you may have forgotten or you had a shaky intuition of the course. In any case, it is a great idea to brush up on those foundations and get ready for the real deal. You will have introductory courses to help solidify the foundations but it is still a good idea to study on your own and internalize these. Below are some online courses I watched to brush up on these foundations.

  1. Linear Algebra by Gilbert Strang, MIT or if you want a recent course, you may prefer Matrix Methods in Data Analysis, Signal Processing, and Machine Learning by Gilbert Strang, MIT. These will help with your LA basics
  2. Engineering Probability by Rich Radke for your statistics and probability basics

If you prefer written text, Mathematics for Machine Learning co-authored by Marc Peter Deisenroth, is your go to text. There is also a coursera course with the same title which you can review.

Learn by intuition

Machine learning is an interesting field if you let the concepts sink in to become reality in you. It can also seem unbreakable if you look from the surface. In your journey, you will surely encounter many mathematical formulations and proofs. My advice is; get an intuitive understanding of what you learn, understand how it is applied in a larger context, then dive deeper on the proofs. Try to rederive the proofs yourself, or implement the algorithm to get similar results. This I believe is a great way to push forward your learning.

It is also a good idea to explain these concepts to other colleagues. This will aid in solidifying your understanding and birth deeper questions from colleagues which you will have to answer.

Learn to code properly

The most important skill required to excel in your AI journey is programming. You will be required to convert mathematics to codes. No running away from it my friend. It is in your best interest to have a good background in Python. Other major libraries you will require are Numpy (for vectorized computations), Pytorch (for running code no GPU) and some others which you can easily acquire competence in if you already know Python. If you already know a programming language such as Javascript or C++, it will be easy to catch up with learning Python.

Apart from just programming, you need to develop algorithmic thinking. This will be useful in implementing ideas and turning mathematics into reality. As a hint, be rest assured that you will be required to code ML algorithms from scratch.

There are lots of online platforms such as Leetcode or Hackerrank where you can solve problems to improve your skills. Intro to Data Structures and Algorithms is a free course on Udacity to refresh your DS skills if you need one. In summary, look for a platform you are comfortable with and solve problems consistently. You never know how good you can become until you start and put in the work.

Join a Discussion Group

Small sized discussion groups are a great way to share ideas, help one another and collaborate. You can set up a permanent discussion group with your friends to work on assignments and review lectures. Members of your discussion group can also serve as your go-to when you need a clearer explanation of concepts you have read about.

It is a great idea to form groups with members having strength in different areas of ML. For instance, a group can consist of a mathematics major, computer scientist, a statistician etc. It balances the group and ensures everyone can contribute to each others’ development. Join or form a group

Furthermore, there is a large space of research in AI such as Natural Language Processing, Computer Vision, Optimization, Multimodal Learning, Self-supervised learning etc. To form a deeper knowledge of these fields, you can form groups where you read and summarize papers, implement ideas and discuss further research directions concentrated on these specific fields.

Find an interest early (Research/Engineering/Entrepreneurship)

With the intense curriculum and activities of the AMMI programme, it will be a great idea to know what you are set out to achieve during and after the AMMI programme. Even though many interesting activities and ideas will be brought to your doorstep, you have to prioritize and know what you really want to learn well and internalize. For instance as a clue, a researcher may be more interested in learning the mathematical foundations of machine learning, while an Engineer will be more interested in converting the algorithms into production level code. On the other hand, an entrepreneur may be willing to learn all these but also look out for areas that can be used to improve or create business solutions.

Also, as an entrepreneur, you may want to start a venture with colleagues where you create products using ML. ML Engineers can also form groups where they build end-to-end solutions together (even for fun) to strengthen their skills. Researchers will more likely want to read more papers, follow research trends and attend conferences.

It is also a good idea to discuss with your tutors/Teaching Assistants on these and map out a path to achieve the best in your career.

Non Technical Advice

Make lasting friends

AIMS is a place where you will meet people from different African countries with diverse cultures. You will be required to live under the same roof, eat the same meal, engage in team-bonding activities and trust one another. Use this opportunity to make lasting friends, learn about others’ cultures, food, dance and language. I can tell you for a fact that Africa and African culture is beautiful, when you discover them.

Also, your colleagues will be your life-long partners and friends. They will be your support during and after the programme whenever and wherever you need them. Be their friend and enjoy every moment of your partnership.

Utilize your network of AMMI lecturers

Okay, I don’t know if I have to say this again but, hey friend! You are lucky to be here. AIMS instructors and lecturers are world-standard. You have a lot to learn from them. Check out the AMMI website for a peek of some of your instructors. Well, it is up to you t0 utilize this opportunity, listen to instructions, do your labs and show them you are committed.

As most of the lecturers will be on campus with you, you have the freedom to approach them for discussions, ask questions on the course and discuss possible research directions with them. Your lecturers are always excited to interact with students and provide insight from their wealth of experience.

Apply for ML Jobs, Internships and PhD positions

As your course progresses, you will get opportunities for internships, PhD positions and jobs. The opportunities will come your way but you will be required to prove yourself. Nothing will be served on a platter, you will have to put in the work and show that you are worth it.

It is also a good idea to determine the path you will like to take early so you can focus on the specific opportunities you want whether it is a research internship, going for a PhD, looking out for residency programmes etc. It is an open call. Rest assured that the programme gives you the platform to seek out these opportunities and get them.

Therefore, prepare a great CV and tailor your CV to your interests.

Try, fail, break things, then learn the right way

The best way to learn is to try things out yourself. Be it coding up a machine learning algorithm or proving that a kernel is an inner product (: , the best way to learn machine learning is to try, run into errors, debug, retry and fail many times. That’s the only way to learn what is required for your success. Do, do not be afraid to fail.

Also, do not be afraid of rejections. Rejection mails may come from your applications or you may even fail technical interviews. I failed a lot too. Take it as an opportunity to get to work and get better at acing those interviews.

Conclusion

Thank you for taking out time to read these bullets of advice gathered from my colleagues. I hope they will be of help to you on your AMMI journey. I wish you the very best in your AMMI journey.

Special thanks to all my AMMI colleagues who contributed to this article by providing their advice in words and in deeds.