Solving Complex Problems Through Programming

Wednesday 6 November 2024 - Block 7
← previous note | most current note | next note →
 

Daily Note

Hello and welcome back from break! 

Today we will review the big idea in our class and focus on section B. We will review success criteria and start learning about flowcharts (system diagrams)

We will practice flowcharts and begin creating system diagramming for our projects. 
 

Step-by-Step Guide: Building a Flowchart


1. Understand the Purpose of Your Flowchart
What are you trying to represent? Flowcharts visually outline the steps in a process or a system.
Define the starting and ending points of your process. This will help clarify the boundaries of your flowchart.

2. Identify Each Step in the Process
List out each action or decision that takes place from start to finish.
Be specific! For example, in a login system, steps might include “Enter Username” or “Check Password.”
Sequence the steps in order—flowcharts follow a logical progression.

3. Choose the Right Shapes for Each Step
Oval (Start/End): Use ovals to represent the beginning and the end of your process.
Rectangle (Process): Use rectangles for general actions or tasks, like “Calculate Sum” or “Send Email.”
Diamond (Decision): Diamonds are for decision points that have different outcomes, like “Is password correct?” (Yes/No).
Parallelogram (Input/Output): Use these shapes for inputs and outputs, such as “Receive Data” or “Display Results.”

4. Arrange Steps in a Logical Order
Start with the beginning oval at the top of your page.
Arrange each subsequent shape in a clear, top-to-bottom or left-to-right flow. Place decisions and branching paths as they occur in the sequence.
Make sure there’s a clear path from start to finish without confusing crossovers.

5. Add Connecting Arrows
Draw arrows to connect each shape, following the process flow.
Make sure arrows only flow in one direction (no loops or backtracking unless specified).
Label decision arrows with outcomes, such as “Yes” or “No,” to clarify choices.

6. Review and Check for Completeness
Go over each step to ensure that it follows the sequence.
Check each branch from decisions to ensure that all possibilities are covered.
Verify that the flowchart has a clear start and end.

7. Add Descriptions or Annotations (Optional)
For complex flowcharts, consider adding brief notes or descriptions beside each shape to clarify its function.
If a step leads to another, more complex flowchart, indicate that with an arrow pointing to “Sub-Process.”

8. Test the Flowchart with a Simple Walkthrough
Run through your flowchart from start to finish. Imagine you’re performing each action.
Look for errors or unclear steps, and adjust as needed.

9. Finalize and Clean Up
Make sure shapes are aligned, arrows are clear, and labels are easy to read.
Present your flowchart for review or feedback if part of a group activity.

 

 

A little less comfortable

Content

You should design and construct a design brief, where you demonstrate that you really understand the problem you are trying to solve. Please remember: the better you understand the problem, the better your solution will be. 

Process

The key thing here is the quality and depth  of your research. Good research is specific and detailed. Here's an example of some bad research: 

I asked a friend if my idea was good.  <-- the reason this evidence is poor is because there isn't alot of it, there is no evidence you have actually really thought about this. You should also have multiple sources of research, never just one. I don't see evidence you really understand the problem.

Perhaps a better example might look like this: 

I reviewed 4 different websites that solved the exact problem I was trying to solve. Each one had a very different interface and the way they displayed results was different. I started to understand that the way I ask questions and show results influenced how people framed the answer. For example, on the first website, I noticed there were....<-- this is good research because it is very detailed and specific. 

Product

Your research should:

  1. have multiple sources (between 3 and 5) 
  2. have detailed analysis (what did you learn, and what was different between the two research sources). 
  3. how did your research inform your product? 

A little more comfortable

Content

You should design and construct a design brief, where you demonstrate that you really understand the problem you are trying to solve. Please remember: the better you understand the problem, the better your solution will be. Your design brief should demonstrate you have ANALYZED your problem through your research.

Process

The key thing here is the quality and depth  of your research. Good research is specific and detailed. Great research directly addresses the problem you are trying to solve. In addition to everything from the "less comfortable with computer science" you should look for primary sources, perhaps even interviewing people who have tried to solve your problem.

Product

Your research should:

  1. have multiple, high quality sources (between 5 and 7) 
  2. have a highly detailed analysis about specific features in others solutions (what did you learn, and what was different between the two research sources). 
  3. clearly link the research to your problem. 

 

Our Big idea

The big idea for today is Design: Understanding a Problem.

The essential questions for this topic are:

How well do you really understand the problem you are trying to solve?

It takes time to explore and really understand a big idea. If you want to
learn more about design: understanding a problem (which is connected to today's daily note), please click here .

We are learning this because as a designers must understand scientific and technical innovation. Designers use systems, models, methods, and processes to solve problems.



Reminders & routines:

IF (this_block == first_block_day) {
     read_daily_bulletin;
}

IF (today == Friday) {
     computing_careers
}

As I am taking attendance:

  1. Please check now: is visual studio code working from my programming folder?