[comment]: # (THEME = black) [comment]: # (CODE_THEME = base16/zenburn) # Cooper CHESS CS: Flowcharts August 2024 James Ryan, Vaibhav Hariani [comment]: # (!!!) ## Brief Intro Hi, we're two Class of 26 EE students, Vaibhav Hariani [vaibhav.hariani@cooper.edu] \& James Ryan [james.ryan@cooper.edu]. Throughout the lecture, please do not be afraid to ask any questions! [comment]: # (!!!) ## What even \*IS\* a flowchart, anyways? Why should I care? Who even are you people? [comment]: # (|||) ![basically, this.](media/xkdc.png) Note: WE DONT CARE ABOUT SPECIFICS!!! For now, just describe whats going on, theres a problem posed, and its being... uh.. solved? [comment]: # (|||) Flowcharts let us take large, complex problems, and break them down into chunks. In the context of computer science, we can use these to think about how to implement our goals into code. [comment]: # (|||) ## Ok, how do I start making one of these? - Determine the problem - Consider each factor involved - What are the inputs? - From that, consider the steps involved to process your input into an output, from start to end. [comment]: # (|||) ### Flowchart Operators: Terminal
(as according to ISO 5807.. your mileage may vary.....)
![term](media/ops/term.svg) The Terminal represents the *start* or *end* of a flowchart, and is usually labeled as such, either explicitly or implicitly (eg. "receive signal") [comment]: # (|||) ### Flowchart Operators: Process ![term](media/ops/proc.svg) The Process represents a (group of) operation(s) which *changes* our information in some way. [comment]: # (|||) ### Flowchart Operators: Decision ![term](media/ops/dec.svg) The Decision operator changes our flow based on the *condition* set inside of the operator. [comment]: # (|||) ### Flowchart Operators: I/O ![term](media/ops/io.svg) The I/O (in/out) operator represents either the input or output of information into our workflow. [comment]: # (!!!) ## Another Look ![basically, this.](media/xkdc.png) Note: Walk through step by step and outline how we see each block being used. Comment how XKCD ignores ISO 5807 with the start blocks and io However, CLARITY is the most important part. Despite not using standards, we can tell whats going on lol [comment]: # (|||) ### Your turn: Consider you're at home, and need to decide to go grocery shopping or not. What do you need in order to get that done? (eg, do i have time?) Can you do it? Make a flowchart to figure that out. Get into groups, or do it yourself, up to you. Good luck! [comment]: # (!!!)