In high school, I've been taking programming classes for 3 years now and I really want to pursue a career in the programming field. I started with Visual Basic, C++, and now Java.
I have this Math tutor who is a retired IBM employee who thinks flow charting is one of the most important things to do before programming because you can get the "logic" out of the program so that you know exactly what you're coding.
Of course, I was never taught how to flow chart and a lot of my "younger" generation teachers say that it is not necessary. What is your take on Flow-Charting before coding for a project? Is it something I should get used to doing?
I'm probably of his generation.
a retired IBM employee
I still use flowcharting for some complicated code. But not as often as before.
There are other ways to lay out your logic and get a design for code, but I never learned them.
Too many students don't do any design before writing their code and end up wasting a lot of time.
A lot have responded when asked "what is your design": I don't bother. I keep coding until it works.
I never saw any serious use for flowcharting; I do still have a couple of those plastic templates in my drawer though ;-) There's a severe mismatch between flowcharting and structured programming (that saw the light already in the early 1960s, e.g. Algol/60). You can create maze like structures with flowcharting with little passages all alike that don't have a one-to-one counterpart in structured programming. Management seems to like those visualization tools though; they even tried to sneak flowcharting back in in the form of UML; that too can only be used for toy problems; anything more substantial makes management bail out or they add funny little caps or curly hair to those stick figures in their UML activity diagrams ...
Those visualization tools lack a mathematical background or foundation, i.e. you can't do anything with it nor prove anything with those wallpaper sized fancy drawings. They're just a management toy.
I mostly do expected output and put the processes that is possible on that window or object. I found it hard to use flowchart when doing OOP.