During my first year in college I took an introductory course to programming.
I really liked the way the professor explaind the various algorithms, why they
were important and how they could be useful in real-world application.
One of the first assignments was implementing a function to read some numbers from a tab delimited file and store the in a vector. We had to program in C and, to make things easier for beginners, we had to work on vectors of fixed size.
After completing the assignment as it was asked, I got curious about how to deal
with the case when you don’t know in advance the number of items you are going to read.
With some extra study I could manage to understand how to dynamically allocate a vector of the required size where to store the data.
I got quite disappointed when I presented the assignment during one of the classes in the lab and the person in charge of marking the assignment commented “OK it works, but don’t aim too high”.
This really demotivated my whole experience with the course: I simply started doing (and learning) things exactly as they were asked, without attempting anything that wasn’t explained during the classes (at the time programming was not of my primary interests).
Should I have received some word of appreciation for the effort/initiative, I’ll have
surely kept studying and trying to understand things in a deeper way!