SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Better Developers
Technical Presentation, 2014
Mikaël Donikian
Introduction
As a Developer you are mainly in charge of conception:
Transform business functionalities into code.
Had to deal with pieces of messy code before?

© 2014 Mikaël DONIKIAN

2
Summary
1)
2)
3)
4)
5)
6)

Introduction
Definition
Common Algorithms
Few Examples
Complexity
Questions

© 2014 Mikaël DONIKIAN

3
Definition: developer
• The coder, the programmer
and the developer
• Tasks:
–
–
–
–
–
–
–
–

Write code
Spec documents
Configuration management
Code reviews
Testing
Automated tests
Documentation
Solving tough customer problems

© 2014 Mikaël DONIKIAN

4
Definition: Algorithm 1/2
• “An algorithm is a sequence of unambiguous instructions for
solving a problem”[1] As it is supposed to be followed with
pencil and paper. It is usually expressed in pseudo-code.
• Algorithm comes from Al-Khowarazmi the mathematician who
introduce around the year 825, the use of Hindu-Arabic
numerals.
• Some algorithm are intuitive as we can find them trough logical
thinking but the most complex ones need to be learned so they
can be used to improve the efficiency of problem solving.
[1]

A. Levitin, Introduction to The Design & Analysis of Algorithms , Addison-Wesley, 2003

© 2014 Mikaël DONIKIAN

5
Definition: Algorithm 2/2
• Programming is the process of writing programs in a
logical way. Programs are implementing algorithm.
• Despite programs, algorithm are finite.

© 2014 Mikaël DONIKIAN

6
Common Algorithms
• Shortest Path (Dijkstra,
Graph theory, Trees …)
• Binary Search
• Merge, Quick, Insertion &
Bubble Sort

•
•
•
•

Collections
Recursively
Concurrency
Graph theory (Trees…)

© 2014 Mikaël DONIKIAN

7
Complexity
• Runtime analysis of an algorithm
• Need to estimate the relative time cost of an
algorithm (efficiency)
• Big O notation: infinite approximation of
infinite growth of a particular function in
infinite asymptotic notation.

© 2014 Mikaël DONIKIAN

8
Complexity - Example
• Given T(n) = 4n2 − 2n + 2
• As n grow large the term n2 will dominate
therefore T(n)=O(n2)

© 2014 Mikaël DONIKIAN

9
Complexity - order of growth
Notation

Name

O(1)

Constant

O(log n)

Logarithmic

O(n)

Linear

O(n log n)

Linearithmic

O(n2)

Quadratic

O(nc), c >1

Polynomial

O(cn), c >1

Exponential

O(n!)

Factorial

Big O cheat sheet can be found here: http://bigocheatsheet.com/
© 2014 Mikaël DONIKIAN

10
Fibonacci Algorithm
• Fn = Fn-1 + Fn-2

with seed value

F0=0 and F1=1

• This is a recursive algorithm
def fib(n):
if n==0: return 0
elif n==1 return 1
Else return (fib(n-1)+fib(n-2))
© 2014 Mikaël DONIKIAN

11
Bubble sort
• Complexity O(n2)
• This algorithm is not the best when “n” is very
large
• It compares in a list each pair of adjacent items
and swap them if they are not in the right order.
Every iteration, the last value is considered
sorted and then the number of values checked
is decreased by one.

© 2014 Mikaël DONIKIAN

12
Questions & Answers

N.B. Algorithms are used everywhere and very early

in biology to simulate the process of natural
selection.
© 2014 Mikaël DONIKIAN

13
References
•
•
•
•
•
•
•
•
•
•
•

Donald E. Knuth, “The Art of Computer Programming Vol.1 Fundamental
Algorithms”, Addison Wesley, (3rd Ed.) 1997
http://www.software.ac.uk/blog/2011-04-14-coder-programmer-or-softwaredeveloper-spot-difference
http://www.ericsink.com/No_Programmers.html
Robert C. Martin, ‘’Clean Code’’, Pearson, 2009
http://www.topcoder.com/tc?d1=tutorials&d2=alg_index&module=Static
http://www.cut-the-knot.org/WhatIs/WhatIsAlgorithm.shtml
http://www.matrixlab-examples.com/algorithm-examples.html
http://www.quora.com/Programming-Interviews/What-are-fundamentals-youshould-know-before-a-technical-interview
http://www.careercampus.net/resources/programming_fundas.htm
http://en.wikipedia.org/wiki/Big_O_notation
http://en.wikipedia.org/wiki/Analysis_of_algorithms
© 2014 Mikaël DONIKIAN

