Author |
Message |
btiffin
|
Posted: Thu Feb 14, 2008 1:56 pm Post subject: Open Question; Development methods |
|
|
Hello,
So what are the current trends in educational computer science regarding development methods? In particular the "Coding" portion of development.
Do your instructors preach any particular methodology?
Top Down? Bottom Up? Test Driven Design? Model Driven Design? Extreme Programming/Agile? Other?
None? (my school is cowboy land, where we just yell "YeeHaw; code 'er up boys and girls!")
Thanks for any answers.
Have a good valentines day,
Brian |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Tony
|
Posted: Thu Feb 14, 2008 2:13 pm Post subject: RE:Open Question; Development methods |
|
|
really, you should be familiar with all.
At school they mention Top-Down and Bottom-Up as two ends of the same approach.
At work we are Agile.
Bugs are usually fixed via Test-Driven development. |
Tony's programming blog. DWITE - a programming contest. |
|
|
|
|
Clayton
|
Posted: Thu Feb 14, 2008 4:50 pm Post subject: RE:Open Question; Development methods |
|
|
btiffin wrote: (my school is cowboy land, where we just yell "YeeHaw; code 'er up boys and girls!") |
|
|
|
|
|
md
|
Posted: Thu Feb 14, 2008 6:14 pm Post subject: RE:Open Question; Development methods |
|
|
I use a combination of top-down and bottom up coding; basically start at both ends and work your way up. |
|
|
|
|
|
syntax_error
|
Posted: Thu Feb 14, 2008 6:54 pm Post subject: RE:Open Question; Development methods |
|
|
well none i guess.. never really heard any of those terms on class... |
|
|
|
|
|
Tony
|
Posted: Thu Feb 14, 2008 7:28 pm Post subject: RE:Open Question; Development methods |
|
|
you can just throw code at the problem until it compiles into something useful - Cargo Cult Programming |
Tony's programming blog. DWITE - a programming contest. |
|
|
|
|
btiffin
|
Posted: Thu Feb 14, 2008 7:41 pm Post subject: Re: RE:Open Question; Development methods |
|
|
md @ Thu Feb 14, 2008 6:14 pm wrote: I use a combination of top-down and bottom up coding; basically start at both ends and work your way up.
md; Yeah that is a great combination. Forth is really good for ingraining that.
Top down; main app word can be done before you even really start
code: |
: initialize ;
: gui ;
: report ;
: application initialize begin gui while report repeat ;
|
Then a little bottom up; define a facility variable (mutex) using some assembler defs...
code: |
CODE GET ( a) BEGIN S ) 0= IF I ) S ) MOV NEXT ELSE ' PAUSE ) CALL THEN AGAIN
|
Excuse the code definition, it's probably wrong, haven't done any low level polyFORTH in quite a few years
And then like you said, work everything toward the middle. Great for those days when the mood is boisterous (top down high level coding) and then the quieter days for bottom up detail coding.
Cheers,
Brian |
|
|
|
|
|
syntax_error
|
Posted: Thu Feb 14, 2008 8:04 pm Post subject: RE:Open Question; Development methods |
|
|
oo idk what this is called though be using a flow type chart thing first ?
and then logically working on the syntax?
what do you call that? |
|
|
|
|
|
Sponsor Sponsor
|
|
|
OneOffDriveByPoster
|
Posted: Thu Feb 14, 2008 9:39 pm Post subject: Re: RE:Open Question; Development methods |
|
|
I use a combination of both as well. I tend to go more top-down since it helps to show what your design is even if you run out of time and don't finish (not that it happens often). I find that going top-down means that you can focus on what your program should be able to do, and going bottom-up helps you make good use of the lower level code. |
|
|
|
|
|
wtd
|
Posted: Thu Feb 14, 2008 10:32 pm Post subject: Re: Open Question; Development methods |
|
|
My suggestion: write as little code as possible to get some meaningful result. Write a simple program, get it to solidly work, then build on that to explore increasingly more complex concepts. |
|
|
|
|
|
btiffin
|
Posted: Thu Feb 14, 2008 10:55 pm Post subject: Re: RE:Open Question; Development methods |
|
|
syntax_error @ Thu Feb 14, 2008 8:04 pm wrote: oo idk what this is called though be using a flow type chart thing first ?
and then logically working on the syntax?
what do you call that?
In terms of this discussion, flow charts are pretty much top-down. You start with your initialize symbol and then connect lines down (and across) the page. A symbol may just say "read a record", a high level concept.
But flow charts can show up in all the methods mentioned here. A flow chart may assist working out details of some hairy assembler sequences (bottom up - details first method) or could be an overall data flow describing the user interface (usually top down - concepts first method). They might show up in Agile; say your team is having a tough time understanding your algorithms, a chart can help a lot with that, etc..etc...
Flow charts are awesome for avoiding the "off by one" problems; forcing you to clearly think your way through loops that may have pre or post processing tests to perform along with multiple branches.
Cheers,
Brian |
|
|
|
|
|
wtd
|
Posted: Thu Feb 14, 2008 11:10 pm Post subject: Re: RE:Open Question; Development methods |
|
|
md @ Fri Feb 15, 2008 7:14 am wrote: I use a combination of top-down and bottom up coding; basically start at both ends and work your way up.
This is a fantastic way to work. You think both about the big picture, and about how you can build the language/libgrary environment up to make solving the problem easier my solving small problems. |
|
|
|
|
|
Mackie
|
Posted: Thu Feb 14, 2008 11:21 pm Post subject: RE:Open Question; Development methods |
|
|
I tend to lean toward Up to down, and test driven design. |
|
|
|
|
|
StealthArcher
|
Posted: Thu Feb 14, 2008 11:41 pm Post subject: RE:Open Question; Development methods |
|
|
Definetely Bottom up for me. |
|
|
|
|
|
md
|
Posted: Fri Feb 15, 2008 2:12 pm Post subject: Re: RE:Open Question; Development methods |
|
|
wtd @ 2008-02-14, 11:10 pm wrote: md @ Fri Feb 15, 2008 7:14 am wrote: I use a combination of top-down and bottom up coding; basically start at both ends and work your way up.
This is a fantastic way to work. You think both about the big picture, and about how you can build the language/libgrary environment up to make solving the problem easier my solving small problems.
Exactly. By knowing the big picture you can keep your goal in mind and not get distracted; and writing the small things first makes the bigger things just fall into place.
Also, I should have originally wrote "work your way to the middle"; even though the middle usually ends up being closer to the top then the center |
|
|
|
|
|
|