-
I have been feeling some level of insecurity in my ability to problem / solve effectively and decided after seeing the book "Problems for Programmers" on the PragProg site, that I would attempt to fix this. This repo will be a collection of challenges written entirely in python. / The challenges are language agnostic, and are designed that way. All code will be mine, any references used will be duly noted. The challenges / ascend in difficulty.
-
I will also be keeping notes in this readme as I progress.
- Understanding the Problem This step can also be referred to as information gathering / we ask questions about the problem we have been given in order / to get a better understanding of the limitations of the solution/ and the types of design elements that must be built into it.
For example:
I ask you to build a weather application, is that enough / information for you to build it? Probably not. Some questions!
- Do you wish it to show all types of weather? Or just sun and rain?
- Do you wish to be able to change locations?
- Do you wish for it to have a GUI?
- Is it to display in C or F?
- What length of forecasts do you require?
- Mobile or desktop?
- Terminal or web based?
Once the questions have been answered, you can construct a problem / statement that explains what you are building. For example:
Create a basic weather application. The program should be locked / to Melbourne and display all weather for the coming week in celcius. I wish to be able to visit it via a webpage.
- Discovering Inputs, Processes and Outputs
In order for programs to do their thing, they utilise inputs, processes/ and outputs. Typically in that order.