Alati za učenje i poučavanje programiranja

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

Code Wars

  • zadaci prema težini (kata)
  • trenutno 2630 zadataka
  • za svaki riješeni zadatak - prikaz rješenja drugih natjecatenja - mnoštvo primjera i različitih pristupa!
  • pretraživanje zadataka prema kategorijama, težini itd.
  • Jezici: Python, C#, C/C++, Java, JS, SQL, PHP, Swift itd.

 

Poveznica: www.codewars.com

Code Wars

Zadatak

Interaktivni prozor za kodiranje

Test Primjeri

Code Wars: Primjer zadatka

  • Napiši funkciju repeat_str koja zadani string ponavlja n puta.

 

 

def repeat_str(broj, string):
    return string*broj

Code Wars: Primjer zadatka

  • ATM uređaj dopušta unos PIN-a od isključivo 4 ili 6 znamenki.  Napiši program koji će za upisani PIN vratiti true ili false, ovisno o tome je li PIN ispravno upisan.

     

 

 

def validate_pin(pin):
    if pin.isdigit() and (len(pin)==4 or len(pin)==6):
        return True
    else:
        return False

Code Wars u nastavi

  • Zbirka zadatka za učenike
  • Zadaci prevedeni na hrvatski jezik i prilagođeni osnovnoškolskom uzrastu
  • Razredni Code Wars hackatoni

 

 

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

Code Combat

  • igra kroz koju se uči programirati
  • jezici: Python i JS
  • prijava kao individualni korisnik/učitelj/učenik
  • dodavanje razreda i praćenje napretka učenika
  • od jednostavnih do složenijih programskih struktura
  • sučelje za učitelje sa skriptama i rješenjima svih zadataka

 

Poveznica: https://codecombat.com

Code Combat: Primjer zadatka

  • Napad na neprijatelja

 

 

def soldierLogic():
    while True:
        enemy = soldier.findNearestEnemy()
        if enemy:
            soldier.attack(enemy)

soldier = hero.spawnXY("soldier", 42, 48)
soldier.on("spawn", soldierLogic)

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

Python Challenge

  • 33 zadatka postavljenih kao zagonetke
  • rjesenje zagonetke je URL svakog sljedeceg zadatka
  • potiče kreativnost, natjecateljski duh, računalno razmišljanje i problemski pristup rješavanju zadataka

 

Poveznica: www.pythonchallenge.com

 

Primjena u nastavi: Python Challenge for kids

Python Challenge: 0. zagonetka

Python Challenge: 2. zagonetka

Rješenje:

