12. Going Further

Congrats for finishing almost all the lessons! In this lesson you will see how you can continue your computer science journey.

Projects

One of the best ways to improve and practice your programming and problem solving skills is through projects. Projects are by far the best way to learn as it challenges your skills and projects are engaging. Below is hopefully some project ideas that may inspire you.

APIs

APIs or Application Programming Interfaces are a way to communicate between two different applications. They are basically ways to interact with software that has been created. Some examples of APIs are Twitter's API,Ā Instagram's API, or evenĀ Hypixel's API for their minecraft server. APIs are developer friendly and most softwares have an API. To find an API a simple google search is your best bet. When researching about an API, documentation will be your best friend. To implement APIs into Python you can either use the requests library or a wrapper. A wrapper is basically a python module that has functions for different API requests.

Web Development

You can also develop websites with Python. Python has several different frameworks for web development. The main two areĀ Flask andĀ Django. Flask is more minimal and requires you to install addition modules if you plan to do anything complex whereas Django comes with all the modules and is more complex. I recommend learning Flask first if you are new to web development as it is simpler and then you can move on to Django if desired.

Machine Learning

Python is the leading programming language for machine learning. There are several modules or libraries that involve machine learning. One of theme isĀ TensorFlow which was developed by Google. Machine learning requires a bit of a more complex math background in matrices and calculus but there are several resources that you can use to learn. I recommend watchingĀ 3Blue1Brown's youtube to learn how machine learning works. Since machine learning requires a lot of computing power, I recommend usingĀ Google Colaboratory and utilize their GPU power and cloud computing.

Video Game Design

You can also develop video games with Python. One of the many modules you can use isĀ Pygame. If you are looking for a place to publish video games created or to compete in game jams I highly recommend looking into itch.io.

Web Scrapping

Web scrapping is when you harvest or extract data from websites. Luckily for us there are many web scrapping modules for Python likeĀ Beautiful Soup orĀ Selenium. Web scrapping is a great alternative to APIs if they do not exist for a website. Although you may have to go around authentication and always check the ToS of a website before scrapping.

Thank you

Thank you for completing these lessons! I hope they have been useful and I wish the best for you and your computer science journey. If you are looking for some challenges for Python please check out the challenges page.

ā® Previous