If you just want to learn, then go ahead. Just keep in mind that AI and physics are very complicated subjects. Indie game development does require you to put on many hats, but efficient programmers sidestep all the complicated, hard and (subjectively) unfulfilling tasks. For example by using existing libraries, or by researching things previously done by others to reduce risk, time waste and simply learn faster. Everyone learns new things, all the time, in programming.
It could for example be fun to make your first BMP reader and writer: My advice would be to do research the things you think sound interesting, do the least complicated version of it in tandem with some actual implementation or even a tutorial if one exists.
Being second year at college, I don't know what that means, but it sounds like you are just starting out learning to program. If I were you I would focus on how to be efficient at learning what you set out to do. If I could travel back in time, I would tell that to myself 10 years ago.