s2=''
s="""<!--
%%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+$&[(_@%+%$*^@$^!+]!&_#)_*}{}}!}_]$[%}@[{_@#_^{*
@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(&
+^!{%_$&@^!}$_${)$_#)!({@!)(^}!*^&!$%_&&}&_#&@{)]{+)%*{&*%*&@%$+]!*__(#!*){%&@++
!_)^$&&%#+)}!@!)&^}**#!_$([$!$}#*^}$+&#[{*{}{((#$]{[$[$$()_#}!@}^@_&%^*!){*^^_$^
]@}#%[%!^[^_})+@&}{@*!(@$%$^)}[_!}(*}#}#___}!](@_{{(*#%!%%+*)^+#%}$+_]#}%!**#!^_
)@)$%%^{_%!@(&{!}$_$[)*!^&{}*#{!)@})!*{^&[&$#@)*@#@_@^_#*!@_#})+[^&!@*}^){%%{&#@
@{%(&{+(#^{@{)%_$[+}]$]^{^#(*}%)@$@}(#{_&]#%#]{_*({(])$%[!}#@@&_)([*]}$}&${^}@(%
(%[@%!}%*$}(*@)}){+@(%@*$&]*^*}*]&$[}*]%]+*}^!}*$^^_()#$^]++@__){&&+((#%+(&+){)$
%&&#($[[+##*%${)_!+{_[})%++)$#))]]]$]@]@($+{&%&%+!!!@]_]+])^*@$(@#${}}#}{%}#+{(@
#__+{{]${]!{(%${%%^)(_*_@+)$]$#_@$)]](}{}$(}*%+!}#+)$%$}+#@*&^{##}+@(%[*@_}{(^]^
+_*{@+[$!!@%$+{_&(#^(([&[][[&@#+}_]&&]}^*&$&)#_^$@$((%)}+{}$#+{+^}&[#[#_+${#[#]{
(@@[%}[}$%+*#$+[%(**!$+@$@&+$_$#!_&&&&{***+)}][}#^!%#&$*)$!%}*&#}}##(^_%^]{+]&&]
}^]#^(}@]&$]*_][])$]{_+})^_}]))()^&)(!*![!&}{][(]})[(*^}$&$_@^$)#${%[$_]!^]}}}*+
*^_(+}^)(%(}{&)[}!$$&&+}&[{%}^+#$]@)^&*%{@}]&!%*%$*&][}&{$&*@{@#]$*_[]%%[#]#*%)@
$_^#%$!{#]^$}%^@^+{($!^($%)]+&}+$@[$*)*&)*%!_!!+@&^*{}%#&{}$!(*^*@]@@})[($!)]]})
})(&+##]##%&##$}@{#_])*%(*(@$)}[+(+_)!{{#^{_@)!&)$}@^^^[$#__+$^!*#%%]_!#$]$&+^}%
@])])%}]#$((^+{{@++^])$^*#[$}*]}}{)@+)[_}*@^%#]]#+()+)(]_[!!!)+)$+&@@])!}+*%]$[]
&&[@+$_&#[$!$${}{%[]#+@)*!#)*!{$#*$%}[(&@$&_@($$]]]_[+(#@}&_}+]@$#_+](}^})!@@}@)
}^]^]*}]+&(@@!!](*@#(++*)]!(^$})&_^@+]{#_@*%^[$[%&_%@%_![&&]&_@*#_}[{{])^$[_$_&_
@%%[@#[@_[&+]}[+)!_#_+++%)[@%$(&$[{#@(}$*![#^#{}_)[$^_$${_@&}*![#*#_+%[@{*^$){)#
#%}]{+((*^]+{})&#$!#(*%({_!^*[{%@_&#){![&]@$#[#(!{*#^*%)]!%(#]%${*_^{+}(@}{_^(](
_+!_)^&}!#([(+&[@])[_(]@]@&@{#@(%[@+[^@%@+]*_[{]$[_(_@[!]]^%+@#(@$}]@(^**+]%^)^(
@}^[]@@[@[@}^(^!]%*_]&$!!^^#*[#*[*_}+[$#(_#%@](+[^+}%{_*#]+*(]}!$(%@%#^)}]_&]{${
}$[*{+&+&}[#_#}_(}){^#{[_%*!$+[#)%]@&&_{)#[+*&+#!&)%)%++$_}){%%*@!*&%__(_!]#$*(_
$^!@@}_())%(&$%]]{{{@+!&%@(^!+*{%[*[!]){(#$@)(^{]%[&*(&!{&}!%*$)*]]$%(__[}_+&)!(
^_&*]*+#@{@[_({$*&}][(*!+$+#%&![%^)^#(#}+*+(@)&&!({^^_*($^+)&{)%$@%)&!$$&&^+#[)$
+!$^]*!%^_$}$+!!&%_&){$%{((&^{{(&_&_]{^}@[$^+]}]^{@!^@_%_{^@*)+^*#$#!+*}#)}@(}!]
_*)}$**@}[^_&*^)*+#()]&{{]*+#${@&}#)$[]_+(^_@^][]_)*^*+_!{&$##]((](}}{[!$#_{&{){
*_{^}$#!+]{[^&++*#!]*)]%$!{#^&%(%^*}@^+__])_$@_^#[{{})}$*]#%]{}{][@^!@)_[}{())%)
())&#@*[#}+#^}#%!![#&*}^{^(({+#*[!{!}){(!*@!+@[_(*^+*]$]+@+*_##)&)^(@$^]e@][#&)(
%%{})+^$))[{))}&$(^+{&(#%*@&*(^&{}+!}_!^($}!(}_@@++$)(%}{!{_]%}$!){%^%%@^%&#([+[
_+%){{}(#_}&{&++!@_)(_+}%_#+]&^)+]_[@]+$!+{@}$^!&)#%#^&+$@[+&+{^{*[@]#!{_*[)(#[[
]*!*}}*_(+&%{&#$&+*_]#+#]!&*@}$%)!})@&)*}#(@}!^(]^@}]#&%)![^!$*)&_]^%{{}(!)_&{_{
+[_*+}]$_[#@_^]*^*#@{&%})*{&**}}}!_!+{&^)__)@_#$#%{+)^!{}^@[$+^}&(%%)&!+^_^#}^({
*%]&@{]++}@$$)}#]{)!+@[^)!#[%@^!!+{(@&+++_{!$}{]_%_#^#%&{!_(#$%%&@[})]+_@!(*[_@[
*_&+][^][}^@}])!(&^*[_%+(}!!{!!^*@!({%]#[_&()$]!$]@}*][)#()})[*^[^}]#(((_^#%%]@}
^###%!{(@+]$%*^}(![$@*]_{#*!$*@%*(^+#!)$&]*%$&*@$[)_$!&+_[$)%_*((%+##*]@+#*[$$)^
@)]}!)$^%+%&_#+]&&_!(}+^*#)$%%^+&%^_]@*%^^_#]%{%[&(*_(%(*{^@[@&+!@&[+[++$})$!*}+
(_^%%*}^{+}(+]]_][_(@}^#_{_}*){*)}+*)%#%++}{}__%$$$[%%*})_#*!_!%&*$!]!}{*+{^()$}
*$%*$]][{@+*]_*&!^]_*!_{_@(}+%#$+@}_]#@$#^%((#$%+++]])#*@)&([^#]_$%$)[#)){({%@_^
@#}@*!!()[]%$*+*{*$%@**!}&#[*#[[{(@&_){{!}!)++@*{{({_!#^]}+{{#]{$^)&]%}})^@&$%@$
$!_+!{]*^_+@&@){#*!_#+{[@$^(__}*[^$&{&]!(&+++_@+)&}))$%]${+*!(#@(}&&&!)!_!$&@&{[
[@!#!]]#%)(_^!{*[{^{]})$)^&(*)%}#]#()^#+}!{_}*+{@&_^)+%@!%%${$&%}(%*_!)%$((+$&^^
}#[@%+)&^!](]%+_{{]}@]+^]{(!_*&@][]@_%}%(%&)})&!#)[_]^+$)[(%*%({]$[(#+&+[@[*([$#
^*!@{]]#![[{_]#^@])_[[+%]#[%[+_{)^+([^}[]_[}])*^!_+$}^+_)+*@$$^}(&[)_^[+})^]&..."""

