## Problem Solving Q and A

Why are you doing this?
By this time, I have taught thousands of students. As a result, I have noticed some universal, key problems that large subsets of students have. These problems are not unique to computer science, but it is in computer science (a very difficult area, where ability to learn and problem solve are key) that these issues make a significant difference. Instead of simply ignoring these issues, I have chosen to address them.

Why is problem solving key to computer science?
Think about this, your job is to use a tool (a programming language, a computer) that you possibly do not completely understand to create a program that does something specific. To do this you will need to

• Understand the problem your program has to solve
• Understand the programming language and computer (you may have never used the language before, you will probably use features of the language you have never used before, etc.)
• Understand how to map a proposed algorithm onto the programming language
• Understand others code and whether they work
• Figure out why your program does not work (at all, fast enough, when it does work)
• etc...
Your job will be to do this continually, always solving a new problem, using tools you have incomplete knowledge of. If you can't effectively solve problems, how will you do this?

How do I know if I should attend?
Ok so you are still not convinced! Go and solve some of these, if you simply can't and have nothing more to say about them, don't know how to get started, then you probably should attend.

• Find the number of 0s at the end of 999!
• Say two words X and Y are jumbles of each other if you can rearrange the letters in X to produce Y. Write a program which takes a list of words (ie a dictionary) and figures out the largest group of words, all of which are jumbles of each other.
• For each of the following, prove or disprove (don't worry, part of the problem here is understanding the problem!!!)
1. There is a point p in R2 such that ||p||1 < 1 and ||p||infinity ≥ 1
2. There is a point p in R2 such that ||p||1 ≤ 1 and ||p||infinity > 1

Will the sessions be too advanced for me?
NO. They are applicable to first years as well as fourth year students. All will understand all (this is my hope).

Any other reasons?
Problem solving is a universal skill, applicable to any area of endeavor.