Einführung in die Informatik 1. Computational Thinking Institut für Informatik und angewandte Mathematik.

Slides:



Advertisements
Ähnliche Präsentationen
Finding the Pattern You Need: The Design Pattern Intent Ontology
Advertisements

H - A - M - L - E - IC T Teachers Acting Patterns while Teaching with New Media in the Subjects German, Mathematics and Computer Science Prof. S. Blömeke,
R. Zankl – Ch. Oelschlegel – M. Schüler – M. Karg – H. Obermayer R. Gottanka – F. Rösch – P. Keidler – A. Spangler th Expert Meeting Business.

Verbs Used Impersonally With Dative Deutsch I/II Fr. Spampinato.
Doris Kocher, PH Freiburg
Vorlesung: Einführung in der Bioinformatik
Can you think of some KEY phrases which would be useful in multiple contexts? Take 2 minutes with a partner and come up with as many as you can!
Don`t make me think! A Common Sense Approach to Web Usability
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
Engineering tools for the NEO engineer
Image Processing and Analysis Introduction. How do we see things ?
How Does Fuzzy Arithmetic Work ? © Hartwig Jeschke Institut für Mikroelektronische Schaltungen und Systeme Universität Hannover
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
Der formelle Imperativ – the Imperative
Coordinating Conjunctions Why we need them & how to use them deutschdrang.com.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Die Kunst des Programmierens...
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Die Fragen Wörter Wer? Was? Wann?.
SiPass standalone.
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
Arbeiten in einem agilen Team mit VS & TFS 11
Nachweis von B 0 s -Oszillationen mit dem ATLAS Detektor am LHC B. Epp 1, V.M. Ghete 2, E. Kneringer 1, D. Kuhn 1, A. Nairz 3 1 Institut für Experimentalphysik,
Rules of Play - Game Design Fundamentals by Katie Salen and Eric Zimmerman Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung.
What is a “CASE”? in English: pronouns, certain interrogatives
Lernziel: ICH KANN *Express wishes when shopping
Physik multimedial Lehr- und Lernmodule für das Studium der Physik als Nebenfach Julika Mimkes: Links to e-learning content for.
What is a “CASE”? in English: pronouns, certain interrogatives
type / function / form type of words:
The Journey to America… The Immigrant Experience.
Studentenstreik 2009, 2010 in Deutschland Part 1: Studiengebühren.
KLIMA SUCHT SCHUTZ EINE KAMPAGNE GEFÖRDERT VOM BUNDESUMWELTMINISTERIUM Co2 online.
Kapitel 4: Mein Tag Sprache.
EUROPÄISCHE GEMEINSCHAFT Europäischer Sozialfonds EUROPÄISCHE GEMEINSCHAFT Europäischer Fonds für Regionale Entwicklung Workpackage 5 – guidelines Tasks.
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Universität StuttgartInstitut für Wasserbau, Lehrstuhl für Hydrologie und Geohydrologie Numerical Modelling – Policy Interface Workshop 12. March 2007.
Kapitel 8 Grammar INDEX 1.Command Forms: The Du-Command Form & Ihr- Command 2.Sentences & Clauses.
EUROPÄISCHE GEMEINSCHAFT Europäischer Sozialfonds EUROPÄISCHE GEMEINSCHAFT Europäischer Fonds für Regionale Entwicklung Workpackage 5 – guidelines Tasks.
Environment problems The problems - The problem of waste  too much trash -People use too much cars -Oil platform accidents -Exhaust gas pollution -Deforestation.
VERBEN KONJUGIEREN. What is a verb? An ________ _______, mental __________ or ________.  Examples of verbs:  __________________________ actionword state.
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
Deutsch 3 Frau Snell. Unsere Ziele: use the present perfect tense to describe actions in the past  Tagesordnung  Wir beginnen!  Was habt ihr letzte.
LLP DE-COMENIUS-CMP Dieses Projekt wurde mit Unterstützung der Europäischen Kommission finanziert. Die Verantwortung für den Inhalt dieser.
Learning Linear Ordering Problems for Better Translation Roy Tromble, Google Pittsburgh Jason Eisner, Johns Hopkins August 7, 2009.
Fitness. An english presentation.
Deutsch I Telling time….
Systemanalyse BA Heidenheim 2002.
Deutsch I für Anfänger Beginning German I
Aspect-Oriented Programming: Fad or the Future
IETF 80 Prague DISPATCH WG
THE PERFECT TENSE IN GERMAN
Deutsch I für Anfänger Beginning German I
Ferrite Material Modeling (1) : Kicker principle
Arbeitsfeld Lehrerausbildung im LfS Edwin Stiller
Impact of Digitalization for Engineers and Engineering Education
Wie viel Uhr ist es? Telling Time.
Deutsch I für Anfänger Introduction to German Verb Conjugation.
Think of it as a business!
ELECTR IC CARS Karim Aly University of Applied Sciences.
type / function / form type of words:
Integrating Knowledge Discovery into Knowledge Management
Practical Exercises and Theory
Die tiere Share: Introduce the session and PDSA.
You need to use your mouse to see this presentation
Beginning German I Frau Caplan-Carbin
 Präsentation transkript:

Einführung in die Informatik 1. Computational Thinking Institut für Informatik und angewandte Mathematik

© Oscar Nierstrasz 2 Roadmap  What is Computer Science?  Computational Thinking  Modeling  Software Engineering Computational Thinking

© Oscar Nierstrasz 3 Roadmap  What is Computer Science?  Computational Thinking  Modeling  Software Engineering Computational Thinking

Schedule DatumThemaDozent Computational ThinkingNierstrasz Programmiersprachen, -paradigmen und -technologieNierstrasz Endliche Automaten, reguläre AusdrückeStuder Syntax und SemantikJäger Diskretisierung/SignalverarbeitungZwicker SimulationZwicker ComputernetzeBraun Programme und BeweiseJäger BerechenbarkeitStrahm KomplexitätStrahm BetriebssystemeBraun TBA Datenbanken und PrivacyStuder Prüfung © Oscar Nierstrasz Computational Thinking 4

What is Computer Science … not © Oscar Nierstrasz Computational Thinking 5 Computer Science is not hacking programming technology Hacking for Dummies

What is Computer Science? © Oscar Nierstrasz Computational Thinking 6 Computer Science is about building bridges between user problems and technological solutions Real-world domain Technology domain

© Oscar Nierstrasz Computational Thinking 7 Übersicht Informatik Theorie (Automaten und formale Sprachen, Berechenbarkeit, Komplexität, Logik, Algorithmen) Praxis (Programmiersprachen, Betriebssysteme, Netzwerke &Verteilte Systeme, Software Engineering, Datenbanken, Rechnerarchitektur) Schnittstellen zur Aussenwelt (Mensch-Maschine Schnittstelle, Computer- vision, Computergrafik, Sensornetze, Künstliche Intelligenz, Computerlinguistik) Wirtschaftsinformatik Anwendungs- software Wissenschaftliche Anwendungen (Modellierung und Simulation, Biologie, Physik, Chemie, Sozialwissenschaften, etc.) Informatikstudium Andere Studiengänge Mathematik

© Oscar Nierstrasz 8 Roadmap  What is Computer Science?  Computational Thinking  Modeling  Software Engineering Computational Thinking

© Oscar Nierstrasz Computational Thinking 9 “Computational thinking is a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science” — Jeannette M. Wing, CACM 2006 “Computational thinking is a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science” — Jeannette M. Wing, CACM 2006

Abstraction © Oscar Nierstrasz Computational Thinking 10 Abstractions strip away details to help us cope with complexity

Decomposition & Separation of concerns © Oscar Nierstrasz Computational Thinking 11 We decompose complex tasks by separating concerns

Parallel algorithms © Oscar Nierstrasz Computational Thinking 12 By distributing tasks to many workers, we get more done in the same amount of time

Recursion © Oscar Nierstrasz Computational Thinking 13 Many navigation problems can be effectively solved using recursion.

Backtracking © Oscar Nierstrasz Computational Thinking 14 Many search problems can be solved with the help of backtracking

Prefetching and cacheing © Oscar Nierstrasz Computational Thinking 15 Prefetching = get what you need before you need it Cacheing = keep handy whatever you will need again

Planning and optimization © Oscar Nierstrasz Computational Thinking 16 Planning may require sophisticated analysis of multiple scenarios

Pipelining © Oscar Nierstrasz Computational Thinking 17 Pipelining makes efficient use of expensive resources

Interpreting data as code and code as data © Oscar Nierstrasz Computational Thinking 18 We process instructions before acting on them

Distinguishing humans from computers © Oscar Nierstrasz Computational Thinking 19 Certain tasks are known to be difficult for computers to solve

Concurrency control © Oscar Nierstrasz Computational Thinking 20 Contention for shared resources can lead to both safety problems and liveness problems.

Simulation © Oscar Nierstrasz Computational Thinking 21 Expensive experiments can be replaced by inexpensive simulations

© Oscar Nierstrasz 22 Roadmap  What is Computer Science?  Computational Thinking  Modeling  Software Engineering Computational Thinking

Modeling © Oscar Nierstrasz Computational Thinking 23 A model captures certain properties of interest of a subject

Human models capture how clothes might look on us (or not) © Oscar Nierstrasz Computational Thinking 24 Models only stand in for the real thing

Blueprints specify a design © Oscar Nierstrasz Computational Thinking 25 Models as specifications allow us to reason about a thing before we have built it.

Physical models let us test feasibility of designs © Oscar Nierstrasz Computational Thinking 26 Scale models only capture some aspects of reality.

Finite state models express states and transitions of a process © Oscar Nierstrasz Computational Thinking 27

Turing machines model computability © Oscar Nierstrasz Computational Thinking 28 We use mathematical models to reason about computability and complexity

Computer graphics models capture visual aspects of real (or imagined) objects © Oscar Nierstrasz Computational Thinking 29 Different models express different properties

Business models support decision making © Oscar Nierstrasz Computational Thinking 30 A business model expresses the core values of a business

Software models express architecture and design © Oscar Nierstrasz Computational Thinking 31 The Unified Modeling Language (UML) consists of several different types diagrams to describe software designs, architectures, and requirements models.

Programming is modeling © Oscar Nierstrasz Computational Thinking 32

© Oscar Nierstrasz 33 Roadmap  What is Computer Science?  Computational Thinking  Modeling  Software Engineering Computational Thinking

Software Engineering © Oscar Nierstrasz Computational Thinking 34 Software Engineering consists of processes and techniques to develop software products within a given budget and deadline and satisfying functional and quality requirements Software Engineering consists of processes and techniques to develop software products within a given budget and deadline and satisfying functional and quality requirements € €

How Software Engineering bridges domains © Oscar Nierstrasz Computational Thinking 35 capture and model requirements architecture, design, implementation quality assurance and testing Real-world domain Technology domain

Conclusion © Oscar Nierstrasz Computational Thinking 36 Software Engineering builds bridges between users and technology Programming is modeling Computer science requires computational thinking