Visual Programming. (Week1) - Algorithms and Sequence Flowcharts. Pseudocode
Visual Programming. (Week1) - Algorithms and Sequence Flowcharts. Pseudocode
Introduction to Module.
Algorithms and sequence
Flowcharts. Pseudocode
Agenda
• Module Logistics
• Syllabus
• Assessment
• Intro to Visual Programming
• History of Programming
• Algorithms
• Pseudocode
• Flowcharts
Learning outcomes
• Familiarize yourself with history of visual programming
• Know problem solving process/pipeline
• Draw flowcharts for particular solutions
• Write pseudocode for particular solutions.
12 Teaching week calendar
Teaching Lecture
week
Unity
TW2. Introduction to Unity DE. Game objects and
materials. Basic concepts
TW 5.
UI elements
TW 6.
Instantiating objects
TW 7. Adding Audio. Clip, Source, Listener
TW 8. State graphs
TW 11.
Programming sensors
TW 12. Storages, connectivity.
Assessment
• Coursework – 60%
• PC lab in-class test – 40% - time constraint test
• Quizzes
What is Programming
• Programming
• Process of telling computer what to do
• Program
• a set of instructions
• Algorithm
• Sequence or order of instructions matters
• There is no right or wrong way, as long as it solves the problem
• Difference in factors, time and resources
• Sequence
• the first programming construct. In programming, statements are executed one after
another. Sequence is the order in which the statements are executed. The sequence of a
program is extremely important as carrying out instructions in the wrong order leads to a
program performing incorrectly.
Programming languages
• 5 generations
Programming languages
1st gen 2nd gen 3rd gen 4th gen 5th gen
1st generation
• Machine code
• 01010010101 - represents data and program instructions as 1s and 0s;
• Each instruction causes CPU to perform a very specific task;
• Different machine code is used by different CPU architecture;
• All programs are to be converted (compiled) into machine code to be
executed;
• Error-prone, tedious, and time-consuming
2nd generation
• Assembly language (first in1947)
• Indented to communicate directly with computer hardware or to address
critical performance issues;
• use mnemonic codes;
• requires a translator (assembler) to convert the assembly language program
into machine language;
• language is detailed in the extreme
Jessie White. An Introduction to Assembly Language
https://medium.com/@jleveewhite/an-introduction-to-
assembly-language-8144ce1dfb0e
3rd generation
• High level
• starting from 1960s
• COBOL, BASIC, FORTRAN, Python, JS, C#, Perl, PHP, Ruby, Java, etc.
• strong abstraction from the details of the computer (variables, arrays,
objects, loops, threads, functions, etc. rather than registers, memory
addresses and call-stacks)
• making the process of developing a program simpler and more
understandable
• compiled or interpreted
4th generation
• Very high level
• designed to reduce the complexity (and time, effort and cost) and amount of
source code required to create a program
• non-procedural, results-oriented, about 10 times more productive than
3GLs, easy to read and change, min training,
• SQL
5th generation
• Natural languages
• based on solving using constraints given to the program rather than using
an algorithm written
• Ill-defined, sometimes referred to as knowledge-based languages, because
natural languages are used to interact with a base of knowledge on some
subject
• Mercury, Prolog, OPS5
History of visual programming
1921 Introduction of flow process chart Adapted from:
https://www.outsystems.com/blog/posts/what-is-
visual-programming/
From:
https://9gag.com/gag/amXAzv6
Common symbols
• Arrow: process order
• Terminator: Elongated circles, which
signify the start or end of a process.
• Process: A rectangular flow chart shape
indicating a normal process flow step
(instructions or actions).
• Decision: A diamond flow chart shape
indication a branch in the process flow.
decisions that must be made
• Connector: A small, labeled, circular flow
chart shape used to indicate a jump in the
process flow.
• Data: A parallelogram that indicates data
input or output (I/O) for a process.
• Preparation: for iterative process
5. https://www.techtarget.com/searchsoftwarequality/definition/no-code
6. https://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading13.htm
7. https://www.bbc.co.uk/bitesize/guides/z3bq7ty/revision/1
8. https://www.youtube.com/watch?v=xdzN_dGaehw
9. https://warren2lynch.medium.com/a-comprehensive-guide-for-flowchart-over-50-examples-785d6dfdc380
10. https://www.outsystems.com/blog/posts/what-is-visual-programming/
11. https://www.outsystems.com/blog/posts/low-code-vs-no-code/
12. https://docs.unity3d.com/bolt/1.4/manual/bolt-states.html
13. https://creately.com/blog/diagrams/part-1-15-mistakes-you-would-unintentionally-make-with-flowcharts/