for i in s:
    if i in 'abcdefghijklmnopqrstuwdxyz':
        s2+=i

print s2

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

Jupyter Notebook

  • interaktivna web aplikacija u obliku 'bilježnice'
  • podržava kod, tekst, html, video, slike...
  • preko 40 programskih jezika, također i Python
  • može se dijeliti putem maila, dropboxa, githuba...
  • može se koristiti online i offline
  • dokumenti se mogu spremiti kao pdf, html... 

 

Poveznica: http://jupyter.org

Jupyter Notebook: Primjer dokumenta

Jupyter Notebook: Primjer dokumenta

Jupyter Notebook: Primjer zadatka

Projektni zadatak - Obrada podataka (8.raz.)

Korelacija: informatika (excel), matematika (koordinatni sustav)

  • izraditi anketu na zadanu temu u nekom od online alata
  • rezultate izvesti u .xls obliku i taj dokument ucitati u Pythonu
  • koristeći modul matplotlib izraditi grafikone u Pythonu i prikazati rezultate
  • Opisati projekt te dokumentirati slikama po želji

Jupyter Notebook: Primjer zadatka

Projektni zadatak - Mjesec (6.razred)

korelacija: geografija (svemir), engleski jezik

  • na stranici https://www.moonhack.com/ preuzmi zadatak (Python)
  • Uz upute riješi zadatak (kako preživjeti na Mjesecu 3 dana?)
  • Uz zadatak napiši svoja opažanja i komentare
  • U dokument dodaj nekoliko slika Mjeseca i opiši ih

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

Repl.it

  • online razvojno okruženje za programiranje u više od 30 jezika (podržava i Python turtle modul)
  • mogućnost dodavanja učionica (classroom) i učenika
  • ispravljanje zadataka 'ručno' i automatski pomoću test primjera
  • komentari i praćenje napretka učenika
  • classroom ima mogućnost dijeljenja, kloniranja, ugrađivanja na web stranicu...
  • mnoštvo javnih classroom-a gdje se možete prijaviti kao učenik i dobiti zadatke/rješenja

 

Poveznica: https://repl.it

Repl.it: Razvojno sučelje

Repl.it: Primjer razreda

Repl.it: Zadatak za učenike

Rješenje učenika

Prozor u kojem nastavnik zadaje zadatak.

Prozor za povratnu informaciju učeniku.

Repl.it: Primjer dostupnih učionica...

Online alati

Code Wars

Code Combat

Python Challenge

Jupyter Notebook

Repl.it

Learnpython.org

LearnPython.org

  • interaktivni Python tutorial

Poveznica: https://www.learnpython.o

LearnPython.org: sučelje

py-web-alati

By Ivana V

py-web-alati

  • 232