MINISTERUL EDUCAŢIEI NAŢIONALE
PROGRAMA ŞCOLARĂ
PROGRAMARE – LIMBAJUL PYTHON
[Curriculum la decizia şcolii pentru liceu]
Bucureşti, 2014
NOTĂ DE PREZENTARE
Efortul de a consolida caracterul ştiinţific al disciplinei Informatică pentru ciclul inferior al
liceului presupune – pe lângă aprofundarea şi sistematizarea nucleului conceptual al acesteia – şi
o parţială detaşare a studiului ştiinţific de instrumentele tehnice, particulare, specifice
programării: limbajul de programare, mediile de dezvoltare, instrumentele de implementare,
depanare şi testare. Ar trebui să recunoaştem că, dincolo de preferinţele sau deprinderile noastre
profesionale, aceasta ar sprijini dezvoltarea unei didactici mai serioase şi mai stabile a disciplinei
Informatică.
De aceea, disciplina opţională Limbajul de programare Python îşi propune să deschidă
orizontul elevilor care au o pregătire de bază la Informatică, prezentând un nou limbaj de
programare, limbaj de mare actualitate care este în acelaşi timp şi uşor de învăţat. Urmărind
trendul internaţional, trebuie menţionat că limbajul Python este cuprins în programa oficială de
studiu pentru high school în Statele Unite ale Americii şi în unele dintre ţările Europei
Occidentale. Datorită tradiţiei actuale de instruire, folosind exclusiv unul dintre limbajele Pascal
sau C, o parte covârşitoare a elevilor noştri de liceu au parte de o formare unilaterală, cunoscând
un singur limbaj de programare şi respingându-le, de regulă, pe toate celelalte.
Opţionalul oferă posibilitatea studiului elementelor de programare, cu accent pe sintaxa şi pe
facilităţile oferite de limbajul Python. Se presupune că elevii au deja o bază formată din
deprinderi de gândire algoritmică şi de structurare elementară a datelor, această ultimă
competenţă fiind doar recomandată, nu obligatorie. Astfel, opţionalul este bine integrat pentru
studiu la nivelul claselor a X-a sau a XI-a de liceu teoretic, specializările matematică-informatică
sau ştiinţele naturii, cu 1 oră/săptămână. El poate fi adaptat pentru clasa a IX-a, adăugând un
capitol introducativ de algoritmică, pentru elevii care nu au parcurs conţinuturile disciplinei
Informatică de la clasa a IX-a, completând eventual opţionalul în clasa a X-a, pentru a cuprinde
şi noţiunile avansate de programare şi bibliotecile Python specializate.
Competenţele dobândite prin studiul acestui opţional oferă absolvenţilor de liceu un sprijin
în dezvoltarea competenţelor de programare, oferind, la sfârşitul claselor de liceu, un profil de
programator flexibil, capabil de adaptare şi comprehensiune.
În elaborarea programei şcolare au fost respectate principiile de proiectare curriculară
specifice curriculumului naţional, valorificându-se în acelaşi timp opiniile unor profesori cu o
bogată experienţă didactică.
Programa are următoarele componente:
Notă de prezentare
Competenţe generale
Valori şi atitudini
Competenţe specifice şi conţinuturi
Sugestii metodologice
Programare – Limbajul Python - curriculum la decizia şcolii pentru liceu teoretic, profil real 2
COMPETENŢE GENERALE
1. Implementarea algoritmilor folosind limbajul Python
2. Utilizarea structurilor de date specifice limbajului Python
3. Aplicarea instrumentelor avansate de implementare în limbajul Python
4. Elaborarea unor proiecte care să valorifice capacităţile de proiectare şi programare
VALORI ŞI ATITUDINI
Atitudine critică şi reflexivă faţă de informaţia disponibilă
Conştientizarea impactului social, economic şi moral al utilizării calculatorului;
Iniţiativă în abordarea şi rezolvarea unor sarcini variate, utilizând instrumente informatice;
Manifestarea unui mod de gândire creativ în structurarea şi rezolvarea problemelor de
informatică;
Manifestarea disponibilităţii de a evalua/ autoevalua activităţi practice.
Programare – Limbajul Python - curriculum la decizia şcolii pentru liceu teoretic, profil real 3
COMPETENŢE SPECIFICE ŞI CONŢINUTURI
1. Implementarea algoritmilor folosind limbajul Python
Competenţe specifice Conţinuturi
Sintaxa limbajului Python
Variabile. Gestiunea automată a memoriei
1.1. Identificarea instrucţiunilor şi Sintaxa instrucţiunilor şi structurilor
structurilor de control specifice Atribuirea
limbajului Python Expresii. Comentarii
Citirea şi scrierea de la dispozitivele standard
1.2. Aplicarea regulilor de sintaxă în
Structura de decizie
scrierea programelor
Structuri repetitive (while, for); range, break, continue
1.3. Utilizarea subprogramelor Funcţii predefinite
1.4 Implementarea unor algoritmi Subprograme. Parametri
cunoscuţi cu ajutorul limbajului Aplicaţii de programare
Python Implementare unor algoritmi cu structuri liniare,
alternative, repetitive
Implementarea unor probleme folosind subprograme
2 . Utilizarea structurilor de date specifice limbajului Python
Competenţe specifice Conţinuturi
Structuri de date
Liste
1.1. Identificarea principalelor structuri
Dicţionare
de date specifice limbajului Python
Şiruri de caractere
1.2. Aplicarea algoritmilor de prelucrare
a structurilor de date Aplicaţii de programare
Implementare unor algoritmi cu şiruri de valori şi matrice
folosind listele
Implementarea unor algoritmi de prelucrare a şirurilor de
caractere
3. Aplicarea instrumentelor avansate de implementare în limbajul Python
Competenţe specifice Conţinuturi
Mediul de lucru
3.1. Utilizarea mediului de dezvoltare Descărcarea şi instalarea
Python
Modul comandă şi lucrul cu module
3.2. Utilizarea fişierelor Depanarea programelor
3.3. Aplicarea principiilor OOP în
programare Lucrul cu fişiere
3.4. Identificarea modalităţilor avansate fişiere text
de implementare alte tipuri de fişiere
Programare orientată obiect
clase şi obiecte
clase abstracte
Duck typing
Tehnici specifice Python
List comprehensions
Map, filter, lambda
metode ”magice”
Programare – Limbajul Python - curriculum la decizia şcolii pentru liceu teoretic, profil real 4
4. Elaborarea unor proiecte care să valorifice capacităţile de proiectare şi programare
Competenţe specifice Conţinuturi
Proiectarea şi implementarea unei aplicaţii
4.1. Identificarea etapelor realizării unui Proiectare; limbajul UML
proiect
Etapele realizării unei aplicaţii
4.2. Proiectarea unei aplicaţii Depanarea programelor
4.3. Utilizarea bibliotecilor specializate Testarea aplicaţiei
Python
Biblioteci specializate
Expresii regulate
Random
CSV
JSON
Cereri HTTP
Grafică
SUGESTII METODOLOGICE
Opţionalul Programare – Limbajul Python oferă elevilor oportunitatea de a-şi forma competenţe avansate
de programare şi de pregătire pentru integrarea în comunitatea programatorilor Web.
Între competenţe şi conţinuturi există o relaţie bine determinată: atingerea competenţelor implică
conţinuturile tematice, iar parcurgerea acestora asigură dobândirea de către elevi a competenţelor dorite.
Pentru construirea competenţelor dorite, activităţile de învăţare – predare vor avea un caracter interactiv,
centrat pe elev, cu pondere sporită pe activităţile de învăţare, pe activităţile practice şi mai puţin pe cele
teoretice.
Ordinea de parcurgere a temelor aferente conţinuturilor din curriculum rămâne la alegerea cadrelor
didactice, cu condiţia respectării succesiunii logice în abordarea acestora.
Sugestii cu privire la procesul şi metodele de predare / învăţare
Locul de desfăşurare a activităţilor de învăţare se recomandă a fi un laborator echipat cu staţii de lucru
dotate standard, cu conexiune Internet. Analizele, lucrările şi proiectele elevilor, studiile de caz vor fi
prezentate la videoproiector.
Se vor promova metodele de predare-învăţare activ-participative care conduc la rezolvarea problemelor.
Ca un argument în favoarea acestor metode se remarcă următoarele avantaje:
sunt centrate pe elev/cursant şi activitate
pun accent pe dezvoltarea gândirii, formarea aptitudinilor şi a deprinderilor
încurajează participarea elevilor/cursanţilor, iniţiativa, implicarea şi creativitatea
determină un parteneriat profesor-elev/cursant prin realizarea unei comunicări multidirecţionale.
Se recomandă renunţarea la expunere şi orientarea către metode bazate pe rezolvarea unor sarcini de
lucru, utilizându-se cu precădere rezolvarea unei game cât mai variate de aplicaţii practice şi punându-se
accent pe realizarea cu exactitate şi la timp a cerinţelor sarcinilor de lucru. Realizarea proiectelor în cadrul
activităţilor practice va urmări dezvoltarea abilităţilor de lucru în echipă.
Se recomandă utilizarea documentaţiilor vaste şi a tutorialului oferite de site-ul Python, utilizată iniţial
sub îndrumarea profesorului, ulterior pentru studiul individual. Se vor evita astfel prelegerile steci cu
caracter de transmitere de informaţii, ci se va pune accentul pe activităţi practice demonstrative şi pe
asistenţa activităţilor practice independente.
Profesorii vor alege cele mai potrivite metode: descoperire, discuţia în grup, studiul de caz, observaţia
individuală, lucrarea practică, simularea, vizionarea de prezentări. Specificul disciplinei impune metode
didactice interactive, recomandând mai ales învăţarea prin metode practice/activităţi de laborator,
teme/proiecte .
Programare – Limbajul Python - curriculum la decizia şcolii pentru liceu teoretic, profil real 5
Sugestii cu privire la evaluare
Evaluarea trebuie să vizeze mai ales capacitatea de a rezolva probleme şi de a realiza aplicaţii.
Pentru evaluare se recomandă a fi utilizate cu precădere, alături de metodele tradiţionale:
observarea sistematică a comportamentului elevilor care permite evaluarea conceptelor,
capacităţilor, atitudinilor faţă de o sarcină dată, a comunicării
investigaţia
autoevaluarea prin care elevul conştientizează nivelul la care a ajuns, având astfel posibilitatea de a-şi
impune un ritm propriu şi eficient de învăţare
metoda proiectelor
Ca instrumente de evaluare se pot folosi:
fişe de observaţie (pentru probe practice)
fişe test (pentru probe scrise şi online)
fişe de autoevaluare (pentru probe orale, scrise şi online)
proiecte
studiu de caz
Programare – Limbajul Python - curriculum la decizia şcolii pentru liceu teoretic, profil real 6