I am definitely a big picture person. A clear big picture helps me to put the details into context and provide a reason or motivation for the finer details. I find it is really important I understand the conceptual motivation in order to buy-into a specific exploration of the underlying theory.
Working through MIT’s Mathematics for Computer Science, I have found the first few lectures have been brilliant at illustrating the big picture. But then I stumbled into lecture 4 and 5, Number Theory, and drowned in it! I have felt like these lectures have jumped into the middle of an ongoing discussion and we join two debators at the height of the debate, using specific examples to emphasise their points. We don’t have the luxury of the lead-in discussion which has made it really difficult to understand exactly what they are trying to describe.
My takeaways from these lectures are:
- Number theory is the study of integers
- emphasis is placed on generalised proofs that can be applied to real-world scenarios
I wonder if there is a correlation to the idea of general solutions to programming? I quite like the idea that our programs might be sufficiently general to be able to handle a huge variety of cases. Sometimes I think that our programming can be too tailored to the problem at hand, and doesn’t allow for problems we might face in the future. It makes me think of generators and lazy evaluation. And also the functional concept of immutable data structures. Interesting parallels perhaps.
I wonder how we can store data in a sufficiently malleable way that it can be adapted to changing requests and requirements? By the end of project this coming semester, I would like to have an answer for this question.