Computer Skills Advanced Algorithmic Problem Solving
Computer Skills Advanced Algorithmic Problem Solving
End or start
Flow control
Input/output
Almost a path from START to END must exist
Prof. Raffaella Folgieri non-standard flow diagram
Alternative elaboration
Document
Multiple documents
Manual input
Manual operation
Saved data
Magnetic disk (data
support/database)
Prof. Raffaella Folgieri Flow diagram – example1
(1275)
Prof. Raffaella Folgieri Flow diagram – example2
• Schemata of a
business service
• Users (use cases) have
been added
Prof. Raffaella Folgieri Natural language
• The flow diagram (flowchart) is a simply way to scheme
problems
• Another way (also used to analyse problems) is based on the
use of natural language, describing the solution
problem/process following the models:
– Top-down (decomposing the main problem in simple sub-
problems)
– Down-top (starting from the bottom)
Prof. Raffaella Folgieri
Do not confuse these terms with the financial
ones:
Top down strategy. Investment strategy
allowing to individuate sectors and industries
from which we expect a good performance.
Bottom‐up approach
the investor concentrate the attention of a
specific company instead of the sector in
which the company operates or on the
economy in its complex.
Prof. Raffaella Folgieri Tools to implement the methodologies
Input YEAR and PRICE Output
LEVEL per year Nominal PIL
Calculate components:
C/Prices level
numerically Data graphically
I/Prices level
G/Prices level presentation
NX/Prices level
Real PIL calculus: Conditional
PIE
Sum of components formatting
Output Real
PIL
END
Now we can translate the diagram into an algorithm (for example using formulas in Excel)
Prof. Raffaella Folgieri
ejoy flowcharts...
the friendship algorhythm:
https://www.youtube.com/watch?
v=k0xgjUhEG3U
Computer skills advanced
problem solving and computational
thinking
• At the Carnegie Mellon University.
• Main activity: PROBEs (PROBlem‐oriented
Explorations), application of new concepts of
the computational thinking to different
disciplines.
• The centre’s website:
http://www.cs.cmu.edu/~CompThink/
Prof. Raffaella Folgieri Computational thinking characteristics
The problem solving process is characterized by:
• Analysis and logical organization of data (data
modelling and data abstraction) and simulations
• Formulating problems to which a PC can give
support
• Identification, test and implementation of possible
solutions
• Automation of solution through the algorithmic
thinking
• Generalization and application of this process to
other problems
Prof. Raffaella Folgieri Computational thinking: web references
• Resources (particularly in social science):
http://education.sdsc.edu/resources/CompThinking.pdf
• University of Eindburg, computational thinking:
http://www.inf.ed.ac.uk/research/programmes/comp‐think/
(especially http://www.inf.ed.ac.uk/research/programmes/comp‐
think/previous.html )
• Wing’s paper:
http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/
Wing06.pdf
• Try to explore the computational thinking with Google:
http://www.google.com/edu/computational‐thinking/
• Based on computational thinking principles:
http://scalablegamedesign.cs.colorado.edu/wiki/Scalable_Game_Design_wi
ki (scalable game design)
http://www.cs4fn.org/ (computer science for fun)
http://www.ncwit.org/unplugged (computer science in a box)