Recent Changes - Search:

Oktatás

* Programozás 1
  + feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

Teaching

* Programming 1 (BI)
  ◇ exercises
  ◇ quick link

* Scripting Languages
  ◇ exercises
  ◇ quick link

teaching assets


Félévek

* aktuális (2023/24/2)
* archívum


Linkek

* kalendárium
   - munkaszüneti napok '20
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C++
* C#
* Clojure
* D lang.
* Java
* Nim
* Scala


[ edit | logout ]
[ sandbox | passwd ]

Py2019szept

Archívum: 2019/20/1 (2019. szept.)

Tantárgy neve:Bevezetés a Python programozási nyelvbe
Kód:INBV381L / INCV381L / INDV381L
Sáv:szabadon választható
Kredit:2
Célcsoport:BSc
Előfeltétel:Magas szintű programozási nyelvek 1 (IN[BCD]K301)
Félév:2019/2020/1 (2019. szept.)
Gyakorlatvezető:Dr. Szathmáry László

A gyakorlat ideje és helye:

  • kedd 8.00, IK-205

Linkek:


Aktuális hírek

  • [2019.11.27.] Kint a 10. gyakorlat összefoglalója.
  • [2019.11.19.] Kint a 9. gyakorlat összefoglalója.
  • [2019.11.12.] Kint a 8. gyakorlat összefoglalója.
  • [2019.11.05.] Kint a 7. gyakorlat összefoglalója.
  • [2019.10.22.] Kint a 6. gyakorlat összefoglalója + megvan az 1. ZH időpontja.
  • [2019.10.15.] Kint az 5. gyakorlat összefoglalója.
  • [2019.10.08.] Kint a 4. gyakorlat összefoglalója.
  • [2019.10.01.] Kint a 3. gyakorlat összefoglalója.
  • [2019.09.17.] Kint a 2. gyakorlat összefoglalója.
  • [2019.09.06.] Honlap részleges frissítése.

Mottó

"Nincs nyafogás! Programozás van!"

Rövid ismertető

A gyakorlaton a Python programozási nyelvvel fogunk megismerkedni (Python 3). Mivel a tárgy előfeltétele a "Magas szintű programozási nyelvek 1", ezért feltételezem, hogy az alapvető fogalmakkal mindenki tisztában van. A gyakorlatokon Linuxos gépteremben leszünk, ahol Ubuntu GNU/Linux van feltelepítve. Csupán egy szövegszerkesztőre lesz szükség (pl. GEdit, vim, stb.); mindenki maga dönti el, hogy melyik a szimpatikusabb. A választott szövegszerkesztőben majd be kell állítani, hogy a TAB-ot automatikusan cserélje ki 4 db szóközre. (Ha valaki vim-et szeretne használni, akkor innen letölthet egy példa konfigurációs fájlt, melyben már szerepel az előbbi beállítás). GEdit-ben ezt a következőképpen tehetjük meg: EditPreferences, itt válasszuk az Editor fület, majd Tab Width értéke legyen 4, ill. pipáljuk be az Insert spaces instead of tabs előtti négyzetet.

A gyakorlat tematikája / fóliák

A gyakorlaton elhangzottaknak szerves részét képezik a Függelékek is. A legutóbbi verzió innen tölthető le: python-fuggelekek.pdf. Ezt folyamatosan frissítem majd, érdemes lesz időnként megnézni, hogy volt-e bővítés. Az utolsó módosítás dátumát a fóliasor első diáján tüntetem fel.

1) 2019. szept. 10.

  • bevezető, a Python története, a nyelv jellemzői
  • az interaktív shell használata
  • egyszerű Python szkriptek írása, futtatása
  • sztringek

A gyakorlaton vetített anyag: python-01.pdf
Hol hagytuk abba: a sztringek jönnek
Házi feladat:

  • Telepítsük fel a Python 3-at az otthoni Windows rendszerünkre is. Ehhez tekintsük meg az alábbi videókat: 01, 03, 05. A 05-ös videó a Visual Studio Code használatát mutatja be. Ez annak is érdekes lehet, aki Linuxot használ!
  • Q függelék elolvasása
  • Py3.20121001a sztring metódus

2) 2019. szept. 17.

  • a sztring adattípus (folyt.), sztringek formázása, sztring szeletek (slices)
  • sztringek fajtái (többsoros sztring, raw sztring, stb.)
  • konstansok, inkrementálás / dekrementálás

A gyakorlaton vetített anyag: python-02.pdf
Mi következik: a lista adatszerkezet
Házi feladat:

3) 2019. okt. 1.

  • a lista adattípus
  • for ciklus; in operátor
  • írás a standard kimenetre
  • verem és sor
  • gyakori lista metódusok
  • lista rendezése

A gyakorlaton vetített anyag: python-03.pdf
Mi következik: split/join
Házi feladat:

Opcionális (csak akit érdekel):

4) 2019. okt. 8.

  • split / join
  • Python 3: range; Python 2: range / xrange
  • for és while ciklusok
  • mi lesz False-ként kiértékelve
  • sztringbuffer
  • a tuple adattípus
  • list comprehension

A gyakorlaton vetített anyag: python-04.pdf
Hol hagytuk abba: list comprehension feladatok
Házi feladat:

5) 2019. okt. 15.

  • list comprehension
  • Python 3: int típus; Python 2: int és long típusok
  • vezérlési szerkezetek
  • docstring
  • opcionális paraméterek
  • halmaz (set)

