JohnVonNeumann / exercises_for_programmers-py

Building problem solving skills in Python using the book "Exercises For Programmers".

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exercises for Programmers

  • 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.

Notes

Problem Definition

  1. 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.

  1. Discovering Inputs, Processes and Outputs

In order for programs to do their thing, they utilise inputs, processes/ and outputs. Typically in that order.

About

Building problem solving skills in Python using the book "Exercises For Programmers".


Languages

Language:Python 100.0%