Algorytmy i struktury danych

Podobne dokumenty
Algorytmy i struktury danych

Algorytmy i struktury danych

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Informatyka - studium realizacji dźwięku -

Wstęp do Informatyki dla bioinformatyków

Architektura komputerów II - opis przedmiotu

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

PRZEWODNIK PO PRZEDMIOCIE

Logiczny model komputera i działanie procesora. Część 1.

WSTĘP DO INFORMATYKI. SYLABUS A. Informacje ogólne

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania. Wprowadzenie

Wstęp do współczesnej inżynierii EKS i komputery sterowane myślami. Andrzej Materka, listopad 2010

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Komputer i urządzenia z nim współpracujące.

PRZEWODNIK PO PRZEDMIOCIE

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

Opis efektów kształcenia dla modułu zajęć

Algorytmy i struktury danych

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA P L AN S T U DIÓW ST AC J O N AR N Y C H ( W UKŁAD Z I E S EMESTR AL N Y M ) Podstawy programowania

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy, reprezentacja algorytmów.

PRZEWODNIK PO PRZEDMIOCIE

Zaliczenie. Zaliczenie na ocenę Dla grupy kursów zaznaczyć X kurs końcowy (X) Liczba punktów ECTS 3 w tym liczba punktów ECTS

Wprowadzenie do współczesnej inżynierii. Rozwój komputerów i metod komunikacji człowieka z komputerem

Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy. Dokumentacja specjalności. Grafika komputerowa

PRZEWODNIK PO PRZEDMIOCIE

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Programowanie Niskopoziomowe

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Technologie informacyjne - wykład 12 -

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

Język Java i technologie Web - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

Nowoczesne projektowanie aplikacji intrnetowych - opis przedmiotu

Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy. Dokumentacja specjalności. Informatyka w działalności biznesowej

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

KARTA KURSU (realizowanego w module specjalności)

Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy. Dokumentacja specjalności. Grafika komputerowa

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Opis. Brak. Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

PRZEWODNIK PO PRZEDMIOCIE

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Kierunek: Inżynieria i Analiza Danych Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

PRZEWODNIK PO PRZEDMIOCIE

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

PRZEWODNIK PO PRZEDMIOCIE

Kierunek: Informatyka Stosowana Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

PRZEWODNIK PO PRZEDMIOCIE

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Programowanie obiektowe 1 - opis przedmiotu

Kierunek: Informatyka Stosowana Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Technologie mobilne - opis przedmiotu

LEKCJA TEMAT: Współczesne procesory.

PRZEWODNIK PO PRZEDMIOCIE

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

Rok akademicki: 2013/2014 Kod: RIA s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Egzamin / zaliczenie na ocenę*

