On 08/03/13 03:14, Christopher Emery wrote:

I am new to this email list as can see from subject, my name is
Christopher.

Hi, welcome.

I am trying to learn how to design a program but I seem
not to find any resource online that will teach how to design the
program before you start programming.

There are lots of techniques, but mostly aimed at bigger problems.
There is a shortage of information on designing at the smaller scale level. One excellent site is the How To Design Programs book which is aimed at Lisp/Scheme programmers but is largely applicable to Python etc too. (Except you have to convert recursion into loops):

http://www.htdp.org

The other important thing to grasp is the general principle of algorithm design which is a branch of math. There are a few web pages and books dedicated to that too.

Finally you can use design tools like UML (which I introduce in the OOP topic of my tutorial) which can be useful on bigger projects, especially if using classes/objects.

I would like to create a program that will filter a file and put the
information into two database (text based for now)

> So how would I start the process of designing such a application?

At this level of design I normally just use pseudo code.
Start with a high level plain English (or whatever your first language is!) description of what you want to do - the algorithm. Refine it into a structured form that looks somewhat like your programming language of choice. Make those your comments. Now for each comment write the code that does that part of the algorithm.

user interfaces, phone, web, mobile I want to learn how to keep code
apart from UI. For example if a program was created to take a person
information how would that look?  I tried to think of basic process. so
in this example I know the following would need be done:

user would pick option on UI to Add, Update, Delete, if add picked then
grab information from UI as varibles (I am assuming)
then process would check varibles types are correct and existing
then process would either give error or continue to storing the information

In general all of the above except the storage would be UI code. If the validation required complex logic or access to other data then it might be outside the UI too. As a general rule anything that reads or displays data is UI. Lightweight data validation (eg type and range checking) is usually UI too. Any data processing, transmission, storage should be in the logic part of the code.

So how would one go about designing this module?  Would this be the
right name to call this part of a bigger program?

I'm not sure what name you are referring to?

HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to