Sounds like you're on a good track, too!
GeeksforGeeks › data-structures I still use this site, as well as wiki articles pertaining to specific structures, to brush up from time to time
Algorithm Design Manual - This textbook from my alg course is one of the better ones I had at school. pdfs of it are not difficult to find, but here's an Amazon link
Games are always a fun way to explore a language and design concepts. Python has frameworks and packages that can paint UIs, or you can keep it terminal based. Games are also a perfect opportunity to flex that physics knowledge when implementing movements & collisions
Could also get some full-stack experience by writing a web server in Python, and then make your "local" project/game talk with it. Websockets are amazing and can be leveraged to create real-time applications that support multiple concurrent users.
Another idea that might be simpler/more-startable is a simple GUI program written in Python (tkinter
is a good package) that does tedious physics calculations for people
Hope that's a start :). Good luck with grad school!