Budowa Mikrokomputera

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Podstawy programowania w Pythonie

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Systemy internetowe, SI studia niestacjonarne Dla rocznika:

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH I-go STOPNIA (W UKŁADZIE SEMESTRALNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

Architektura systemów komputerowych

PRZEWODNIK PO PRZEDMIOCIE

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Systemy internetowe, SI studia stacjonarne Dla rocznika: 2018/2019

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

PRZEWODNIK PO PRZEDMIOCIE

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Wstęp do programowania

Współczesna problematyka klasyfikacji Informatyki

Budowa i zasada działania komputera. dr Artur Bartoszewski

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

Podstawy programowania

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Specjalnościowy Obowiązkowy Polski Semestr 5

Programowanie w internecie nazwa przedmiotu SYLABUS A. Informacje ogólne

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Transkrypt:

Algorytmy i struktury danych Wprowadzenie dla studentów kierunku Inżynieria Biomedyczna Łódź 2013

Informacje ogólne Wykładowcy Andrzej Materka materka@p.lodz.pl http://amaterka.pl tel.: 42 631 26 27 pokój 217, budynek B9 konsultacje: http://amaterka.pl/blog Marek Kociński marek.kocinski@p.lodz.pl http://www.eletel.p.lodz.pl/kocinski/ tel.: 42 631 26 17 pokój 218, budynek B9 konsultacje w kalendarzu: https://poczta2011.p.lodz.pl/service/user/marek.kocinski@p.lodz.pl/st udenci_2012.html 2

Informacje ogólne Laboratorium: 30 godz. (15 tyg. x 2 godz.) Miejsce: sala 413, budynek B9, Wólczańska 211/215 Punkty: 3 ECTS (1 punkt ECTS = 25-30 godz.) Praca własna: 75-90 godzin Język programowania: Python Narzędzia: Środowisko Enthought Canopy 3

Najpopularniejsze języki (według GitHub) 4

www.enthought.com 5

www.enthought.com/products /canopy/ 6

www.enthought.com/products /canopy/ 7

www.enthought.com/products /canopy/ 8

www.enthought.com/products /canopy/ 9

Kto używa języka Python? 10

Kto używa języka Python? 11

Kto używa języka Python? 12

Kto używa języka Python? 13

Python i inne języki 14

Komputery w medycynie - Systemy informatyczne w ochronie zdrowia - Obrazowanie medyczne (CT, MRI, ) - Ilościowa analiza obrazów - Analiza sygnałów medycznych - Systemy nawigacji chirurgicznej - Stymulatory serca - http://en.wikipedia.org/wiki/artificial_cardiac_pacemaker 15

Komputery w medycynie - Systemy informatyczne w ochronie zdrowia - Obrazowanie medyczne (CT, MRI, ) - Ilościowa analiza obrazów - Analiza sygnałów medycznych - Systemy nawigacji chirurgicznej - Stymulatory serca - http://content.dell.com/us/en/healthcare/healthcare-solutions Embedded systems - Czym jest komputer w tych zastosowaniach? - Jakie funkcje pełni? - Dlaczego używamy komputerów? 16

Architektura komputerów John von Neumann (1903-1957) Zegar 0 1 0 1 0 1 0 1 time Arithmethic Jednostka arytmetycznologiczna (ALU) Logic Unit (ALU) Krótszy okres zegara (większa częstotliwość) szybszy komputer Układy Input wejściowe devices Układy Control sterujące unit Układy Output wyjściowe devices Program Memory Pamięć Cykl pracy - Pobranie instrukcji - Zdekodowanie instrukcji - Pobranie danych - Wykonanie instrukcji - Zapamiętanie wyniku 17

Podstawy komputerów (Arithmetic Logic Unit + Control Unit) = Central Processing Unit (CPU) Arithmethic Logic Unit (ALU) Input devices Tekst Mowa, Muzyka, Obrazy Dane Wideo, Measurements, Control unit Memory Output devices Informacje Tekst Audio, Wideo, Animacje, Wykresy, Tabele, 18

Potrzeba programowania CPU Hardware Układ wejściowy Dane Pamięć Informacja Układ wyjściowy Program (aplikacja) Software Funkcja pełniona przez komputer zależy od programu (software u). Sprzęt (hardware) się nie zmienia. Jest to zaleta komputerów cyfrowych (elastyczność funkcjonalna). 19

Podstawowe założenia - Dane są zapisane w postaci liczb binarnych. - Czas wykonania elementarnych instrukcji jest bardzo krótki. - Elementy składowe układów komputera mają bardzo małe rozmiary. Reprezentacja liczb dziesiętna dwójkowa 10 1 8 4 2 1 0 0 1 1 2 1 0 3 1 1 4 1 0 0...... 1 5 1 1 1 1 dekompozycja na proste operacje odporność na zakłócenia 20

Podstawowe operacje na liczbach dwójkowych Reguły dodawania 0 0 1 1 +0 +1 +0 +1 0 1 1 10 6 5: 1 1 0 1 0 1 Kodowanie tekstu! - 00100001 $ - 00100100 A - 01000001 B - 01000010 Z - 01011010 a - 01100001 m - 01101110 1 1 0 0 0 0 + 1 1 0 Możliwość operacji na 1 1 1 1 0 symbolach 21

Pamięć komputera Kondensator Okładki A d Pojemność kondensatora C A d 1 bajt pamięci (8 bitów-) 0 0 0 1 1 0 0 1 Izolator Izolator (ε) + + + + + + + + + + + + Q - - - - - - - - - - - - Q CU Ładunek Pojemność U Napięcie 16 + 8 + 1 = 25 22

System operacyjny (Operating System) Zestaw programów do zarządzania sprzętem (hardware m) i do zapewniania usług (services) dla programów aplikayjnych. Przykłady: Microsoft Windows, Apple Mac OSX, Android, Linux. 23

Algorytm Procedura obliczeń, krok po kroku Muḥammad ibn Mūsā al-khwārizmī (Persian) 24

Języki programowania Generacje języków 1. Kod maszynowy (100011 00011 01000 ) Adres Mnemonik instrukcji Argumenty 2. Asembler 3. Zbliżone do języków ludzkich, kompilowane lub asemblowane przed wykonaniem (np. Java, C, Pascal) 4. Języki dziedzinowe (domain-specific) (np. COBOL) 5. Rozwiązywanie problemów przez użycie ograniczeń i warunków zamiast algorytmów napisanych przez programistę (sztuczna inteligencja, uczenia na przykładach). 25

Przykład: Python a asembler Asembler X86 x86-64 Linux, syntaks AT&T.section.rodata string:.ascii "Hello, World!\n\0" length:.quad. -string #Dot = 'here' Program do wyświetlania komunikatu Hello World _start:.section.globl _start movq $4, %rax movq $1, %rbx movq $string, %rcx movq length, %rdx int $0x80 movq %rax, %rbx movq $1, %rax int $0x80.text #Make entry point visible to linker #4=write #1=stdout #Call Operating System #Make program return syscall exit status #1=exit #Call System Again 26

Przykład: Python a asembler Program do wyświetlania komunikatu Hello World Kod w języku Python print "Hello World" 27

Literatura Head First Programming: A Learner s Guide to Programming Using the Python Language by David Griffiths Head First Python by Paul Barry Python Algorithms: Mastering Basic Algorithms in the Python Language by Magnus Lie hetland Python. Rozmówki, Brad Dyley Python od Podstaw zespół autorów Zanurkuj w pythonie (http://pl.wikibooks.org/wiki/zanurkuj_w_pythonie) Programowanie z Pythonem podręcznik stworzony dla studentów I roku neuroinformatyki I fizyki medycznej na Wydziale Fizyki Uniwersytetu Warszawskeigo(http://brain.fuw.edu.pl/edu/TI:Programowanie_z_Pythonem/Wersja _do_druku) I wiele innych książek oraz materiałów szkoleniowych dostępnych w Internecie 28

Ocena końcowa - 5 testów w czasie semestru (75 %) - Aktywność na zajęciach (obecność, prezentacje, programowanie) (25 %) Uczestnicy zajęć są zobowiązani do przynoszenia ich elektronicznych legitymacji studenckich. 29

Dobre rady Slajdy prezentowane na zajęciach nie obejmują całej wiedzy potrzebnej do zaliczenia testów. Wiedzę i umiejętności zdobywa się drogą studiów i ćwiczeń. Pomocne jest zapisywanie notatek w czasie zajęć. Warto przeglądać materiały szkoleniowe (ang. tutorials) dotyczące modułów języka Python używanych na zajęciach. 30

Wykorzystane materiały 1. Python for Scientist and Engineers slajdy szkoleniowe Enthought, Inc. www.enthought.com 2. www.pl.python.org 1. http://pl.python.org/docs/ 2. http://pl.python.org/kursy,jezyka.html 3. http://pl.python.org/wyklady.html 31

Aktualności 1. Konferencja SciPy wraz z dostępnymi prezentacjami video. http://conference.scipy.org/scipy2013/presentatio n_detail.php?id=129 2. Enthought stawia na rozwój obliczeń rozproszonych https://www.enthought.com/company/news/doesbir-grant 3. Dotacja dla IPythona z Microsoftu (!) http://ipython.org/microsoft-donation-2013.html 32