digital medicine i introduction to programming
play

Digital Medicine I: Introduction to Programming Introduction to the - PowerPoint PPT Presentation

Hans-Joachim Bckenhauer and Dennis Komm Digital Medicine I: Introduction to Programming Introduction to the Course Autumn 2019 October 3, 2019 Welcome to the Course Material Lecture website https://courses.ite.inf.ethz.ch/digiMed19


  1. Hans-Joachim Böckenhauer and Dennis Komm Digital Medicine I: Introduction to Programming Introduction to the Course Autumn 2019 – October 3, 2019

  2. Welcome to the Course

  3. Material Lecture website https://courses.ite.inf.ethz.ch/digiMed19 Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 1 / 36

  4. The Team Lecturers Hans-Joachim Böckenhauer Dennis Komm Assistants Fabian Frei Lea Fritschi Sarah Kamp Jean Kaufmann Safira Piasko Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 2 / 36

  5. Appointments Lecture Thursday, 8:15 – 10:00, HG D 7.2 Exercises Monday, 13:15 – 15:00, CAB H 56 Thursday, 10:15 – 12:00, HG D 7.2 Exam Thursday, 12.12.2019 Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 3 / 36

  6. Goal of Today’s Lecture Introduction to computer model and algorithms General information about the lecture The first Python program Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 4 / 36

  7. Introduction to the Course Computer Model and Algorithms

  8. Computer – Concept What does a computer have to be able to do to compute? Does it have to be able to multiply? Isn’t it sufficient to be able to add? Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 5 / 36

  9. Computer – Concept What does a computer have to be able to do to compute? Does it have to be able to multiply? Isn’t it sufficient to be able to add? Turing Machine [Alan Turing, 1936] Finite number of states Memory consisting of arbitrarily many cells Alan Turing [Wikimedia] Pointer to current cell Pointer can change cell’s content and move left or right Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 5 / 36

  10. Computer – Implementation Analytical Engine – Charles Babbage (1837) Z1 – Konrad Zuse (1938) ENIAC – John von Neumann (1945) Charles Babbage [Wikimedia] Konrad Zuse [Wikimedia] John von Neumann [Wikimedia] Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 6 / 36

  11. Computer – Implementation Components of von Neumann Architecture Processor – CPU Memory for programs and data, e.g., Arithmetic unit random access memory (RAM) Control unit ALU Processor (CPU) for processing of programs and data BUS I/O components to communicate with Memory In-/Output periphery Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 7 / 36

  12. Memory for Program and Data Sequence of bits Program data: Values of all bits Composition of bits to memory cells (8 bits = 1 byte) Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 8 / 36

  13. Memory for Program and Data Sequence of bits Program data: Values of all bits Composition of bits to memory cells (8 bits = 1 byte) Every memory cell has an address Random access : Access time (almost) independent of address 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 Address: 17 Address: 18 Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 8 / 36

  14. Algorithm: Central Notion of Computer Science Algorithm Method for step-by-step solution of a problem Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 9 / 36

  15. Algorithm: Central Notion of Computer Science Algorithm Method for step-by-step solution of a problem Execution does not require intellect, only accuracy Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 9 / 36

  16. Algorithm: Central Notion of Computer Science Algorithm Method for step-by-step solution of a problem Execution does not require intellect, only accuracy after Muhammad al-Chwarizmi ; author of a arabic math book (around 825) "‘Dixit algorizmi. . . "’ Latin translation [Wikimedia] Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 9 / 36

  17. “The Oldest (Known) Non-Trivial Algorithm” Euclid’s Algorithm from Euclid’s Elements , 300 BC Input: integers a > 0 , b > 0 Output: gcd of a and b Input: a and b while b � = 0 if a > b then a = a − b else b = b − a Output: a Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 10 / 36

  18. “The Oldest (Known) Non-Trivial Algorithm” Euclid’s Algorithm from Euclid’s Elements , 300 BC Input: integers a > 0 , b > 0 Output: gcd of a and b Input: a and b while b � = 0 if a > b then a = a − b else b = b − a Output: a a b Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 10 / 36

  19. “The Oldest (Known) Non-Trivial Algorithm” Euclid’s Algorithm from Euclid’s Elements , 300 BC Input: integers a > 0 , b > 0 Output: gcd of a and b Input: a and b while b � = 0 if a > b then a = a − b else b = b − a Output: a a b a b Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 10 / 36

  20. “The Oldest (Known) Non-Trivial Algorithm” Euclid’s Algorithm from Euclid’s Elements , 300 BC Input: integers a > 0 , b > 0 Output: gcd of a and b Input: a and b while b � = 0 if a > b then a = a − b else b = b − a Output: a a b a b a b Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 10 / 36

  21. “The Oldest (Known) Non-Trivial Algorithm” Euclid’s Algorithm from Euclid’s Elements , 300 BC Input: integers a > 0 , b > 0 Output: gcd of a and b Input: a and b while b � = 0 if a > b then a = a − b else b = b − a Output: a a b a b a b a b Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 10 / 36

  22. “The Oldest (Known) Non-Trivial Algorithm” Euclid’s Algorithm from Euclid’s Elements , 300 BC Input: integers a > 0 , b > 0 Output: gcd of a and b Input: a and b while b != 0: if a > b : a = a − b else: b = b − a Output: a a b a b a b a b Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 10 / 36

  23. Introduction to the Course Computer Science in Medicine

  24. Computer Science in Medicine medical problem ? solution to medical problem Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 11 / 36

  25. Computer Science in Medicine computer science medical problem modeling problem A ACTGCATGGC A C C G G T A C G T C A C G A A T C G C A algorithmics, ? concepts of programming solution to solution to comp. medical problem science problem interpretation ACGCTAAGCACTGCATGGCCAA Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 11 / 36

  26. Computer Science in Medicine computer science medical problem modeling problem A ACTGCATGGC A C C G G T A C G T C A n C G e A A e T w C G t C e A e b c n n o e i i t c a s c i . n p m u algorithmics, m o m c ? d o n c a e concepts of n i c d i e m programming solution to solution to comp. medical problem science problem interpretation ACGCTAAGCACTGCATGGCCAA Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 11 / 36

  27. Computer Science in Medicine computer science medical problem modeling problem A ACTGCATGGC A C C G G T A C G T C A n C G e A A e T w C G t C e A e b c n n o e i i t c a s c i . n p m u algorithmics, m o m c ? d o n c a e concepts of n i c d i e m programming e n g e d e e d l w s b o a n s i k c solution to solution to comp. medical problem science problem interpretation ACGCTAAGCACTGCATGGCCAA Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 11 / 36

  28. Introduction to the Course Projects

  29. Projects During the semester, you work on three projects Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 12 / 36

  30. Projects During the semester, you work on three projects The project tasks will be published on 17.10. 07.11. 21.11. You work on the tasks on your own The exercise hours are meant for answering your questions Presentation of the solutions via the PELE system Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 12 / 36

  31. Projects The projects will be presented in the exercise hours Digital Medicine I: Introduction to Programming – Introduction to the Course Autumn 2019 Böckenhauer, Komm 13 / 36

Recommend


More recommend