Algorithms

Definition: An algorithm is a set of finite, well defined steps which outlines the solution to a specific problem.

Alternative Definition : WHAT IS AN ALGORITHM? – DEFINITION

We use algorithms every day to solve problems, weather we’re conscious of it or not.

When we cook a new dish we follow a recipe, when we solve a math problem we follow a procedure.

In our case, we’d like to document the solution to a specific problem using an algorithm so that we can communicate it to a programmer , or create the tool  as a program itself.

We use algorithms, but what are the properties of a good algorithm?

I’m sure you’ve come across bad algorithms already –

  • Vague recipe instructions, what exactly is 2 cups of flour?
  • A videogame walkthrough that isn’t descriptive enough
  • A video tutorial that talks  a lot about becoming a youtuber , but the steps aren’t outlined in order.

What are the properties of good instructions, good algorithms?

Properties of good algorithms

  • Has a  finite number of steps ( a definite beginning and an end)
  • Is precise,
  • Is unambiguous (not subject to interpretation)
  • Shows the flow of control from one sub-process to another
  • Must output results
  • It must terminate.

© 2021  Vedesh Kungebeharry. All rights reserved. 

Debugging

Definition: Finding and removing errors in your program is called debugging. 

While developing the solution to a program , it’s always a good practice to test your program by running it to ensure that the code runs as you intended. If it does not, you try to determine what caused the error and modify your code so that it’s fixed.

In class Demonstration

In the example below, we consider the task to be solved as part of a bigger program, however now, you would be working on the sprite movement:

https://scratch.mit.edu/projects/518447917/

(Credit: https://scratch.mit.edu/users/rickettr , https://scratch.mit.edu/users/CyberParra )

Teacher discusses and demonstrates how  the program can be fixed.

Discussion

Even if you are confident that you have completed your program, you should test it to see that it works correctly , before releasing your programming project for use by it’s intended audience.

 

In class exercise and homework

Open the following scratch studio and try debugging the projects listed after the studio:

https://scratch.mit.edu/studios/219583/

(Credit: https://scratch.mit.edu/studios/219583/curators/ , https://scratch.mit.edu/users/rickettr)

List of Projects to debug:

Debug-It 1.1

Debug-It 1.2

Debug-It 1.3

Debug-It 1.4

Debug-It 1.5

Contingency Class

See the pdf for notes that were given when the internet was not available for class:

https://drive.google.com/drive/folders/103wrSFX2SRvkDy3yvOrszRh2xONpR0l5?usp=sharing

“HOMEWORK – Perform the in class exercise and homework found on the post from our google classroom”

Debugging in Context – Finding the average of an unknown amount of numbers

See video Below:

UPDATES

2022 April 22nd – Added contingency class

2023 January 11th – Added Debugging in Context – Finding the average of an unknown amount of numbers video only.

© 2021  Vedesh Kungebeharry. All rights reserved. 

Collaborating with each other

—–Start: Our Syllabus Objective/Content: ——–OBJECTIVE
Internet-based tools for collaboration
CONTENT
Adding/Editing content; Site for shared working;
Google drive as a collaborative forum.

—–End: Our Syllabus Objective/Content: ——–

INSTRUCTION
1. Required: Review the content on collaboration here (Estimated Time 10 mins):https://islandclass.wordpress.com/2018/04/25/wikis-for-online-collabaration/

2. View the videos found via this link:

https://www.youtube.com/watch?v=S9LV1xR5lOo&list=PLU8ezI8GYqs5DMmx_GKEkugMqXdSocbFZ&index=1.


3. Practical: Write your Name and any message  on the google doc here: 

https://docs.google.com/document/d/1JO-KBeewj-d_390Mq9XeqWHvByFyZvdHkZ3RLKfMKnA/edit?usp=sharing
(The document is named, “Collaborating with each other”)

© 2021  Vedesh Kungebeharry. All rights reserved.