codul qr și game of life
duminică, 24 feb. 2013, 19:41
Așa-zisul cod QR reprezintă o metodă de codificare a informației digitale astfel încât aceasta să poată fi decodificată ulterior cu ușurință — rapid și fără erori — cu ajutorul unui senzor optic, e.g. o cameră foto. Nu-i cu nimic diferit conceptual de un cod de bare, având însă avantajul că admite o densitate a informației ceva mai ridicată. În particular, e mult mai ușoară stocarea unui șir de caractere ASCII sau Unicode sub forma QR decât cu ajutorul codurilor de bare clasice, cum ar fi EAN sau ce se mai găsește în mod normal pe etichetele produselor aflate în comerț.
Game of Life este un automat celular faimos, descoperit de către matematicianul John Horton Conway. Regulile automatului sunt oarecum intuitive, și în plus configurațiile inițiale pot duce la evoluții „haotice”, posibil utile pentru modelarea în domenii precum cel al biologiei, economiei sau fizicii — numele „Game of Life” nu e ales tocmai la întâmplare. O particularitate interesantă pentru calculatoare și teoria informației este aceea că unele din „structurile” simple din Game of Life pot fi folosite pentru a construi mașini Turing. Dincolo de asta, e greu de zis ce mai ascunde automatul cu pricina. (mai mult…)
programarea la nivelul liceului: o critică
vineri, 21 oct. 2011, 23:15
O bună parte din programatori – bună parte în care, recunosc, m-am aflat o bună vreme – consideră Pascal și C [i] ca fiind limbaje nepotrivite pentru educația la nivel preuniversitar. Primul e considerat caduc, în sensul că nu e folosit nicăieri, iar al doilea e privit drept prea complicat; două extreme, una a inutilității, iar cealaltă a așa-zisei dificultăți, în ciuda faptului că C-ul e unul din cele mai căutate limbaje din industria calculatoarelor în ultimii douăzeci de ani pe puțin.
Sunt în mare parte de acord cu argumentul că C-ul e un limbaj un pic complicat pentru liceanul mediu, deși nu aș atribui această problemă limbajului în sine. De asemenea, sunt de acord cu faptul că a ieși cu Pascal sau Fox Pro din liceu nu îți dă absolut nici o experiență practică – deși consider că în primul rând nu ăsta este scopul, iar în al doilea rând o bună parte din elevi oricum o să uite limbajul la scurt timp după terminarea liceului.
Aș spune că deși în liceu nu se predă tocmai știința calculatoarelor, ci doar informatică, spusele unei figuri importante din Computer Science rămân valide: e greu să explici calculatoarele la nivel teoretic, deoarece se leagă de o întreagă serie de concepte non-triviale, cum ar fi calculabilitatea, terminarea și așa mai departe; concepte pe care un elev inteligent ar cam trebui să le înțeleagă la un nivel pur intuitiv. Reușim astfel să punem degetul pe o primă problemă: nu limbajul e dificil/inutil, ci conceptul din spate (care sunt mai multe) e cel problematic. (mai mult…)
- De fapt în liceu se predă un C îmbogățit cu câteva elemente din C++, dar care rămâne la bază tot C. [↩]