Computer Science Canada Open Question; Development methods |
Author: | btiffin [ 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 |
Author: | Tony [ 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. |
Author: | Clayton [ 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!") |
Author: | md [ 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. |
Author: | syntax_error [ 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... |
Author: | Tony [ 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 |
Author: | btiffin [ 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
Then a little bottom up; define a facility variable (mutex) using some assembler defs...
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 |
Author: | syntax_error [ 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? |
Author: | OneOffDriveByPoster [ 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. |
Author: | wtd [ 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. |
Author: | btiffin [ 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 |
Author: | wtd [ 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. |
Author: | Mackie [ 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. |
Author: | StealthArcher [ Thu Feb 14, 2008 11:41 pm ] |
Post subject: | RE:Open Question; Development methods |
Definetely Bottom up for me. |
Author: | md [ 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 ![]() |
Author: | wtd [ Fri Feb 15, 2008 2:29 pm ] |
Post subject: | RE:Open Question; Development methods |
Or in other words... be lazy: solve the little problems first. |
Author: | md [ Fri Feb 15, 2008 3:27 pm ] |
Post subject: | 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. |
Author: | btiffin [ Sun Feb 17, 2008 10:37 am ] |
Post subject: | 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 |
Author: | md [ Sun Feb 17, 2008 12:41 pm ] |
Post subject: | 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. |