It's handy to know one fast sorting algorithm from memory. It's also handy to know when other sorting algorithms may be beneficial, even if you don't know how to write them from memory.
There are a lot of different data structures (binary trees, linked lists, etc.). Get some practice with them to perhaps be able to recognize when a problem would be benefited from using them.
Write a Python program to implement a pathfinding algorithm to find the shortest path between two points in a 2D grid. You can use the A* algorithm or any other pathfinding algorithm of your choice. The program should take as input the start and end points, as well as the obstacles in the grid.
There are a lot of instances where you might want to listen for traffic at a particular address and handle the flow of data. Common use cases for this sort of thing includes traffic hitting an endpoint and users posting new content.
Write a Python program to scrape data from a website and save it to a CSV file. You can use a library like Beautiful Soup or Scrapy to extract the data. The program should be able to handle multiple pages of data and should be robust enough to handle errors and exceptions that may arise during the scraping process.
You might want to also investigate how to use online web scraping tools.
Write a Python program to process an image and extract certain features from it. For example, you could write a program to detect edges in an image, or to identify objects in an image using machine learning techniques.