SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Cooking Software 101
      Pere Urbon-Bayes
     purbon@purbon.com

      Software Architect
     Belectric ITS GmbH
       Jena, Germany
Cooking Software 101

●   History of Software.
●   Basics of Algorithms.
●   The algorithms toolbox.
        –   Sort and Search.
        –   Recursion.
        –   Data structures.
History of Software
History of Software

●   Ramon Lull (Mallorca, Catalan Kingdom 1232-
    1315)
       –   Writer, Philosopher, Logician and Franciscan
            tertiary.
       –   Influence Leibniz, Newton, Darwing, ...
       –   1274 Ars Magna. 1308 Ars Generalis.
       –   Father of Artificial Intelligence, Computational
            Calculus and Combinatorics.
       –   http://ca.wikipedia.org/wiki/Ars_magna
       –   http://ca.wikipedia.org/wiki/Ramon_Llull
History of Software

●   Gottfried von Leibniz (Leipzig 1646-1716)
       –   Mathematician and Philosopher.
       –   Develop Infinitesimal Calculus, Binary System.
       –   Prolific inventor in mechanical calculators.
       –   Anticipated Information Theory, Lagrange
            Interpolation and aspects of the Turing
            Machine (Calculus ratiocinator).
       –   http://en.wikipedia.org/wiki/Gottfried_Wilhelm_
             Leibniz
History of Software

●   Alan Turing (UK 1912-1954)
       –   Mathematician, Logician, Cryptanalyst and
            computer scientist.
       –   Father of Computer Science, Algorithms and
            Computation (Turing Machine)
       –   Broke Enigma Machine Codes during WW2.
       –   ACE (1947 Manchester) stored prog computer
       –   Turing Test and Father of Artificial Intelligence
       –   http://en.wikipedia.org/wiki/Alan_Turing
History of Software
   (Programing Eniac)
History of Software
(Programing Punched Cards)
History of Software
  (Programing Assembly)
History of Software
  (Programing nowadays)




           b
History of Software
                 (References and Buzzwords)

●   Software Engineering
        –   Agile Software Development.
●   Imperative Programing (C/Pascal/...)
●   Object Orientation (C++/Java/...)
●   Logical Programing (Prolog/ML/...)
●   Functional Programing (Lisp/Erlang/Scala/...)

●   (Book) History of Computing: Software Issues:
    Conference on the History of Computing, ICHC 2000.
Basics of Algorithms
Basics of Algorithms
                        (Data Types)


●   Classics:                   ●   Sophisticated:
       –   Integers                    –   Linked Lists
       –   Doubles                     –   Tuples
       –   Floats                      –   Complex
       –   Characters                       numbers
       –   Strings
                                       –   Rational numbers
       –   Booleans
                                       –   Hash tables
       –   References
                                       –   1rst class
                                             functions
Basics of Algorithms
                            (Operations)


●   Basic mathematics:
       –   ++, –, +, -, *, /, %, += -= *= /= %=.
●   From logics:
       –   &, &=, &&, ||, ^, ^=, ~, !, !=, <<, >>.
●   Comparators:
       –   < <= > <= ==.
●   References and Assignations:
       –   (), [], →, :=.
Basics of Algorithms
                            (Operations)


●   Basic mathematics:
       –   ++, –, +, -, *, /, %, += -= *= /= %=.
●   From logics:
       –   &, &=, &&, ||, ^, ^=, ~, !, !=, <<, >>.
●   Comparators:
       –   < <= > <= ==.
●   References and Assignations:
       –   (), [], →, :=.
Basics of Algorithms
                    (Data structures)


●   Classics:                 ●   Sophisticated:
       –   Arrays                       –   Trees
       –   Lists                        –   Graphs
       –   Stacks                       –   Hash tables
       –   Queue                        –   Bitmaps
       –   ….                           –   Heaps
                                        –   Sets
                                        –   Dictionaries
                                        –   ….
Basics of Algorithms
                      (Flux control)

If (condition) then
   do something               If (condition) then
end                             do something
                              else if (condition) then
If (condition) then             do something more
  do something                else
else                            do something else
  do something else           end
end
Basics of Algorithms
                  (Flux control)

while (condition) do
 do something
end                  for (i:=0 to 100) do
                      Do something
                     end
do
 do something
while (condition) end

Notice some use until together with while
Basics of Algorithms
 (Functions and Procedures)
Basics of Algorithms
 (Functions and Procedures)
Algorithms toolbox
Algorithms toolbox
      (Sorting)
Algorithms toolbox
                          (Searching)


●   Linear search                ●   Binary search
       –   [3,7,4,2,10,1,11,9]           –   [1,2,3,4,7,9,10,11]
       –   [9]                           –   [9]
●   Cost: O(n)                   ●   Cost: O(log(n))
●   Other methods
       –   A*, B*,...
       –   Backtracking
       –   Combinatorial search
       –   Alpha-Beta pruning
Algorithms toolbox
            (Recursion)




function factorial(n) do
  If (n==0) then
      return 1;
  else
      return n * factorial(n-1);
  end
end
Algorithms toolbox
 (Data structures – Matrix )
