
-----------------------------------
btiffin
Thu Feb 14, 2008 1:56 pm

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!") :shock:

Thanks for any answers.

Have a good valentines day,
Brian

-----------------------------------
Tony
Thu Feb 14, 2008 2:13 pm

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.

-----------------------------------
Clayton
Thu Feb 14, 2008 4:50 pm

RE:Open Question; Development methods
-----------------------------------
(my school is cowboy land, where we just yell "YeeHaw; code 'er up boys and girls!")

-----------------------------------
md
Thu Feb 14, 2008 6:14 pm

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
Thu Feb 14, 2008 6:54 pm

RE:Open Question; Development methods
-----------------------------------
well none i guess.. never really heard any of those terms on class...

-----------------------------------
Tony
Thu Feb 14, 2008 7:28 pm

RE:Open Question; Development methods
-----------------------------------
you can just throw code at the problem until it compiles into something useful - Cargo Cult Programming

-----------------------------------
btiffin
Thu Feb 14, 2008 7:41 pm

Re: 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.
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

: 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 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
Thu Feb 14, 2008 8:04 pm

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?

-----------------------------------
OneOffDriveByPoster
Thu Feb 14, 2008 9:39 pm

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
Thu Feb 14, 2008 10:32 pm

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
Thu Feb 14, 2008 10:55 pm

Re: 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?

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
Thu Feb 14, 2008 11:10 pm

Re: 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.

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
Thu Feb 14, 2008 11:21 pm

RE:Open Question; Development methods
-----------------------------------
I tend to lean toward Up to down, and test driven design.

-----------------------------------
StealthArcher
Thu Feb 14, 2008 11:41 pm

RE:Open Question; Development methods
-----------------------------------
Definetely Bottom up for me.

-----------------------------------
md
Fri Feb 15, 2008 2:12 pm

Re: 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.

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 ;-)

-----------------------------------
wtd
Fri Feb 15, 2008 2:29 pm

RE:Open Question; Development methods
-----------------------------------
Or in other words... be lazy: solve the little problems first.

-----------------------------------
md
Fri Feb 15, 2008 3:27 pm

RE:Open Question; Development methods
-----------------------------------
Yes! But also keep an eye on where your going. If you have two ways of solving a small problem and one of them makes is super easy to meet your end goal too... use that one over the other.

It amazes me how often people are told in programming courses that being lazy is bad; when in fact being lazy is the mark of a great programmer.

-----------------------------------
btiffin
Sun Feb 17, 2008 10:37 am

Re: Open Question; Development methods
-----------------------------------
Thanks for the input everybody.

So; am I correct in my impression that few instructors preach hard and fast development methodologies in school?

This seems to be left to the individual as they progress toward a programming career?  No complaining, this is just the impression that I get from this thread.

Cheers,
Brian

-----------------------------------
md
Sun Feb 17, 2008 12:41 pm

RE:Open Question; Development methods
-----------------------------------
No, when I was in high school my teacher in grade 12 did go over the top down and bottom up development methods and explained what they were about. Then he told us to find a method that suited our own style.
