Automatizce ve fyzice: úvodní hodina

Petr Čermák

2024-10-03

Info

Připojte se!

cermak.science/teaching/automation/lectures/01-uvod/presentation.html

Úvodní informace

  • Konzultace:
    • discord (nejrychlejší)
    • mail (klasika)
    • osobní setkání (kancelář mám na Karlově)

Automatizace - proč?

  • Zjednodušení práce - od kdy je to efektivní?
  • Reprodukovatelnost
  • Přenositelnost
  • F.A.I.R. principy

Programovací jazyk?

  • Strojový kód je pro člověka nečitelný
  • Závisí na procesoru
  • Programovací jazyk je čitelný, překladač ho zkompiluje do zdrojového kódu
  • Dynamické programovací jazyky - překládají se za běhu

Python

  • Snadno čitelný kód, populární ve vědě, AI, statistice
  • Mnoho dostupných knihoven

Excel

  • Nezatracujte ho - je to programování?
  • Python binding!!

Julia, R

Verzování

Git?

CI/CD ?

  • Continuous Integration / Continuous Deployment
  • Naměřím výsledky
  • script je automaticky zpracuje
  • gitlab!

Opakování

Co umíme? 1

1+1
2
2+3*4+1
15
2+3 * 4 +1
15
(2+3)*(4+1)
25
2**10
1024
2**100
1267650600228229401496703205376

Co umíme? 2

a = 5
b = 3
print(f"Výsledek je {a+b=}")
Výsledek je a+b=8

Co umíme? 3

numbers = [12, 34, 56, 78, 90]
total = 0

for num in numbers:
    total += num

average = total / len(numbers)
print(f"Průměr: {average}")
Průměr: 54.0
average = sum(numbers) / len(numbers)
print(f"Průměr: {average}")
Průměr: 54.0
import numpy as np
print(f"Průměr: {np.mean(numbers)}")
Průměr: 54.0

DISKUSE

Otázky:

  • Vyhovuje vám čas?
  • Co si představujete, že vám předmět přinese?
  • Na co byste se chtěli zaměřit?
    • git, gitlab, CI/`
    • python, jupyter, quarto
    • zpracování obrazu (opencv)
    • optimalizace (bayesovská, knihovny)
    • ros (komunikujeme s roboty)
    • F.A.I.R. - jak ukládat data