14

Weitere ähnliche Inhalte

Ähnlich wie Better Developers

Job scheduling in a paint manufacturing company in benin city
Job scheduling in a paint manufacturing company in benin cityJob scheduling in a paint manufacturing company in benin city
Job scheduling in a paint manufacturing company in benin cityAlexander Decker
 
Introduction to Deep Neural Network
Introduction to Deep Neural NetworkIntroduction to Deep Neural Network
Introduction to Deep Neural NetworkLiwei Ren任力偉
 
From programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides availableFrom programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides availableCelso Martins
 
The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021Anders Lundsgård
 
CocomoModels MGK .ppt
CocomoModels MGK .pptCocomoModels MGK .ppt
CocomoModels MGK .pptssuser3d1dad3
 
Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1Vincenzo De Florio
 
Cse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogrammingCse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogrammingMd. Ashikur Rahman
 
Mathematical Modeling for Practical Problems
Mathematical Modeling for Practical ProblemsMathematical Modeling for Practical Problems
Mathematical Modeling for Practical ProblemsLiwei Ren任力偉
 
memory_allocation_use1.ppt
memory_allocation_use1.pptmemory_allocation_use1.ppt
memory_allocation_use1.pptKanchanTiwari45
 
Chapter One.pdf
Chapter One.pdfChapter One.pdf
Chapter One.pdfabay golla
 
CSE202.pptx
CSE202.pptxCSE202.pptx
CSE202.pptxJoyBoy45
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureBrad Beiermann
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application ArchitectureBrad Beiermann
 
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...SohamChatterjee47
 
Beyond Data: Delivering Machine Translation with Subject Matter Expertise
Beyond Data: Delivering Machine Translation with Subject Matter ExpertiseBeyond Data: Delivering Machine Translation with Subject Matter Expertise
Beyond Data: Delivering Machine Translation with Subject Matter ExpertiseIconic Translation Machines
 

Ähnlich wie Better Developers (20)

Ti1220 Lecture 1
Ti1220 Lecture 1Ti1220 Lecture 1
Ti1220 Lecture 1
 
Job scheduling in a paint manufacturing company in benin city
Job scheduling in a paint manufacturing company in benin cityJob scheduling in a paint manufacturing company in benin city
Job scheduling in a paint manufacturing company in benin city
 
Introduction to Deep Neural Network
Introduction to Deep Neural NetworkIntroduction to Deep Neural Network
Introduction to Deep Neural Network
 
From programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides availableFrom programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides available
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
 
CocomoModels MGK .ppt
CocomoModels MGK .pptCocomoModels MGK .ppt
CocomoModels MGK .ppt
 
Kku2011
Kku2011Kku2011
Kku2011
 
Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1Advanced Computer Architectures – Part 1
Advanced Computer Architectures – Part 1
 
Symbexecsearch
SymbexecsearchSymbexecsearch
Symbexecsearch
 
Cse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogrammingCse115 lecture02overviewofprogramming
Cse115 lecture02overviewofprogramming
 
Mathematical Modeling for Practical Problems
Mathematical Modeling for Practical ProblemsMathematical Modeling for Practical Problems
Mathematical Modeling for Practical Problems
 
memory_allocation_use1.ppt
memory_allocation_use1.pptmemory_allocation_use1.ppt
memory_allocation_use1.ppt
 
Chapter One.pdf
Chapter One.pdfChapter One.pdf
Chapter One.pdf
 
CSE202.pptx
CSE202.pptxCSE202.pptx
CSE202.pptx
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoring
 
The Language of Application Architecture
The Language of Application ArchitectureThe Language of Application Architecture
The Language of Application Architecture
 
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
APznzaZSEwUJhKEim-rOA-Svk6nc1xZygCeBBAW4QZluPqM0dLSELK_S9YNDE8po44L2LgB6Is5VJ...
 
Beyond Data: Delivering Machine Translation with Subject Matter Expertise
Beyond Data: Delivering Machine Translation with Subject Matter ExpertiseBeyond Data: Delivering Machine Translation with Subject Matter Expertise
Beyond Data: Delivering Machine Translation with Subject Matter Expertise
 

