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*brojCode 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 FalseCode 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