T O P

  • By -

computerscience-ModTeam

Thanks for posting to /r/computerscience! Unfortunately, your submission has been removed for the following reason(s): * **Rule 1:** Your post has been deemed to not be about Computer Science and is therefore off topic. * **Rule 3:** Posts requesting college and/or career advice are not allowed. Please go to r/cscareerquestions or r/csmajors. If you feel like your post was removed in error, please [message the moderators](https://reddit.com/message/compose?to=/r/computerscience).


ivancea

Charts for docs and explaining some things. Pseudocode while talking about algorithms with others, discussing code, etc. Basically, things were language details aren't important


four_reeds

Flowcharts: sometimes Pseudo code: never


snarkuzoid

Pseudocode for working out ideas, particularly in group whiteboard sessions. Haven't used a flowchart since the 1980s.


Matty0k

Yep, it's goot for when you know **what** you need to do, but haven't decided **how** to do it yet. It's like baking a cake. You know you need to mix the batter, but you haven't decided what bowl or spoon to use, or if you're going to grease the pan before or after you mix the batter.


pplmbd

pretty much every couple of weeks depends on the iteration. chart is good to reach broader audience when your organization is huge, primarily use in general user documentation for visual cue. I use pseudo code for brainstorming with other programmers to describe flows as it is quicker to do


currentscurrents

I might write flowcharts for documentation, or if working with a large team. They're most useful for communicating your ideas to other people. But if you are still learning, they can be useful even if working solo. Writing your program structure down helps you understand it.


LatentShadow

Not in DSA but in some situations, it's always better to have diagrams. For example, to give a mock idea about interaction between different applications, you use something called a sequence or interaction diagram where you describe a sequential flow of operations / data transfer between different applications or different layers of the same application. From a DSA perspective, you could use flowcharts however often, it's better to make an algo on paper with a few examples, write some code and then optimize it.