Saturday, February 21, 2015

A renewed perspective of Education: A few good Professors

I am attempting to crystallize my non-technical learning after 3-ish semesters of a Master's program. My main motivation to do this is to contrast my opinions and ideas with an earlier post which was written while I was working after my Bachelor's. I hope to revisit this and learn my motivations a few years later. I hope my experiences as a Teaching Assistant have also led to a few "other side of the fence" views.

I am going to organize the post into what I feel are a few components of a good learning experience.

a) An education system that races to the bottom has a hard time producing excellence. The most important realization I had was that the very act of expecting the impossible and having it delivered is how things should work. I remember a Professor of mine saying that year after year they increase the difficulty on Labs hoping that some year students complain, every year the students beat expectations. The particular assignment here was writing a library that performs certain computations in as few operations as possible, one year a student broke the scoreboard (the highest possible score) by using Vector instructions, another year a student manipulated float instructions to do faster integer ops and so on. Essentially the course staff are constantly playing catch up to how good the students are, they do this by leaving room to learn themselves.

Another important feature of this process is that the course staff never says something is hard, once the expectations are set that a goal is feasible, human beings find a way. The context in which we view a problem becomes important. If everyone around you is racing to find a better solution and the challenge itself is by no means trivial, it automatically forces intense learning. If a student ever feels like they are exceeding expectations, they stop.

b) Creating a problem that requires creativity is much, much harder than the problem itself. Consider an Assignment, lets take a CS course to be more precise, the assignment needs to adhere to these goals:
  • It needs to be non-trivial, as hard as possible.
  • It needs to provide a vast design space.
  • It needs to have an evaluation scheme that recognizes and rewards that creativity.
  • Fostering competition among the students is a good property.
  • It needs to be interesting and fun!
  • Providing learning in other aspects apart from the problem itself (team skills, tools, dealing with tradeoffs and failure).
This stuff is hard, really HARD to come up with. An instructor needs to be steps ahead of all participants. If the problem is simply hard, but has no way of acknowledging a kickass solution, there will never be a race to find the solutions. All these things need to be perfectly balanced. If you see a well executed assignment, there are some insanely smart people behind that.

c) A level playing field is extremely important. If a student ever feels that pure hard work is insufficient or not correlated to his/her performance, the mirage immediately evaporates, there is no recovery from that. A course needs to be designed with rules, a well thought out deviation policy and it needs to constantly learn from its mistakes.  If a course ever tolerates cheating or unfair advantages, the damage is permanent. Every decision needs to be made keeping in mind all students.

d) The goals of education are always towards the betterment of, well, everything. The instructors wield control over what the students end up liking and doing. It is important that instructors are aware of this and working towards it.

My takeaway from the "meta" aspect of the college experience is a renewed confidence in traditional learning, an understanding of why education needs the smartest people to gravitate towards education to complete the loop and a much required lesson in thinking about thinking.