Kürzlich hochgeladen

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Kürzlich hochgeladen (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Better Developers

  • 2. Introduction As a Developer you are mainly in charge of conception: Transform business functionalities into code. Had to deal with pieces of messy code before? © 2014 Mikaël DONIKIAN 2
  • 4. Definition: developer • The coder, the programmer and the developer • Tasks: – – – – – – – – Write code Spec documents Configuration management Code reviews Testing Automated tests Documentation Solving tough customer problems © 2014 Mikaël DONIKIAN 4
  • 5. Definition: Algorithm 1/2 • “An algorithm is a sequence of unambiguous instructions for solving a problem”[1] As it is supposed to be followed with pencil and paper. It is usually expressed in pseudo-code. • Algorithm comes from Al-Khowarazmi the mathematician who introduce around the year 825, the use of Hindu-Arabic numerals. • Some algorithm are intuitive as we can find them trough logical thinking but the most complex ones need to be learned so they can be used to improve the efficiency of problem solving. [1] A. Levitin, Introduction to The Design & Analysis of Algorithms , Addison-Wesley, 2003 © 2014 Mikaël DONIKIAN 5
  • 6. Definition: Algorithm 2/2 • Programming is the process of writing programs in a logical way. Programs are implementing algorithm. • Despite programs, algorithm are finite. © 2014 Mikaël DONIKIAN 6
  • 7. Common Algorithms • Shortest Path (Dijkstra, Graph theory, Trees …) • Binary Search • Merge, Quick, Insertion & Bubble Sort • • • • Collections Recursively Concurrency Graph theory (Trees…) © 2014 Mikaël DONIKIAN 7
  • 8. Complexity • Runtime analysis of an algorithm • Need to estimate the relative time cost of an algorithm (efficiency) • Big O notation: infinite approximation of infinite growth of a particular function in infinite asymptotic notation. © 2014 Mikaël DONIKIAN 8
  • 9. Complexity - Example • Given T(n) = 4n2 − 2n + 2 • As n grow large the term n2 will dominate therefore T(n)=O(n2) © 2014 Mikaël DONIKIAN 9
  • 10. Complexity - order of growth Notation Name O(1) Constant O(log n) Logarithmic O(n) Linear O(n log n) Linearithmic O(n2) Quadratic O(nc), c >1 Polynomial O(cn), c >1 Exponential O(n!) Factorial Big O cheat sheet can be found here: http://bigocheatsheet.com/ © 2014 Mikaël DONIKIAN 10
  • 11. Fibonacci Algorithm • Fn = Fn-1 + Fn-2 with seed value F0=0 and F1=1 • This is a recursive algorithm def fib(n): if n==0: return 0 elif n==1 return 1 Else return (fib(n-1)+fib(n-2)) © 2014 Mikaël DONIKIAN 11
  • 12. Bubble sort • Complexity O(n2) • This algorithm is not the best when “n” is very large • It compares in a list each pair of adjacent items and swap them if they are not in the right order. Every iteration, the last value is considered sorted and then the number of values checked is decreased by one. © 2014 Mikaël DONIKIAN 12
  • 13. Questions & Answers N.B. Algorithms are used everywhere and very early in biology to simulate the process of natural selection. © 2014 Mikaël DONIKIAN 13
  • 14. References • • • • • • • • • • • Donald E. Knuth, “The Art of Computer Programming Vol.1 Fundamental Algorithms”, Addison Wesley, (3rd Ed.) 1997 http://www.software.ac.uk/blog/2011-04-14-coder-programmer-or-softwaredeveloper-spot-difference http://www.ericsink.com/No_Programmers.html Robert C. Martin, ‘’Clean Code’’, Pearson, 2009 http://www.topcoder.com/tc?d1=tutorials&d2=alg_index&module=Static http://www.cut-the-knot.org/WhatIs/WhatIsAlgorithm.shtml http://www.matrixlab-examples.com/algorithm-examples.html http://www.quora.com/Programming-Interviews/What-are-fundamentals-youshould-know-before-a-technical-interview http://www.careercampus.net/resources/programming_fundas.htm http://en.wikipedia.org/wiki/Big_O_notation http://en.wikipedia.org/wiki/Analysis_of_algorithms © 2014 Mikaël DONIKIAN 14