I'm teaching/helping a student to program.
I remember the following process always helped me when I started; It looks pretty intuitive and I wonder if someone else have had a similar approach.
- Read the problem and understand it ( of course ) .
- Identify possible "functions" and variables.
- Write how would I do it step by step ( algorithm )
- Translate it into code, if there is something you cannot do, create a function that does it for you and keep moving.
With the time and practice I seem to have forgotten how hard it was to pass from problem description to a coding solution, but, by applying this method I managed to learn how to program.
So for a project description like:
A system has to calculate the price of an Item based on the following rules ( a description of the rules... client, discounts, availability etc.. etc.etc. )
I first step is to understand what the problem is.
Then identify the item, the rules the variables etc.
pseudo code something like:
function getPrice( itemPrice, quantity , clientAge, hourOfDay ) : int if( hourOfDay > 18 ) then discount = 5% if( quantity > 10 ) then discount = 5% if( clientAge > 60 or < 18 ) then discount = 5% return item_price - discounts... end And then pass it to the programming language..
public class Problem1{ public int getPrice( int itemPrice, int quantity,hourOdDay ) { int discount = 0; if( hourOfDay > 10 ) { // uh uh.. U don't know how to calculate percentage... // create a function and move on. discount += percentOf( 5, itemPriece ); . . . you get the idea.. } } public int percentOf( int percent, int i ) { // .... } } Did you went on a similar approach?.. Did some one teach you a similar approach or did you discovered your self ( as I did :( )