DS T01 - Pseudo Code
DS T01 - Pseudo Code
The bootcamp you are starting today is structured as a series of Tasks. Tasks
include a lesson component designed to teach you the theory needed to develop
your skills, as well as a Compulsory Task component designed to give you the
platform to apply your newly-gained knowledge by completing practical exercises.
The first section of this task serves as an introduction to pseudo code and how it
can be used to ease you into the world of programming. Once you’ve mastered the
art of using pseudo code to tackle complex programming problems, you’ll move
on to the second section of this task, where you’ll have the opportunity to learn
about algorithms, and how you can write them efficiently and succinctly.
Remember that with our courses, you’re not alone! You can contact an expert code
reviewer to get support on any aspect of your course.
Our team is happy to offer you support that is tailored to your individual career or
education needs. Do not hesitate to ask a question or for additional support!
If you’re taking this course, you’re brand new to the Python programming
language. You may even be new to programming altogether. Either way, you’ve
come to the right place!
HyperionDev knows what you need, but there are also other avenues you can
explore for help. One of the most frequently used by programmers worldwide is
Stack Overflow; it would be a good idea to bookmark this for future use.
Also, our blog is a great place to find detailed articles and tutorials on concepts
into which you may want to dig deeper. For instance, when you get more
comfortable with programming, if you want to read up about machine
learning, or learn how to deploy a machine learning model with Flask, you
can find all this information and more on our blog.
The blog is updated frequently, so be sure to check back from time to time for
new articles or subscribe to updates through our Facebook page.
What is pseudo code? And why do you need to know this? Well, being a
programmer means that you will often have to visualise a problem and know how
to implement the steps to solve a particular conundrum. This process is known as
writing pseudo code.
Pseudo code is not actual code; instead, it is a detailed yet informal description of
what a computer program or algorithm must do. It is intended for human reading
rather than machine reading. Therefore, it is easier for people to understand than
conventional programming language code. Pseudo code does not need to obey
any specific syntax rules, unlike conventional programming languages. Hence it
can be understood by any programmer, irrespective of the programming
languages they’re familiar with.
WHAT IS AN ALGORITHM?
For example, to find the product of n and 9 (when n is less than 10), you can write n
− 1 as the first digit and 10 − n as the second digit (e.g. 7 x 9 = 63). This trick is a
general solution for multiplying any single-digit number by 9. That’s an algorithm!
Similarly, the techniques you learned for addition with carrying, subtraction with
borrowing, and long division are all algorithms.
One of the characteristics of algorithms is that they do not require any intelligence
to execute. Once you have an algorithm, it’s a mechanical process in which each
step follows from the last according to a simple set of rules (like a recipe). However,
breaking down a hard problem into precise, logical algorithmic processes to reach
the desired solution is what requires intelligence or computational thinking.
In some instances, you may be required to draft algorithms for a third person.
Therefore, it is essential that your algorithms satisfy a particular set of criteria so
that they can be easily read by anyone.
Generally, an algorithm should usually have some input and, of course, some
eventual output. Take a look at the below section that explains input and output in
more detail.
INPUT AND OUTPUT
Input can be data or information that is sent to the computer using an input
device, such as a keyboard, mouse, or touchpad. Output is information that is
transferred out from the computer, such as anything you might view on the
computer monitor. It is sent out of the computer using an output device, such as a
monitor, printer, or speaker.
Input and output help the user keep track of the current status of the program.
They also aid in debugging if any errors arise. For example, say you have a series of
calculations in your program that build on each other; it would be helpful to print
out each of the programs to see if you’re getting the desired result at each stage.
Therefore, if a particular sequence in the calculation is incorrect, you would know
exactly where to look and what to adjust.
Take a look at the pseudo code example below that deals with multiple inputs and
outputs:
Example 1
Problem: write an algorithm that asks a user to input a password, and then stores
the password in a variable (the simplest structure we use in coding to store
values - you’ll learn more about these soon) called password. Subsequently, the
algorithm requests input from the user. If the input does not match the
password, it stores the incorrect passwords in a list until the correct password is
entered, and then prints out the content of the variable “password” (i.e. the right
password) and the incorrect passwords:
VARIABLES
In a program, variables act as a kind of ‘storage location’ for data. They are a way of
naming or labelling information so that we can refer to that particular piece of
information later on in the algorithm. For example, say you want to store the age of
the user so that the algorithm can use it later. You can store the user's age in a
variable called “age”. Now every time you need the user's age, you can input the
variable “age” to reference it.
As you can see, variables are very useful when you need to use and keep track of
multiple pieces of information in your algorithm. This is just a quick introduction to
variables. You will get a more in-depth explanation later on in this course.
Now that you are familiar with variables, take a look at some of the important
factors to keep in mind when writing algorithms for your pseudo code.
Clarity
Correctness
Capacity
Last but not least, you should note the capacity of your resources, as some
computing resources are finite (such as CPU or memory). Some programs may
require more RAM than your computer has or take too long to execute. Therefore,
it is imperative to think of ways to write efficient code so that the load on your
machine can be minimised.
Pseudo code is easy to write and understand, even if you have no programming
experience. You simply need to write down a logical breakdown of what you want
your program to do. Therefore, it is a good tool to use to discuss, analyse, and agree
on a program's design with a team of programmers, users, and clients before
coding the solution.
Example 1
get grade
print "passed"
else
print "failed"
Example 2
Write an algorithm that asks a user to enter their name and prints out "Hello,
World" if their name is "John":
Example 3
Problem: Write an algorithm that requests an integer from the user and prints
"fizz" if the number is even or "buzz" if it is odd:
print "fizz"
print "buzz"
There are a number of shapes or symbols used with flowcharts to denote the type
of instruction or function you are using for each step of the algorithm. The most
common symbols used for flowcharts are shown in the table below:
Symbol Use
Thus far, you’ve covered concepts that will see you starting to think like a
programmer. What exactly does thinking like a programmer entail?
Well, this way of thinking combines some of the best features of mathematics,
engineering, and natural science. Like mathematicians, computer scientists use
formal languages to denote ideas (specifically computations). Like engineers, they
design things, assemble components into systems, and evaluate tradeoffs among
alternatives. Like scientists, they observe the behaviour of complex systems, form
hypotheses, and test predictions.
On one level, you will be learning to program, a useful skill by itself. On another
level, you will use programming as a means to an end. As we go along, that end will
become clearer.
Pseudo code is one of the most underrated tools a programmer has. It’s worth getting into
the habit of writing your thought process in pseudo code in a book or a separate file
before you actually begin coding. This will help you make sure your logic is sound and your
program is more likely to work!
Compulsory Task
Follow these steps:
● Use a plain text editor like Notepad++. Create a new text file called
pseudo.txt inside the folder for this task in Dropbox.
● Inside pseudo.txt, write pseudo code for each of the following scenarios:
○ An algorithm that asks a user to enter a positive number repeatedly
until the user enters a zero value, then determines and outputs the
largest of the numbers that were input.
○ An algorithm that reads a grocery list and prints out the products
(in alphabetical order) that are still left to buy.
1. Make sure that you have installed and set up all programs correctly. You
have set up Dropbox correctly if you are reading this.
Hyperion strives to provide internationally-excellent course content that helps you
achieve your learning outcomes.
Think that the content of this task, or this course as a whole, can be improved, or
think we’ve done a good job?