38
Programmēšanas valoda Izmantošanas skolā atbilstība vidējās izglītības standartam Kalvis Kincis Rīgas 6. vidusskola LatSTE, 2013. gada 1. novembrī Linux centrā

Python izmantošana skolā

  • Upload
    kalvis

  • View
    1.013

  • Download
    7

Embed Size (px)

DESCRIPTION

Prezentācija par atvērtā pirmkoda programmēšanas valodas Python izmantošanu skolā. Prezentācijā pamatota Python izvēle, sniegta īsa pamācība uzstādīšanā populārākajās operētājsistēmās, demonstrēti koda piemēri, kā arī dotas saites uz citiem piemēriem, praktiskiem uzdevumiem. Prezentācija demonstrēta 2013. gada 1. novembrī LatSTE darbnīcas laikā LU Linux centrā. Koda paraugus atradīsiet šajā saitē: http://ej.uz/py_kods

Citation preview

Page 1: Python izmantošana skolā

Programmēšanas valoda

Izmantošanas skolā atbilstība vidējās izglītības standartam

Kalvis KincisRīgas 6. vidusskola

LatSTE, 2013. gada 1. novembrī Linux centrā

Page 2: Python izmantošana skolā

Programmēšana ir jaunais melnais

Ievērojamās vakances IKT jomā

start(it)

code.org un codeacademy

Igaunija

Programmēšanas nedēļa vai koda stunda Eiropas Savienībā un ASV

8 LatSTE 2013 tēmas ir +/- par programmēšanu

Page 3: Python izmantošana skolā

Kāpēc Python?

Brīva atvērtā pirmkoda programmatūra

Programmatūra ar regulāru attīstību

Page 4: Python izmantošana skolā

Kāpēc Python?

Valoda viegla gan apgūšanai, gan koda lasīšanai

class myfirstjavaprog{ public static void main(String args[]) { System.out.println("Hello World!"); }}

#include <iostream>using namespace std;

int main (){ cout << "Hello World!"; return 0;}

program HelloWorld;

begin writeln('Hello World');end.

print("Hello, World!")

Page 5: Python izmantošana skolā

Kāpēc Python?

Laba dokumentācija un iebūvētā palīdzība. Plaši pieejami, moderni brīvi un maksas mācību resursi.

docs.python.org

Page 6: Python izmantošana skolā

Kāpēc Python?Python ir dažādu programmēšanas valodu reitingu pirmajā trijniekā – desmitniekā.

Ar Python izstrādāti vai Python nodrošina darbību vairākiem aktuāliem tīmekļa resursiem – Instagram, Pinterest, Rdio, Reddit, Youtube, Gmail, Google Maps.

Un lietotnes vai to papildinājumi -

Dropbox, Blender 3D animāciju modelēšana, BitTorrent. Corel Paint Shop Pro, Gimp, Inkscape paplašinājumi.

Page 7: Python izmantošana skolā

Kāpēc Python?

Python programmēšana ir jautra.

Rada prieku.

Spridzīga.

Page 8: Python izmantošana skolā

Python vizītkarti noslēdzot

Guido van Rossum – Nīderlande, 1991

Interpretatora valoda

Ar savu koda redaktoru IDLE un tkinter moduli grafiskās vides programmu veidošanai

Python 2 un Python 3 (šodien par Python 3)

Datņu tips .py .pyw .pyc .pyo

Page 9: Python izmantošana skolā

Īsais kurss Python

Page 10: Python izmantošana skolā

Python prasības sistēmai

"Parasts" dators ar mūsdienīgu operētājsistēmu - Linux, Windows, OS X.

Var uzstādīt Android telefonā vai planšetdatorā. (Nepieciešams Python for Android, skriptu palaidējs,koda redaktors).

Python koda redaktors pieejams arī iOS ierīcēm. Meklēt iekš iTunes. Tiesa, par maksu.

Page 11: Python izmantošana skolā

Python uzstādīšana Linux

Ubuntu, Mint, Debian

