Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Flowchart analysis

Learning goals

Compare flowchart with the text description and check correctness

E: Checking correctness

Peer feedback

Learning goals
  • Give feedback based on criteria.

  • Use a GitHub pull request to give feedback.

Giving feedback

Feedback can be formulated easier, if it is based on criteria. Criteria can in return improve how you do a task.

Here is an example, how we can give feedback for Exercise 3:

Example exercise

Input age, then name and store age and name in a database. If the user wants to enter more input, repeat the process.

Example criteria with feedback

Criteria

Comments

Score (0-2)

Has a start and end

end is missing

1

Used correct shapes

2

Process correct

Age input must come first, more input condition missing

1

Overall

I recommend more exercises on flowcharts

1

Overall is not necessarily the simple average, but rather a weighted average based on our feeling. It is a signal about how you are doing throughout the semester. In the end, you should focus on what you can improve rather than the score.

You will also give feedback to each other. We don’t expect to give each other scores — but you should give at least comments.

Feedback template

Peer feedback using GitHub

  1. In the GitHub organization, click the repository you want to give feedback to.

    The repository names consist of three parts. For example, indprog-hello-flowchart-geko-st means:

    1. Course abbreviation: always indprog

    2. Assignment name, e.g., hello-flowchart

    3. The user whose work resides in the repository, e.g., geko-st

  2. Inside the repository, click Pull requests tab:

  3. In pull requests, click the pull request Feedback.

  4. It shows a comment with you as the author, but actually Classroom 50 left this.

    Here you can (1) see the changes the student have done (2) comment on them.

  5. Click Files changed:

  6. Click on the comment icon of the file you want to comment on. Copy Feedback template there and comment on it.

  7. Click Preview to see how your text will be rendered.

  8. Click Start a review, if you want to give feedback to many files.

  9. After giving your feedback comments, click Submit review:

    A new window will show up.

  10. You can enter concluding comment on your review and leave the rest as defaults. Click Submit review.

  11. Then you will see your feedback in the conversation:

Finally, as the receiver, click on your repository and implement the feedback you received and resubmit your assignment.

E: Peer feedback

Larger picture

We will use Feedback in Pull requests for:

  1. ... finding out the changes implemented by the repository user since accepting the assignment (copying the assignment template).

  2. ... giving feedback to each other.

Tracking changes is a superpower of repositories.

Core programming concepts

Generalization: Exercise 3 gradually introduced the following core concepts:

  1. mdi:format-list-numbered Sequence

  2. mdi:import Input and variable

  3. mdi:export Output

  4. mdi:call-split Simple Condition

  5. mdi:call-split mdi:call-merge Compound condition

  6. mdi:call-split mdi:stairs Chained condition

  7. mdi:call-split mdi:file-tree Nested condition

  8. mdi:repeat Fixed-count repetition

  9. mdi:autorenew Condition-based repetition

  10. mdi:counter Counter

First let’s locate them in Exercise 3 together.

You will use them in programming ― often unconsciously.

Concepts

Example

A theater checks guests at the door. If a guest has a valid ticket and arrives before the show starts, output Welcome in!. Otherwise, output Sorry, boarding is closed.

This example contains:

Seq.Input / VarOutputSimple Cond.Comp. Cond.Nested Cond.Fixed-count LoopCond.-based LoopCounter
yesnoyesnoyesnononono

E: Matching concepts

E: Locating concepts in life

Further concepts

TODO

Further resources

Do you like graphics and would you like to try different programming languages or block-based programming, the following may be interesting: