Python was I think a pretty good choice for a first language to learn. It handled all the basic concepts well, without too many additional bells and whistles. That being said, I've had experience with Java and C++ before, which are more complicated languages, and it's probably easier to go from more to less complicated than the other way around, so I can imagine I would have troubles moving on to C++ after Python if that had been the order in which I learned these languages.
Another thing that was definitely a hurdle in this course was that I just didn't have a lot of practicing coding. I can understand all the concepts perfectly, but if I just don't have that experience, then there are so many additional problems that arise when coding that just can't be predicted with only book learning. I definitely learned from this experience that I want to take this summer to do a lot of practice in coding.
Speaking of which, another thing I learned from this course was how useful it was to have a base understanding of the concepts before starting the course, so I definitely want to take the time to look into what we're going to be studying next year and brush up on it a little bit!
Overall though, a very fun course, with an excellent professor who was very engaging to listen to and super helpful, I know for a fact that he has stayed to help well beyond his scheduled office hours on multiple occasions. Just want to take this moment to thank Professor Danny Heap for this very enjoyable course.
Also making this course enjoyable was of course my two lab partners and friends, Dominique and Sophie! If you're reading this, thank for putting up with my sleeping in to ungodly hours, frequently leaving halfway through a work session to go eat food and overall distractions in everything. See you guys next year!