Algorithms toolbox
 (Data structures - Lists)
Algorithms toolbox
(Data structures – Stack - Queue)
Algorithms toolbox
(Data structures – Hash Table )
Algorithms toolbox
(Data structures – Graph – Binary Tree )
Algorithms toolbox
(Data structures – Bitmap )
Cooking Software 101


 Ingredients+Methods <=> Data + Methods
Cooking Software 101


Thanks! Questions?
     Pere Urbon-Bayes
    purbon@purbon.com

     Software Architect
     Belectric ITS Gmbh
      Jena, Germany

Más contenido relacionado

Similar a Cooking Software101

19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm ComplexityIntro C# Book
 
Basic terminologies & asymptotic notations
Basic terminologies & asymptotic notationsBasic terminologies & asymptotic notations
Basic terminologies & asymptotic notationsRajendran
 
The Fuss about || Haskell | Scala | F# ||
The Fuss about || Haskell | Scala | F# ||The Fuss about || Haskell | Scala | F# ||
The Fuss about || Haskell | Scala | F# ||Ashwin Rao
 
Algorithm and Data Structures - Basic of IT Problem Solving
Algorithm and Data Structures - Basic of IT Problem SolvingAlgorithm and Data Structures - Basic of IT Problem Solving
Algorithm and Data Structures - Basic of IT Problem Solvingcoolpie
 
app4.pptx
app4.pptxapp4.pptx
app4.pptxsg4795
 
Advanced Data Analytics with R Programming.ppt
Advanced Data Analytics with R Programming.pptAdvanced Data Analytics with R Programming.ppt
Advanced Data Analytics with R Programming.pptAnshika865276
 
19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexity19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexityIntro C# Book
 
Slides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSlides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSonaCharles2
 
Profiling and optimization
Profiling and optimizationProfiling and optimization
Profiling and optimizationg3_nittala
 
Algorithms Intro Lecture
Algorithms Intro LectureAlgorithms Intro Lecture
Algorithms Intro LectureIra D
 
ScalaCheck
ScalaCheckScalaCheck
ScalaCheckBeScala
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce AlgorithmsAmund Tveit
 
Computability and Complexity
Computability and ComplexityComputability and Complexity
Computability and ComplexityEdward Blurock
 
DSJ_Unit I & II.pdf
DSJ_Unit I & II.pdfDSJ_Unit I & II.pdf
DSJ_Unit I & II.pdfArumugam90
 
Number Crunching in Python
Number Crunching in PythonNumber Crunching in Python
Number Crunching in PythonValerio Maggio
 

Similar a Cooking Software101 (20)

19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity19. Data Structures and Algorithm Complexity
19. Data Structures and Algorithm Complexity
 
Basic terminologies & asymptotic notations
Basic terminologies & asymptotic notationsBasic terminologies & asymptotic notations
Basic terminologies & asymptotic notations
 
The Fuss about || Haskell | Scala | F# ||
The Fuss about || Haskell | Scala | F# ||The Fuss about || Haskell | Scala | F# ||
The Fuss about || Haskell | Scala | F# ||
 
Lecture 1 (bce-7)
Lecture   1 (bce-7)Lecture   1 (bce-7)
Lecture 1 (bce-7)
 
Algorithm and Data Structures - Basic of IT Problem Solving
Algorithm and Data Structures - Basic of IT Problem SolvingAlgorithm and Data Structures - Basic of IT Problem Solving
Algorithm and Data Structures - Basic of IT Problem Solving
 
app4.pptx
app4.pptxapp4.pptx
app4.pptx
 
Advanced Data Analytics with R Programming.ppt
Advanced Data Analytics with R Programming.pptAdvanced Data Analytics with R Programming.ppt
Advanced Data Analytics with R Programming.ppt
 
Elixir basics
Elixir basicsElixir basics
Elixir basics
 
19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexity19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexity
 
17641.ppt
17641.ppt17641.ppt
17641.ppt
 
Slides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSlides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MD
 
17641.ppt
17641.ppt17641.ppt
17641.ppt
 
Cs syllabus 22
Cs  syllabus 22Cs  syllabus 22
Cs syllabus 22
 
Profiling and optimization
Profiling and optimizationProfiling and optimization
Profiling and optimization
 
Algorithms Intro Lecture
Algorithms Intro LectureAlgorithms Intro Lecture
Algorithms Intro Lecture
 
ScalaCheck
ScalaCheckScalaCheck
ScalaCheck
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
 
Computability and Complexity
Computability and ComplexityComputability and Complexity
Computability and Complexity
 
DSJ_Unit I & II.pdf
DSJ_Unit I & II.pdfDSJ_Unit I & II.pdf
DSJ_Unit I & II.pdf
 
Number Crunching in Python
Number Crunching in PythonNumber Crunching in Python
Number Crunching in Python
 

Último

Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptxJoelynRubio1
 
Philosophy of china and it's charactistics
Philosophy of china and it's charactisticsPhilosophy of china and it's charactistics
Philosophy of china and it's charactisticshameyhk98
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Tatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf artsTatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf artsNbelano25
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 

