SlideShare a Scribd company logo
1 of 14
Download to read offline
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

More Related Content

Similar to 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
 

Similar to 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
 

Recently uploaded

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

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