I felt the course material was a bit haphazard. Every week's material focused on different topics which didn't have much relation with each other. While the first week dealt with handling and manipulation of strings with the example of palindromes, the second week went into how doctests and testing of the code can be done efficiently. The third week included lectures on the sorting and searching algorithms. The fourth week was about Object Oriented Programming (OOP) concepts in Python. In week 5, the content was so small that it didn't even make a 15 minute lecture. It included concepts of passing functions, default values as parameters and error handling. Overall, the entire course felt like a lot of important concepts stuffed together to help code complexity and time optimization.
However, the assignments and quizzes were quite challenging. I especially liked the Rat and Maze assignment which was designed on OOP concepts. It included the development of a game where 2 rats were stuck in a maze and would eat Brussels sprouts to win the race.
Though the course was not bad and the TAs and professors were helpful as usual, my only qualm remains that it could have been structured better to provide students a streamlined approach so that they at least master one before learning the other concepts.