sudo apt-get install python3 idle3

Fedora

su yum install python3 python3-tools

Arch

pacman -S python tk

Uzstādīto meklēt pie visām lietotnēm grupā Izstrāde

Page 12: Python izmantošana skolā

Python uzstādīšana Windows/OS X

python.org/download

Meklēt savu OS versiju, lejuplādēt un uzstādīt kā ierasts

Meklēt pie lietotnēm Python 3 - IDLE

Page 13: Python izmantošana skolā

Interpretatora vide Python Shell

Vide atsevišķām komandām

Page 14: Python izmantošana skolā

Interpretatora vide Python Shell

Vide palīdzības lasīšanai.

Page 15: Python izmantošana skolā

Interpretatora vide Python Shell

Vide funkciju

izsaukšanai

pēdējai aktīvajai

programmai.

Page 16: Python izmantošana skolā

Python izstrādes vide IDLE

Izceļ kodu

Liek pareizas un labo nepareizas atkāpes

Rindiņas pabeigšana (TAB, CTRL + space)

Atkļūdotājs (debugger)

Koda izpildīšana (F5)

Page 17: Python izmantošana skolā

Citas izstrādes vides

IDLE nav ērts, ja jāstrādā ar daudz datnēm vai ja datorklasē jārāda ar projektoru. Ir alternatīvas:

Geany

Gedit

Sublime Text

PyDev spraudnis Eclipse

Vēl ~simts: https://wiki.python.org/moin/PythonEditors

Page 18: Python izmantošana skolā

Laiks kodam!

ej.uz/py_kods

Page 19: Python izmantošana skolā

Python mainīgie un vienkāršas darbības interpretatora vidē:

print(25 + 23)

...

print(25**23)

vards = “Python”

print(vards)

print(vards*5)

valodas = [“Python”,”C”,”Pascal”]

print(valodas[0])

Page 20: Python izmantošana skolā

Koda atvēršana, izpildīšana:

Python komentāri sākas ar #

# te var rakstīt visu, ko domā

