Programozás biológusoknak

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in book_prev() (line 775 of /afs/elte.hu/org/plantsys/plantsys.elte.hu/drupal/sites/all/modules/modules/book/book.module).

 

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: