commit a02e43836f597d2d94b69f9fbca6bc5b06251a73 Author: JAMES RYAN Date: Thu Aug 8 22:55:05 2024 -0400 finished flowcharts ver.1 lecture diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dc283f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*out_* diff --git a/README.md b/README.md new file mode 100644 index 0000000..dd8270c --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# Cooper Union CHESS CS Lectures +## James Ryan, Vaibhav Hariani. August 2024 + +These lectures are built with [mdslides](https://gitlab.com/da_doomer/markdown-slides). diff --git a/flowcharts/.flowcharts.md.swp b/flowcharts/.flowcharts.md.swp new file mode 100644 index 0000000..25edcf6 Binary files /dev/null and b/flowcharts/.flowcharts.md.swp differ diff --git a/flowcharts/flowcharts.md b/flowcharts/flowcharts.md new file mode 100644 index 0000000..2102f79 --- /dev/null +++ b/flowcharts/flowcharts.md @@ -0,0 +1,106 @@ +[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]: # (!!!) diff --git a/flowcharts/make.sh b/flowcharts/make.sh new file mode 100755 index 0000000..5d8e612 --- /dev/null +++ b/flowcharts/make.sh @@ -0,0 +1,8 @@ +#!/bin/bash +if ! [ $# -eq 1 ]; then + echo -e "usage: $0 \n\nmake sure media is in ./media!" | cowsay -n + exit 1 +fi + +mdslides $1 --include media --output_dir out_$1 +firefox ./out_$1/index.html diff --git a/flowcharts/media/ops/dec.svg b/flowcharts/media/ops/dec.svg new file mode 100644 index 0000000..974bf93 --- /dev/null +++ b/flowcharts/media/ops/dec.svg @@ -0,0 +1,99 @@ + + + + + Flowchart Decision + + + + + + + + image/svg+xml + Flowchart Decision + + + Devin Cook + + + + + IBM + + + IBM. (1970). Flowcharting Techniques, Publication: C20-8152-1 + The Decision Shape represents a Boolean structure. + 2015-05-08 + + + + + + + + diff --git a/flowcharts/media/ops/io.svg b/flowcharts/media/ops/io.svg new file mode 100644 index 0000000..d2af6e9 --- /dev/null +++ b/flowcharts/media/ops/io.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + image/svg+xml + Flowchart IO + + + Devin Cook + + + + + IBM + + + IBM. (1970). Flowcharting Techniques, Publication: C20-8152-1 + The IO Shape represents data being sent either into or out from the system. + 2015-05-08 + + + + + + + + diff --git a/flowcharts/media/ops/line.svg b/flowcharts/media/ops/line.svg new file mode 100644 index 0000000..147c8cf --- /dev/null +++ b/flowcharts/media/ops/line.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + image/svg+xml + + + + Devin Cook + + + + + IBM + + + IBM. (1970). Flowcharting Techniques, Publication: C20-8152-1 + Lines are used to show flow between shapes. + 2015-05-08 + + + + + + + + + diff --git a/flowcharts/media/ops/proc.svg b/flowcharts/media/ops/proc.svg new file mode 100644 index 0000000..0212337 --- /dev/null +++ b/flowcharts/media/ops/proc.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + image/svg+xml + Flowchart Process + + + Devin Cook + + + + + IBM + + + IBM. (1970). Flowcharting Techniques, Publication: C20-8152-1 + The Process Shape represents something computed, analyzed, etc... + 2015-05-08 + + + + + + + + diff --git a/flowcharts/media/ops/term.svg b/flowcharts/media/ops/term.svg new file mode 100644 index 0000000..2ab7730 --- /dev/null +++ b/flowcharts/media/ops/term.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + image/svg+xml + Flowchart Terminal + + + Devin Cook + + + + + IBM + + + IBM. (1970). Flowcharting Techniques, Publication: C20-8152-1 + The Terminal Shape denotes the start and end of a program. + 2015-05-08 + + + + + + + + diff --git a/flowcharts/media/xkdc.png b/flowcharts/media/xkdc.png new file mode 100644 index 0000000..fb4b837 Binary files /dev/null and b/flowcharts/media/xkdc.png differ