Garāki komentāri sākas un beidzas ar '''

Koda atvēršana ar File – Open, izpilde ar F5

01_mainigie_darbibas.py01a_mainigie_darbibas.py01_uzdevums.py

Page 21: Python izmantošana skolā

Funkcijas

Ideālajā pasaulē Python kods ir organizēts ar funkcijām.

Python atkāpe koda strukturēšanai ir 4 tukšumi.

02_funkcijas.py 02_uzdevums.py

def sveiki(): print(“Sveika, pasaule!”)

def taisnsturis(a, b): return(a*b)

sveiki()print(taisnsturis(4,5))

Page 22: Python izmantošana skolā

Sazarojumi

diena = 5

if diena == 5:

print(“Urrā, piektdiena, varēs ilgāk palikt darbā”)

elif diena == 6 or diena == 7:

print(“Brīvdiena”)

else:

print(“Ej ka nu strādāt!”)

03_sazarojumi.py

Page 23: Python izmantošana skolā

Moduļi

Python kā valodu var iemācīties gandrīz vienā dienā. Tam ir tikai 68 funkcijas.

Citu funkcionalitāti importē no moduļiem. Arī paši var uzrakstīt moduli.

Mācoties par kādu moduli, datni nedrīkt nosaukt šī moduļa vārdā!

import math

print(math.sin(pi/4))

print(math.sqrt(121))

print(math.factorial(12))

04_moduli.py04a_moduli.py04_uzdevums.py

Page 24: Python izmantošana skolā

Ciklifor i in range(1,6):

print(i)

valodas = [“python”,”php”,”ruby”]

for katrs in valodas:

print(katrs)

import random

a = 0

while a<= 10:

a += random.random()

print(a)

05_cikli.py05a_cikli.py05_uzdevums.py

Page 25: Python izmantošana skolā

Darbības ar datnēm

datne = open("teksts.txt","r")

saturs = datne.read()

datne.close()

print(saturs)

datne = open("teksts.txt","w")

datne.write(“Sveika, pasaule!”)

datne.close() 06_datnes.py06_uzdevums.py

Page 26: Python izmantošana skolā

OOP. Objektu veidošanaclass Punkts(object):

def __init__ (self, x, y):

self.x = x

self.y = y

def __str__(self):

return "x: %g; y: %g" % (self.x, self.y)

punkts1 = Punkts(3, 4)

punkts2 = Punkts(1, 2)

print(punkts1.x)

print(punkts1.y)

print(punkts1)

07_OOP.py07a_OOP.py07_uzdevums.py

Page 27: Python izmantošana skolā

Grafiskais modulis turtle

Atslodzes brīžiem, pirmajām stundām, figūru zīmēšanai, fraktāļiem.

Arī viena no iespējām 7. klasē pie algoritmiem.

08_rupucis.py08a_rupucis.py08_uzdevums.py

Page 28: Python izmantošana skolā

Grafiskais modulis tkinter

tkinter modulis ir iebūvēts, bet, iespējams, ne pats stilīgākais.

Ir alternatīvas:– wxPython, PyQT, PyGTK

Galvenie elementi:– “parastās” formas – pogas, teksta ievade un citi,

– zīmēšanas virsma canvas,

– attēlu importēšana (gif),

– Tas viss ar grid() salikts rindās un kolonnās.

Izskats +/- līdzīgs visās platformās

09_grafiska_vide.py 09a_grafiska_vide.py 09_uzdevums.py

Page 29: Python izmantošana skolā

Citas datnes pētīšanai

fraktalis.py

tkinter_oop.py

tkinter_pong.py

uzmini_skaitli trīs versijas ar/bez funkcijām

bin_uz_dec.py

Page 30: Python izmantošana skolā

Kodēšanas beigas

Page 31: Python izmantošana skolā

Vidējās izglītības standarts

Vispārējās vidējās izglītības mācību priekšmeta Programmēšanas pamati standarts ir realizējams,

izmantojot programmēšanas valodu Python.

Page 32: Python izmantošana skolā

Riski, problēmas

Python 2 un Python 3:– Meklējot padomus internetā un nezinot mazās

atšķirības, var nekas nesanākt– Ir atsevišķi moduļi, kas nav pārnesti uz Python 3

(piemēram, PIL attēlu bibliotēka)

Literatūra latviešu valodā

Python nav informātikas olimpiādes valoda

Page 33: Python izmantošana skolā

Pēc stundām

Page 34: Python izmantošana skolā

Pygame

Modulis 2D spēļu izstrādei. Lieliski dokumentēta, ir bezmaksas e-grāmatas ar kodu. Uzstādot jāpaseko līdzi versijām.

Veicina un attīsta arī zīmēšanas, attēlu un skaņas apstrādes prasmes.

pygame.org

Page 35: Python izmantošana skolā

MinecraftAr Python programmējams Minecraft serveris.

Tēma šķiet aktuāla, jo vairāki savstarpēji nesaistīti autori izstrādā savas metodes. Arī Latvijā.

Šis pagaidām ir tikai darbu sarakstā.

Page 36: Python izmantošana skolā

Attīstība nākotnei

Nokomplektēt konspektu, piemēru un uzdevumu "iztikas minimumu" precīzai standarta realizācijai un to nodot brīvai lietošanai un pilnveidošanai.

Plašākas intereses gadījumā kursi pedagogiem.

Iemācīties spēlēt Minecraft. :)

Page 37: Python izmantošana skolā

Tālākai lasīšanai

http://docs.python.org/3/

http://interactivepython.org

http://inventwithpython.com/

http://learnpythonthehardway.org/book/

http://www.greenteapress.com/thinkpython/html/index.htmlhttp://www.codecademy.com/tracks/python

Par python latviešu valodā. Python 2! http://www.alvils.info/index.cgi?action=4

Page 38: Python izmantošana skolā

Paldies par uzmanību!

[email protected]