While this is my first slog, it's been three weeks in this course now and I have quite a few comments to make about my experience until now. I have experience in Java so the object-oriented nature of Python is not entirely new to me but I am still taking my time becoming accustomed to Python. I recall having difficulties with recursion in Java so it's likely to be another hurdle I need to overcome as I learn Python more in depth. Even though we have only just been introduced to recursion in Python, I should review the basics of recursion (maybe by tracing?) often because I feel this is a weak point in my abilities.
This week's lab (#2) was very interesting. Implementing the stack and queue program was a fairly quick and straightforward task. What really got me thinking was the last instruction to make my program more efficient. I managed to reduce my running time by about half a second but it was still growing exponentially. My TA told us that our goal was essentially constant time and that made me realise that programming isn't only about getting a program to work. In the real world, dealing with increasingly larger sets of data means efficiency is just as important and I forgot about that until now.