Programozás biológusoknak
2019 - C (és Wolfram Mathematica)
Oktató: Zachar István
Tantárgy célja, célkitűzései
A programozás biológusoknak speciális kollégium egy állandó igény kielégítésére: biológusok számára érthető, problémaorientált bevezetést nyújtani a programozásba. A tantárgy azoknak szól, akik nem tudnak még programozni, s most ismerkednek meg a biológia adatelemzésben, szimulációban és bioinformatikában is alkalmazható programnyelvvel. A választott programozási nyelv a C, amely gyors programfejlesztést tesz lehetővé, általánosan használható, minden elterjedt operációs rendszer alatt működik, és a legtöbb ma használt programozási nyelv őse (vagy legalább is hatott rájuk, pl. C#, C++, Php, Python, Perl, Java, JavScript, stb.). Azaz aki C-ben tud programozni, az sokkal könnyebben sajátít el később más, egyszerűbb programnyeleket.
Mivel a programozást Raspberry Pi gépeken végezzük, az adatábrázoláshoz Wolfram Mathematica szoftvert fogunk használni. A Wolfram programozási nyelv a C-hez képest magas szintű, általános felhasználású, ideális modellezéshez. Ennek a nyelvnek belépő-szintű elsajátítása is a kurzus célja.
A tantárgy tematikája
1. gyakorlat: A programozás és a programnyelvek. A strukturált programozás alapelvei. A fejlesztői környezet megismerése. Első program megírása (hello world). A C nyelv alapjai: alapvető parancsok, adattípusok (int, float, double, char), értékadás és aritmetikai operátorok. Letölthető előadás: programozas.pptx (programozas.pdf). Példaprogramok: hello.c, operatorok.c, adattípusok.c. Házifeladatok: hazi01.txt. Házifeladat megoldások: ...
2. gyakorlat: Összetett adatszerkezetek: vektorok és tömbök alkalmazása. Ciklus vezérlés (for, return). Programozás: kiválasztás, megszámlálás. Példaprogramok: tombok.c, for_ciklus.c. Házifeladatok: hazi02.txt. Házifeladat megoldások: hazi02.c.
3. gyakorlat: Randomszám generálás (srand, rand, RAND_MAX). Előltesztelő ciklus (while). Elágazás (if). Példaprogramok: ciklusok.c, random.c. Házifeladatok: hazi03.txt. Házifeladat megoldások: hazi03.c.
4. gyakorlat: Lineáris programozás, folyamatábra. Feltételes kifejezés (teszt?igaz:hamis). Fájlkezelés (fopen, fclose, fprintf, fscanf). Példaprogramok: felteteles.c, fajlkezeles.c, fajlkezeles2.c. Házifeladatok: hazi04.txt. Házifeladat megoldások: hazi04.c.
5. gyakorlat: Függvények deklarálása, használata. Példaprogramok: fuggvenyek.c. Házifeladatok: hazi05.txt. Házifeladat megoldások: hazi05.c.
6. gyakorlat: Függvények használata, egyszerű evolúciós modell. Wolfram Mathematica alapismeretek, ábrázolás. Példarogramok: fuggvenyek2.c, drift_modell.c. Házifeladatok: hazi06.txt. Házifeladat megoldások: hazi06.c.
7. gyakorlat: Pointerek, tömb-kezelő függvények. Pédaprogramok: pointerek.c, fuggvenyek_pointerrel.c, drift_modell2.c. Házifeladatok: hazi07.txt. Házifeladat megoldások: hazi07.c.
8. gyakorlat: Karakterláncok kezelése (strlen, strcat, strcpy, strcmp, atoi, atof, strstr, strchr). Példaprogram: stringek.c. Házifeladatok: hazi08.txt. Házifeladat megoldások: hazi08.c.
9. gyakorlat: Mátrixok, dinamikus memóriafoglalás (malloc, calloc). Példaprogram: matrixok.c.
10. gyakorlat: Egyéni feladat megoldása
11. gyakorlat: Egyéni feladat megoldása
12. gyakorlat: Egyéni feladat megoldása
A tantárgy felvételének előfeltétele
Alapvető számítástechnikai ismeretek: gépelés, copy-paste műveletek, fájl megnyitás, fájl elérési útjának megtalálása, stb.
A tantágy felvételéhez semmilyen programozási vagy (angol) nyelvi előképzettség nem szükséges!
Számonkérés módja
Évközbeni számonkérés nincs.
A félév végén egy év közben szabadon választott egyéni programozási feladat megoldása, a program demonstrálása.
Választható projektek: projektek.docx, projektek.pdf.
Telepítési útmutató: Letölthető segítség: C telepítés.docx, C telepítés.pdf
Referenciák, ajánlott források
2018 - Python
Oktató: Kun Ádám
Tantárgy célja, célkitűzései
A programozás biológusoknak speciális kollégium egy állandó igény kielégítésére: biológusok számára érthető, problémaorientált bevezetést nyújtani a programozásba. A tantárgy azoknak szól, akik nem tudnak még programozni, s most ismerkednek meg a biológia adatelemzésben, szimulációban és bioinformatikában is alkalmazható programnyelvvel. A választott programozási nyelv a Python, amely egy egyszerű, a biológusok által kedvelt, bioinformatikában kimondottan jó és numerikus szimulációkra is alkalmas programozási nyelv, ami minden minden elterjedt operációs rendszer alatt működik.
A tantárgy tematikája
1. gyakorlat: A programozás és a programnyelvek. A strukturált programozás alapelvei. A Python nyelv alapjai: alapvető parancsok és operátorok, adattípusok és értékadás. A fejlesztői környezet megismerése. Első program megírása. Kiíratás képernyőre.
2. gyakorlat: Alapvető karakterlánc (string) műveletek. Összetett adatszerkezetek: vektorok és tömbök alkalmazása. Ciklus vezérlés (for). Programozás: kiválasztás, megszámlálás.
3. gyakorlat: Randomszám generálás. Előltesztelő ciklus (while). Elágazás (if, elif).
4. gyakorlat:
5. gyakorlat:
6. gyakorlat:
7. gyakorlat:
8. gyakorlat:
9. gyakorlat:
10. gyakorlat:
11. gyakorlat: Egyéni feladat megoldása
12. gyakorlat: Egyéni feladat megoldása
2016 Python
Oktató: Kun Ádám
Tematika: mint 2017 - ben.
Programcsomagok, amikre rá kell nézni:
- Scrapy
- Beautiful Soup / html/xml parsing
- SQLAlchemy
- NumPy / SciPy
- matplotlib
- SymPy - symbolic algebra
- SAGE - Mathematica/Matlab alternative
- PyMOL - molekuláris vizualizáció
- BioPython -
- PyGr - bioinformatika
- ETE Toolkit - gráfok és fák megjelenítése
- Python Turtle - a LOGO gyerekeknek szánt rajzolós programnyelv megvalósítása Python-ban