Último (20)

Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
Philosophy of china and it's charactistics
Philosophy of china and it's charactisticsPhilosophy of china and it's charactistics
Philosophy of china and it's charactistics
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Tatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf artsTatlong Kwento ni Lola basyang-1.pdf arts
Tatlong Kwento ni Lola basyang-1.pdf arts
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 

Cooking Software101

  • 1. Cooking Software 101 Pere Urbon-Bayes purbon@purbon.com Software Architect Belectric ITS GmbH Jena, Germany
  • 2. Cooking Software 101 ● History of Software. ● Basics of Algorithms. ● The algorithms toolbox. – Sort and Search. – Recursion. – Data structures.
  • 4. History of Software ● Ramon Lull (Mallorca, Catalan Kingdom 1232- 1315) – Writer, Philosopher, Logician and Franciscan tertiary. – Influence Leibniz, Newton, Darwing, ... – 1274 Ars Magna. 1308 Ars Generalis. – Father of Artificial Intelligence, Computational Calculus and Combinatorics. – http://ca.wikipedia.org/wiki/Ars_magna – http://ca.wikipedia.org/wiki/Ramon_Llull
  • 5. History of Software ● Gottfried von Leibniz (Leipzig 1646-1716) – Mathematician and Philosopher. – Develop Infinitesimal Calculus, Binary System. – Prolific inventor in mechanical calculators. – Anticipated Information Theory, Lagrange Interpolation and aspects of the Turing Machine (Calculus ratiocinator). – http://en.wikipedia.org/wiki/Gottfried_Wilhelm_ Leibniz
  • 6. History of Software ● Alan Turing (UK 1912-1954) – Mathematician, Logician, Cryptanalyst and computer scientist. – Father of Computer Science, Algorithms and Computation (Turing Machine) – Broke Enigma Machine Codes during WW2. – ACE (1947 Manchester) stored prog computer – Turing Test and Father of Artificial Intelligence – http://en.wikipedia.org/wiki/Alan_Turing
  • 7. History of Software (Programing Eniac)
  • 9. History of Software (Programing Assembly)
  • 10. History of Software (Programing nowadays) b
  • 11. History of Software (References and Buzzwords) ● Software Engineering – Agile Software Development. ● Imperative Programing (C/Pascal/...) ● Object Orientation (C++/Java/...) ● Logical Programing (Prolog/ML/...) ● Functional Programing (Lisp/Erlang/Scala/...) ● (Book) History of Computing: Software Issues: Conference on the History of Computing, ICHC 2000.
  • 13. Basics of Algorithms (Data Types) ● Classics: ● Sophisticated: – Integers – Linked Lists – Doubles – Tuples – Floats – Complex – Characters numbers – Strings – Rational numbers – Booleans – Hash tables – References – 1rst class functions
  • 14. Basics of Algorithms (Operations) ● Basic mathematics: – ++, –, +, -, *, /, %, += -= *= /= %=. ● From logics: – &, &=, &&, ||, ^, ^=, ~, !, !=, <<, >>. ● Comparators: – < <= > <= ==. ● References and Assignations: – (), [], →, :=.
  • 15. Basics of Algorithms (Operations) ● Basic mathematics: – ++, –, +, -, *, /, %, += -= *= /= %=. ● From logics: – &, &=, &&, ||, ^, ^=, ~, !, !=, <<, >>. ● Comparators: – < <= > <= ==. ● References and Assignations: – (), [], →, :=.
  • 16. Basics of Algorithms (Data structures) ● Classics: ● Sophisticated: – Arrays – Trees – Lists – Graphs – Stacks – Hash tables – Queue – Bitmaps – …. – Heaps – Sets – Dictionaries – ….
  • 17. Basics of Algorithms (Flux control) If (condition) then do something If (condition) then end do something else if (condition) then If (condition) then do something more do something else else do something else do something else end end
  • 18. Basics of Algorithms (Flux control) while (condition) do do something end for (i:=0 to 100) do Do something end do do something while (condition) end Notice some use until together with while
  • 19. Basics of Algorithms (Functions and Procedures)
  • 20. Basics of Algorithms (Functions and Procedures)
  • 22. Algorithms toolbox (Sorting)
  • 23. Algorithms toolbox (Searching) ● Linear search ● Binary search – [3,7,4,2,10,1,11,9] – [1,2,3,4,7,9,10,11] – [9] – [9] ● Cost: O(n) ● Cost: O(log(n)) ● Other methods – A*, B*,... – Backtracking – Combinatorial search – Alpha-Beta pruning
  • 24. Algorithms toolbox (Recursion) function factorial(n) do If (n==0) then return 1; else return n * factorial(n-1); end end
  • 25. Algorithms toolbox (Data structures – Matrix )
  • 26. Algorithms toolbox (Data structures - Lists)
  • 29. Algorithms toolbox (Data structures – Graph – Binary Tree )
  • 31. Cooking Software 101 Ingredients+Methods <=> Data + Methods
  • 32. Cooking Software 101 Thanks! Questions? Pere Urbon-Bayes purbon@purbon.com Software Architect Belectric ITS Gmbh Jena, Germany