Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Programavimo</strong> <strong>kalbos</strong><strong>mokykloje</strong>Albertas Dinda2009
Logo šeima• Logo atsirado maždaug 1967 m.• Logo Writer (DOS, 1995-1997 m.)• Komenskio Logo (Win, 1998 m.)• Imagine Logo (Win, 2006 m.)• Elica (Win, 2007m.)• Projektas Dalest• Scratsh• Dabar yra apie 200 šios <strong>kalbos</strong> dialektų• 100% efektyvumo kalba2009-03-28 Albertas Dinda 2
Komenskio Logo• Pamokoshttp://aldona.mii.lt/pms/Logo/tekstai/tpamokos.html• Nupirkta visoms Lietuvos mokykloms, laisvai platinama2009-03-28 Albertas Dinda 3
Imagine Logo (Slovakija)• Lokalizuota, galima įsigyti, jau buvoplatinama Lietuvoje• Multimedia (interaktyvios pateiktys)• Darbas su garsais (muzikinis redaktorius)• Kompiliuoja .exe bylas• Objektinio programavimo lygis• Svetainė http://www.logo.lt/imagine.htm2009-03-28 Albertas Dinda 4
Elica (Bulgarija)• 3D Logo sistema• Objektinis lygis• Virtuali realybė• Nedidelė apimtis (5MB)• Tinklapishttp://www.elica.net/site/about/about.html• Lietuviška sąsaja (lengvai keičiama)• Naudojama JAV, Japonijoje, Europoje ...• Laisvai platinamas• Virš 600 pavyzdžių biblioteka.2009-03-28 Albertas Dinda 5
Aplinka ir programos pavyzdys „Fontanas“2009-03-28 Albertas Dinda 6
Dalest projektas (Bulgarija)Developing and Active Learning Environment for STereometry• 3D geometrijos objektai• Sukiniai, pjūviai• Išklotinės• Trimatis konstravimas...Dokumentacija:http://www.elica.net/site/papers/papers.htmlhttp://www.elica.net/site/museum/Dalest/dalest.html2009-03-28 Albertas Dinda 7
Sukiniai„Butelių dizainas“„Matematiniaisukiniai“„Ţiedimo ratas“2009-03-28 Albertas Dinda 8
Fantazijos iš molio2009-03-28 Albertas Dinda 9
Pjaustyklė“Pjaustymas”2009-03-28 Albertas Dinda 10
Išklotinės„Kubelio išklotinės“„Ţirklutės“2009-03-28 Albertas Dinda 11
Origamiai„Origamiai“2009-03-28 Albertas Dinda 12
Statybininkas„Kubelizmas“„Konstruktorius“„Šešėliai“2009-03-28 Albertas Dinda 13
Fantazijos iš kubelių2009-03-28 Albertas Dinda 14
TU ir ITPirmuosius dvejus metus mokome kalbėti irvaikščioti, o kitus penkioliką – tylėti ir ramiaisėdėti!Tai kaip jie gali išmokti naudotis IT?2009-03-28 Albertas Dinda 15
Alice• Atviro kodo programa [nuoroda]• Skirta mokyti trimetės grafikos programavimopagrindų• Nereikia įdiegti į kompiuterį• Kalba šiek tiek panaši į Java, C++ ir C#• 3D judanti grafikaDaugiau kaip 20 scenųDaug personažų• Interaktyvios programos• Yra pamokėlės pačioje Alice sistemoje• Gana lengvai programuojama su paruoštaisobjektais (personažais)2009-03-28 Albertas Dinda 16
Alice2009-03-28 Albertas Dinda 17
Programa primena struktūrogramą2009-03-28 Albertas Dinda 19
Scratsh• Labai paprasta ir nepaprastai draugiška sistema• Programa rašoma LEGO principu (struktūrogramų redaktorius)• Lengvai suprantama• Patogesnė negu Logo ir Komenskio Logo• Kalba labai panaši į Logo• Komandos paslėptos (jų nereikia rašyti ranka)• Vaikas sprendžia konstravimo, bet ne gramatinių klaidųproblemas• Visiškai nemokama, laisvai platinama• Jau tinka net 10-12 metų vaikams• Lituanizuota, nors interneto svetainėje nėra lietuviškosmedžiagos• Darbus galima talpinti internete [nuoroda]2009-03-28 Albertas Dinda 20
Scratsh2009-03-28 Albertas Dinda 21
Scratsh2009-03-28 Albertas Dinda 22
Scratsh komandų grupės• Judėjimas• Išvaizda• Garsas• Pieštukas• Veikimo logika• Aplinka• Matematika• Kintamieji2009-03-28 Albertas Dinda 23
Judėjimas, Išvaizda, Garsas, Pieštukas2009-03-28 Albertas Dinda 24
Veikimo logika, Aplinka, Matematika, Kintamieji2009-03-28 Albertas Dinda 25
Squeak• Remiasi Smalltalk kalba, kuri sukurta prieš 35 metuspanaudojant Simula, Sketchpad ir Lisp idėjas• Galima kurti interaktyvias programas• <strong>Programavimo</strong> kalba paprasta, bet programuoti sudėtinga• Nemokama• Nereikia diegti (atsisiuntei ir dirbi)• Miniatiūrinė programavimo sistema• Muzika ir garsai realiame laike• Veikia Windows, CE/PocketPC, MacOS, Linux/Unix, OS/2 Warp,Acorn RiscOS sistemose• Sukūrė Rob Pike & Luca Cardelli 1985m.2009-03-28 Albertas Dinda 26
Squeak nuorodos• SqueakLand - mokiniams• Squeak Smalltalk – informacija• http://www.squeakland.org/tutorials/demos/ -Interaktyvūs pavyzdžiai2009-03-28 Albertas Dinda 27
SqueakLand2009-03-28 Albertas Dinda 28
Squeak2009-03-28 Albertas Dinda 29
Squeak neįprasta darbo aplinka2009-03-28 Albertas Dinda 30
Free Pascal• fpc-2.2.2.x86_64-win64.exe (2008-08-03)• Tradicinė „Turbo“ aplinka• Ar dar yra klaidų kompiliatoriuje?2009-03-28 Albertas Dinda 32
Component Pascal• Kūrėjas „Oberon Microsystems AG“• Programų saugumas• Nereikia didelių išteklių• Mažai užimanti sistema• Atsisakyta GOTO• Griežta kontrolė• Viskas, kas įmanoma iškelta į bibliotekas• Kitoks požiūris į įvedimą-išvedimą2009-03-28 Albertas Dinda 33
Component Pascal• Minimali, paprasta ir greitai išmokstama sintaksė• Atsisakyta retai naudojamų tipų• Supaprastinta masyvo samprata• Nėra vykdymo žingsniais, tačiau yra kitosprogramos veikimo teisingumo tikrinimo priemonės(pvz. ASSERT)• Plačiau http://aldona.mii.lt/pms/lok/bb/BB.htm• Sintaksė ir skirtumai2009-03-28 Albertas Dinda 34
Paprasčiausia programaMODULE AsEsu;IMPORT StdLog;PROCEDURE Daryk*;VARa, b, c : INTEGER;BEGINStdLog.String('Aš esu Oberono sūnus!');StdLog.Ln;END Daryk;END AsEsu.AsEsu.Daryk2009-03-28 Albertas Dinda 35
BlackBox aplinka2009-03-28 Albertas Dinda 36
CPIde terpėhttp://www.cfbsoftware.com/cpide/cpide.aspx• Patogi tradicinė aplinka• Paprasta naudoti• Laisvai platinama• Kompiliuoja .exe ir .dllbylas2009-03-28 Albertas Dinda 37
Gardens Point Component Pascal GPCPkompiliatorius• Kompiliatorius CPIde terpei• Galima kompiliuoti tiesiai interneto svetainėje http://plas.fit.qut.edu.au/gpcp/gpcp_online.aspx• Terpei ir vykdymui reikaligi Microsoft .NET Framework version 2.0 RedistributablePackage Microsoft .NET Framework Version 2.0 Software DevelopmentKit (SDK) GPCP kompiliatoriushttp://plas.fit.qut.edu.au/gpcp/Downloads.aspx2009-03-28 Albertas Dinda 38
POW! – Programmers Open Workbench• Oberon-2• Java• C/C++http://www.fim.uni-linz.ac.at/Research/POW/2009-03-28 Albertas Dinda 39
Delphi• Komercinė programa• Objektinio programavimokalba• Vizualios kūrimo priemonės• Greitas kompiliavimas• Jau pritaikyta .NET platformai• Galima greitai ir patikimaiprogramuoti Windowsaplinkoje2009-03-28 Albertas Dinda 40
Lazarus• Laisvai platinama• Sąsaja labai panaši į Delphi• Objektinio programavimokalba• Vizualios kūrimo priemonės• Galima greitai ir patikimaiprogramuoti Windowsaplinkoje• Yra klaidų, būdingų FreePascal• Kompiliuojamas kodas yranepaprastai didelės apimties,atjungus kontrolę – sumažėja• Nėra pilnai suderinamas suDelphi (Delphi => Lazarus)2009-03-28 Albertas Dinda 41
OpenDelphi.org• Turėtų būti laisvai platinama• Turėtų būti pilnai kontroliuojama Borlando kompanijoshttp://opendelphi.org/2009-03-28 Albertas Dinda 42
C <strong>kalbos</strong> šeima• Dev C++• C++ Builder (1997 m.)• Visual C++ Express Edition2009-03-28 Albertas Dinda 43
DEV-C++ (Bloodshed Software )• Galima kurti:Windows programasKonsolines programasStatines bibliotekasDLL bibliotekas• Nedidelė ir patogi mokytis programuoti• Michael Main sukūrė grafikos bibliotekągraphics.h; libbgi.a2009-03-28 Albertas Dinda 44
2009-03-28 Albertas Dinda 45
C++ Builder (Borland Softwarecorporation)• Komercinė• Greito projektavimo sistema• Vizualus projektavimas• Terpė analogiška Delphi• Galima naudoti daugelį Delphi komponenčių2009-03-28 Albertas Dinda 46
Visual C++ Express Edition (Microsoft)2009-03-28 Albertas Dinda 47
Visual C++ Express Edition• Vizualus programavimas• Nemokama• Populiari studentų tarpe• Apkarpyta „Microsoft Visual Studio“• Objektinio programavimo lygis• 2D ir 3D grafika• Tinklapis:http://www.microsoft.com/express/vc/http://www.microsoft.com/express/download/2009-03-28 Albertas Dinda 48
Visual Studio Express Edition sudėtinėsdalys• Visual Basic Exspress Edition• Visual C# Exspress Edition• Visual C++ Exspress Edition• Visual J# Exspress Edition• Visual Web developer Exspress Edition• SQL Server Exspress Edition2009-03-28 Albertas Dinda 49
Išvados• <strong>Programavimo</strong> kalbų pasirinkimas didelis• <strong>Programavimo</strong> tikslų pasirinkimas:<strong>Programavimo</strong> pradmenų mokymasRuošimasis programavimo olimpiadomsTaikomųjų programų kūrimas vizualausprogramavimo sistemomisProcesų modeliavimas (panaudojant ir grafinespriemones)2009-03-28 Albertas Dinda 50
<strong>Programavimo</strong> pradmenų mokymas• Komenskio Logo• Imagine Logo• Elica• Scratch• Free Pascal• DEV-C++• BlackBox• CPIde• Oberon2009-03-28 Albertas Dinda 51
Kaip parinkti programavimo kalbą?• Ko mes tikimės iš programavimo <strong>kalbos</strong>?• Kiek pastangų reikės, kad mokinys suprastų, jog jauprogramuoja?• Ar po to jam kils noras pasidžiaugti su kitais savo pasiekimais?• Ar programavimo kalba gerai struktūrizuota ir neturi nereikalingobalasto?• Kiek išmoktos konstrukcijos bus funkcionalios?• Kiek pastangų turės įdėti mokytojas, mokydamasis naujosprogramavimo <strong>kalbos</strong>?• Ar mes norime „industrinės“ programavimo <strong>kalbos</strong>, ar išmokintiprogramavimo pagrindų?• Kiek yra literatūros apie pasirinktą programavimo kalbą?• Išmokti programuoti yra sunku2009-03-28 Albertas Dinda 52
Ruošimasis programavimo olimpiadoms• DEV-C++• Free Pascal2009-03-28 Albertas Dinda 53
Taikomųjų programų kūrimas vizualausprogramavimo sistemomis• Lazarus• Visual C++ Express Edition• Delphi• C++ Builder• Ultimate++2009-03-28 Albertas Dinda 54
Procesų modeliavimas• Elica• Imagine Logo• C++ Builder + OpenGL• Lazarus + OpenGL• Delphi + OpenGL• Visual C++ Express Edition2009-03-28 Albertas Dinda 55
<strong>Programavimo</strong> pradmenų mokymui, kai norimapereiti prie industrinės <strong>kalbos</strong>• Free Pascal/ Oberon/ Komp. PaskalisPaprasta, griežta ir nesunkiai išmokstama <strong>kalbos</strong>sintaksėPratinimas naudotis bibliotekomisPratinimas dokumentuoti programasPratinimas išmąstyti algoritmąPratinimas kurti programą priartėjimų metodu2009-03-28 Albertas Dinda 56
<strong>Programavimo</strong> pradmenų mokymui, kai norimapereiti prie industrinės <strong>kalbos</strong>• C/C++ šeimos <strong>kalbos</strong>Kruopščiai parinkti <strong>kalbos</strong> poaibį su paprasta, griežta irnesunkiai išmokstama <strong>kalbos</strong> sintakse (kol kas to darniekam nepavyko padaryti)Parinkti <strong>kalbos</strong> poaibio mokymo strategiją ir taktikąAtrinkti būtiniausias bibliotekas, pratinti jomis naudotisPratinti dokumentuoti programasPratinti išmąstyti algoritmąPratinti kurti programą priartėjimų metoduIntensyviai mokyti skaityti programas2009-03-28 Albertas Dinda 57
D programavimo kalba• http://www.digitalmars.com/d/2.0/index.html• C++, Python, Ruby kalbų geriausios savybės• Ar neatsitiks kaip su OS Oberon?2009-03-28 Albertas Dinda 58
Daugiau informacijos• http://popmokslas.projektas.lt/failai/lpm/html/lt/index.html• http://www.akl.lt/programos• http://www.ultimatepp.org/www$uppweb$overview$en-us.html2009-03-28 Albertas Dinda 59
PabaigaKad ir kokią egzotišką programavimo kalbą(pvz. EIFFEL) pasirinktumėm, turimeatsižvelgti į mokytojo kompetenciją. Tikremiantis jo kompetencija galima rastisėkmingą kelią2009-03-28 Albertas Dinda 60
Ar ši kalba tinka pradžiamoksliui?indexingdescription: “Programa Labas Paryžiau!”author: “Albertas Dinda”classHELLOcreationmakefeaturemake is-- paprastas spausdinimasdoio.put_string ("Salut, Paris!")io.put_new_lineendend -- class HELLO2009-03-28 Albertas Dinda 61
Ar ši kalba tinka pradžiamoksliui?class HELLOcreation makefeature make isdo print ("Salut, Paris!") endend2009-03-28 Albertas Dinda 62
Ar ši kalba tinka pradžiamoksliui?#include // šito reikia dėl std::cout ir std::endlint main(){std::cout
Ar ši kalba tinka pradžiamoksliui?MODULE LabasParyziau;IMPORT Log;PROCEDURE Daryk*;BEGINLog.String("Salut, Paris!");Log.LnEND Daryk;END LabasParyziau.2009-03-28 Albertas Dinda 64
Ar ši kalba tinka pradžiamoksliui?TO HELLOPARISPRINT [Salut, Paris!]END2009-03-28 Albertas Dinda 65
Ar ši kalba tinka pradžiamoksliui?Program HelloParis(output);beginwriteLn('Salut, Paris!');readLn;end.2009-03-28 Albertas Dinda 66
Ar ši kalba tinka pradžiamoksliui?public class HelloParis {public static void main(String[] args) {System.out.println("Salut, Paris!");}}2009-03-28 Albertas Dinda 67
Ar ši kalba tinka pradžiamoksliui?#!/usr/bin/perlprint "Salut, Paris!\n";2009-03-28 Albertas Dinda 68
Ar ši kalba tinka pradžiamoksliui?assume cs:cseg, ds:dseg, ss:ssegmov ax,dsegmov ds,ax ;duomenu segmento iniciavimaslea dx, welcomemov ah, 09hint 21hmov ah,4chint 21h2009-03-28 Albertas Dinda 69
Gal šios <strong>kalbos</strong> tinka pradžiamoksliui?10 REM PRANESIMAS20 PRINT “Salut, Paris!\n“30 RET10.05 C pranesimas10.10 T “Salut, Paris!“ !10.15 Rprogram Salutprint *, “Salut, Paris!“end2009-03-28 Albertas Dinda 70
Gal šios <strong>kalbos</strong> tinka pradžiamoksliui?Проц Старт()Вывод 'Здравствуй, Новосибирск!!!'Кон Проц>>> print («Salut, %s!" % “Python")." Salut, FORTH"2009-03-28 Albertas Dinda 71
Geriausiai tiks taprogramavimo kalba,kurią geriausiai mokamokytojas2009-03-28 Albertas Dinda 72