Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Informatik 1. Computational Thinking Institut für Informatik und angewandte Mathematik."—  Präsentation transkript:

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

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

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

4 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

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

6 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

7 © 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

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

9 © 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

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

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

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

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

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

15 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

31 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.

32 Programming is modeling © Oscar Nierstrasz Computational Thinking 32

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

34 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 € €

35 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

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


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

Ähnliche Präsentationen


Google-Anzeigen