CSC207 Arnold Wisdom

Get Started. It's Free
or sign up with your email address
CSC207 Arnold Wisdom by Mind Map: CSC207 Arnold Wisdom

1. To study for CSC207, do things, re-do the labs, look at our Othello code and add a feature. Rip out some part of Paint and put it back in. Take a look at a design pattern that you have not used and use it.

2. The goal of our courses is that after taking them, you are different, there is something you significantly understand that you did not before, something you can do that you could not do before.

2.1. The goal of the course is the change in you.

2.2. The goal of the assignemnts is not the code at the end, it is that 'You are the person that can build that solution.'

2.3. So you are the 'problem' and you are the 'solution'.

2.3.1. When faced with a 'question', your real problem is 'How do I go about teaching myself about the question, so that the solution is simple, clear and obvious.'

2.4. 'You must know when you know, know when you don't and know how to make the difference. Then you must do it!' So this is what you must practice.

2.4.1. In the end, you say...'I understand!'

2.4.1.1. This is a statement about both the problem and about you!

3. On why we ask you to solve problems without completely specifying the parameters nor the solution, why we stopped holding your hands like in CSC108/148.

3.1. We expect you to be creative, to figure things out, to have great judgement, to solve problems. We are starting to teach you that.

3.1.1. Your job as a Computer Scientist is to solve problems that have not solved before, that you have not seen before, in problem domains that are outside of your experience, asked to use tools that you are unfamiliar with, modify a code base you are not familiar with.

3.1.1.1. Once you solve the problem and write the code, you don't need to solve it again.

4. The OO approach is that everyone is connected to who they need to be, everyone knows what they are supposed to do, sometimes they ask others for help, but they don't need to know too much about how the helper works, just the public method.

4.1. It is different from procedural programming in that you don't centralize control as much in the OO world. You let go of control, it is more about cooperation.