A gyakorlaton vetített anyag: python-04.pdf
Hol hagytuk abba: a halmazra még visszatérünk
Házi feladat:

  • Az alábbi feladatok megoldásaiban minden függvényt lásson el docstring-gel!
  • Py3.20120818d list comprehensions, feladatok befejezése
  • Py3.20120818e 1000-nél kisebb pozitív egész számok (ezúttal list comprehension segítségével)
  • Py3.20130919a eltérő viselkedés szimbolikus linken keresztül (Veszély! Gondolkodós!)
  • Py3.20140103a 2019 (Jaj ne! Még egy gondolkodós!)
  • Py3.20130218b bizonyos karakterek
  • Py3.20191012b Münchausen számok
  • Py3.20180306a Advent of Code, README
  • Py3.20180306b AoC2017, Day 1, Part 1 (Inverse Captcha) [+1 pont az 1. ZH-hoz]

6) 2019. okt. 22.

  • halmaz (set)
  • szótár (dictionary)
  • globális változók [a 6. fólia elejéről]

A gyakorlaton vetített anyag: python-05.pdf
Hol hagytuk abba: a zip kimaradt; a fájlkezelés jön
Házi feladat:

7) 2019. nov. 5.

  • zip
  • fájlkezelés

A gyakorlaton vetített anyag: python-06.pdf
Hol hagytuk abba: végigvettük a 6-os fóliát
Házi feladat:

8) 2019. nov. 12.

  • osztályok, objektumok

A gyakorlaton vetített anyag: python-07.pdf
Hol hagytuk abba: osztálymetódus
Házi feladat:

  • Py.20170511c magic methods, operátorok túlterhelése (nézzük át)
  • Sphere és Ellipse osztályok megírása; <, , >, operátorok túlterhelése a Sphere osztály esetén
  • Py3.20141125a verem és sor megvalósítása saját osztállyal
  • Py3.20130325a sor adatszerkezet két veremmel

9) 2019. nov. 19.

  • osztályváltozók, osztálymetódusok
  • modulok

A gyakorlaton vetített anyag: python-08.pdf
Hol hagytuk abba: a random számok jönnek
Házi feladat:

10) 2019. nov. 26.

  • az 1. ZH átbeszélése
  • random számok (a 8. fólia végén)

A gyakorlaton vetített anyag: python-08.pdf
Hol hagytuk abba: a 9. fólia következik
Házi feladat:

Gyakorlati jegy

A gyakorlati jegy megszerzésének egyik feltétele a rendszeres részvétel a gyakorlatokon. A félév során legfeljebb 3 hiányzás megengedett. Aki ezt túllépi, az automatikusan elégtelent kap.

Késés: egy pár perces késést még tolerálok, de egy nagyobb késést már fél hiányzásnak fogok venni. Vagyis két nagyobb késés egy hiányzásnak lesz elszámolva.

A félév közepén lesz egy zárthelyi dolgozat (papíron, gép nélkül). Erre kapnak egy jegyet.

Lesz egy 2. ZH is az utolsó héten a gyakorlat időpontjában és helyén. Ez már gép előtt lesz. Erre is kapnak egy jegyet, majd a két ZH alapján megajánlok egy jegyet. Nem egyértelmű jegy esetén (pl. 3/4, 4/5) az órai munka és a házi feladatok alapján kerekítek fel vagy le. Ha valaki a házi feladatok 80%-ánál kevesebbet old meg, akkor a két zárthelyi dolgozatra kapott jegyek átlagánál gyengébb jegyet fogok megajánlani.

Lesz javítási (vagy akár rontási) lehetőség is ha valaki nem lenne megelégedve a megajánlott jeggyel. Ekkor legfeljebb egy jegyet lehet javítani/rontani. A hallgatónak néhány konkrét programozási feladatot kell helyben megoldania, illetve ismernie kell a Python programozási nyelvvel kapcsolatos fogalmakat. Akinek mindkét zárthelyi dolgozata elégtelen lett, annak nincs lehetősége javításra.

Menetrend

1. ZH

  • 2019. nov. 6. (szerda), 18.00-19.30, IK-201 (írásban)

2. ZH

  • 2019. december 10. (kedd), a labor helyén és idejében (számítógép mellett)

javítási / rontási lehetőség

  • 2019. december 16-ai héten valamikor (számítógép mellett)

Ajánlott irodalom

  • Angolul
    • Guido van Rossum: Python Tutorial (https://docs.python.org/3/download.html, PDF-ben is elérhető), 2019
    • Wesley J. Chun: Core Python Programming (2nd ed.), 2009
    • Allen B. Downey: Think Python (How to Think Like a Computer Scientist, http://www.greenteapress.com/thinkpython/), O'Reilly, 2012
    • Michael Driscoll: Python 101, Leanpub, 2014 (kezdő)
    • Michael Driscoll: Python 201, Leanpub, 2016 (középhaladó)
    • Mark Pilgrim: Dive Into Python 3 (http://www.diveintopython3.net/), 2009
    • Doug Hellmann: The Python Standard Library by Example (Developer's Library), 2011
    • Doug Hellmann: Python Module of the Week (https://pymotw.com/3/)
    • Luciano Ramalho: Fluent Python, O’Reilly, 2015 (expert)
  • Magyarul
    • Hogyan gondolkozz úgy, mint egy informatikus: tanulás Python3 segítségével (link)
    • Mark Summerfield: Python 3, Kiskapu Kft., 2009
    • Gérard Swinnen: Tanuljunk meg programozni Python nyelven (Python 2.2-t tárgyal, online letölthető: http://mek.oszk.hu/08400/08435/), 2002.
    • Rashi Gupta: Mindentudó Python (Python 2.2-t tárgyal), 2003
Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2020 February 02, 13:17