EXASS

De la Wikipedia, enciclopedia liberă

EXASS (EXexerciții în ASSembler) a fost un sistem de instruire asistată de calculator creat și implementat în luna februarie 1969 la Centrul de perfecționare a cadrelor de conducere din întreprinderi (CEPECA) de către expertul principal Ioan Georgescu ca un sistem de tip Perfecționare bazată pe calculator (Computer-based training - CBT). Sistemul a fost conceput pe baza unor exerciții de programare menite să utilizeze paradigma de învățare prin exersare (learning by doing), în completarea informațiilor prezentate la cursuri, precum și în documentația de referință a limbajului oferită tuturor cursanților.

Obiective și concepte[modificare | modificare sursă]

Spre deosebire de metodele de educație utilizate în școli și universități, metodele folosite la CEPECA promovau învățarea limbajelor de programare în scopul de a fi utilizate la realizarea aplicațiilor de mari dimensiuni, caracteristice cerințelor reale ale unităților industriale ale țării. Marile dimensiuni ale programelor obligau programatorii să segmenteze aplicațiile pentru ca segmentele rezultate să poată fi stăpânite cu ușurință. În acest fel, programele puteau fi repartizate spre elaborare mai multor membri ai unor echipe de programatori, în acest fel obținându-se și o reducere importantă a timpului necesar pentru trecerea la utilizarea efectivă a sistemelor programate. Aceste considerente asigurau, de asemenea, pe durata ciclului de viață al sistemului, actualitatea datelor și a prevederilor din specificațiile de realizare ale programelor care, în cazul unei durate prea mari a timpului necesar implementării, ar fi putut fi depășite de evoluția organizatorică, structurală și economică a unității beneficiare, precum și de evoluția tehnologică a domeniului aplicației.

Principalele obiective conceptuale ale sistemului de instruire asistată de calculator EXASS au fost:

  • să permită însușirea gradată, ca nivel de dificultate, a instrucțiunilor și directivelor limbajului ASSEMBLER 360 (limbajul de asamblare al calculatoarelor de generația a 3-a IBM 360);
  • să oblige cursanții să respecte cu strictețe specificațiile de realizare ale programelor, pentru a putea elabora individual modulele de program fără a cunoaște detaliile de realizare a altor module, elaborate de ceilalți programatori membri ai echipei (să poată lucra la sisteme elaborate de echipe de programatori);
  • să controleze automat corectitudinea programelor elaborate și să evalueze erorile făcute;
  • să monitorizeze evoluția însușirii de către cursanți a materiei și a principiilor de realizare a sistemelor de programe complexe;
  • să ajute cursanții în caz de imposibilitate de realizare a unor componente, prin furnizarea automată de module corecte, incluse în sistem;
  • să testeze în final corectitudinea sistemului elaborat de fiecare cursant și să noteze automat calitatea programelor elaborate.

Aceste cerințe impuneau o profundă analiză a problematicii pe care urma să o rezolve sistemul și, implicit, o detaliere precisă a specificațiilor de realizare a programelor.

Sistematizarea cunoștințelor necesare[modificare | modificare sursă]

Programa analitică a cursului de programare în Limbajul Assembler 360 a fost împărțită în 5 module de curs care cuprindeau specificațiile de referință ale instrucțiunilor și directivelor limbajului Assembler 360. Materia pentru fiecare modul de curs era prezentată într-o documentație detaliată, dată fiecărui cursant înainte de începerea cursurilor fiecărui modul. Seturile de instrucțiuni și directive cuprinse în fiecare modul de curs erau selectate după următoarele criterii:

  • să facă parte din aceeași familie de instrucțiuni și, respectiv, de directive;
  • gradul de dificultate al însușirii acestora să crească progresiv de la primul modul până la cel de al 5-lea;
  • să permită definirea unor segmente de aplicații, reale sau virtuale, de dimensiuni reduse, care să utilizeze toate elementele de limbaj din setul respectivului modul;
  • după parcurgerea celor 5 module de curs și, corespunzător acestora, elaborarea de către fiecare cursant a celor 5 aplicații aferente, acestea erau link-editate într-un program unic, care abia la sfârșit realiza o aplicație reală și inteligibilă pentru cursant; în acest fel, fiecare cursant se transpunea succesiv pe locul celorlalți membri ai echipei.

Seturile de instrucțiuni și directive ale fiecărui modul erau predate la cursuri timp de o săptămână, la sfârșitul căreia cursanții primeau specificațiile de realizare pentru aplicația aferentă modulului de curs respectiv.

Specificațiile de realizare cuprindeau:

  • Definirea datelor și a surselor acestora;
  • Definirea numelor care trebuiau să fie folosite în mod obligatoriu pentru acele date care urmau să fie folosite în mai multe module;
  • Definirea numelor de funcții care erau rezidente în alte module și a numelor parametrilor acestora, care trebuiau să fie folosite în mod obligatoriu pentru a putea fi apelate din modului respectiv;
  • Definirea expresiilor care trebuiau calculate.

Această modalitate de prezentare a specificațiilor, impusă de segmentarea aplicației, avea în mod deliberat unele prevederi mai puțin explicite deoarece se referea la date distribuite între module și la funcții prevăzute în alte module. Acestea nu puteau fi însă detaliate în modulele în care nu erau rezidente, deoarece se urmărea ca programatorul să elaboreze programul ca și când nu ar mai fi continuat cu programarea celorlalte module (în condițiile reale, în care acestea ar fi fost elaborate de către alți membri ai echipei).

Structura sistemului EXASS[modificare | modificare sursă]

Sistemul de instruire asistată de calculator EXASS este alcătuit din două mari componente:

  • Supervizorul sistemului, având ca obiectiv supravegherea executării de către cursant a exercițiilor obligatorii din programa analitică a cursurilor de programare în limbajul Assembler 360;
  • Aplicația, alcătuită din cele 5 exerciții obligatorii, care însă sunt elaborate corect de către programatorul sistemului. Acestea vor fi referite în continuare ca module de sistem. Ele vor servi la integrarea succesivă în aplicație, în fazele de testare și evaluare, a câte unui exercițiu al cursantului.

La început, cursantul primește un credit care constă dintr-un număr de 40 puncte de penalizare acceptate de sistem pentru toate cele 5 module supuse de cursant sistemului de instruire asistată de calculator. Cursantul este obligat de către sistem să prezinte toate cele 5 module de cursant deoarece, la terminarea cursului, lipsa unor module nu permite eliberarea automată a adeverinței de absolvire.

Supervizorul sistemului, are prevăzute următoarele sarcini:

  • Primește la intrare (sub formă compilată), un modul de cursant corespunzător unuia dintre cele 5 exerciții obligatorii elaborate de cursant, indiferent de ordinea în care acesta le prezintă. Modulul primit înlocuiește în aplicație modulul de sistem corespunzător. Legăturile modulului de cursant cu celelalte module, de sistem, sunt editate pentru a putea testa comportarea modulului de cursant, posibil cu erori, în legătură cu celelalte module corecte.
  • Lansează în execuție aplicația rezultată din combinarea modulului de cursant prezentat, cu celelalte 4 module de sistem.
  • Analizează modul în care programatorul a elaborat codurile corespunzătoare specificației și detectează erorile. Pentru fiecare eroare detectată, sistemul emite un mesaj care explicitează cauza și efectul erorii respective, permițând astfel cursantului să rezolve singur problema apărută, fără implicarea instructorului.
  • Evaluează performanța cursantului, totalizând punctele de penalizare primite la testarea modulului de cursant respectiv și scăzându-le din soldul creditului acordat, apoi operează în foaia matricolă a cursantului noul sold și lista mesajelor de eroare emise. În cazul când cursantul a epuizat creditul el este automat exclus de către sistem, fiind considerat sub nivelul de competență admis.

Rezultate obținute[modificare | modificare sursă]

Cursurile de instruire în limbajul de programare Assembler 360 aveau o durată de 6 săptămâni și se desfășurau în serii de cca. 30 cursanți, fiind susținute de experții instructori Ioan Georgescu, Mircea-Jean Bogdan și Cristian Vasiliu. Primele 5 săptămâni erau dedicate însușirii elementelor limbajului după un program de cursuri pe 5 zile, în care erau prevăzute și ore de curs pentru însușirea sistemului de operare IBM DOS, disciplină susținută de Nicolae Damian-Iordache, matematician principal, programatorul de sistem de la unitatea de prelucrare automată a datelor (calculatorul IBM 360/Model 40). Ultima zi a săptămânii era dedicată introducerii la calculator, de către cursanți, a programelor elaborate de către aceștia pentru modulul EXASS corespunzător din săptămâna respectivă.

În prima zi a săptămânii următoare se distribuiau rezultatele de la calculator, apoi se continua predarea cursurilor pentru următoarele elemente de limbaj din programa analitică. Nu erau prevăzute seminarii, cursanții fiind obligați să rezolve singuri eventualele probleme apărute, folosind mesajele de eroare și indicațiile primite de la calculator, eventual consultând și documentația de curs sau manualele de referință ale sistemului.

Cea de a șasea săptămână era dedicată evaluării cursanților de către calculator, prezentată de experții instructori ai Centrului, care cuprindeau mai cu seamă recomandări personalizate pentru activitatea lor viitoare. Nu se făceau comentarii asupra modului în care cursanții au consumat creditul primit.

Sistemul EXASS a fost folosit la toate seriile de cursanți înscriși la programul de perfecționare în Limbajul Assembler 360 de la CEPECA, începând cu luna februarie 1969, totalizând un număr de 558 absolvenți specializați. Un singur cursant, din prima serie, a fost eliminat automat de către sistem din cauza consumării integrale a creditului înainte de finalizarea corectă a tuturor modulelor obligatorii ale sistemului de instruire.

Lectură suplimentară[modificare | modificare sursă]

  1. IBM System/360 Systems Summary. IBM Corp (1964) Poughkeepsie, NY: IBM Systems Reference Library, Form A22-6810.
  2. IBM System/360 Principles of Operation. IBM Corp (1964) Poughkeepsie, NY: IBM Systems Reference Library, File No. S360-01, Form A22-6821-0.
  3. Architecture of the IBM System/360. Gene Amdahl, Fred Brooks, G. A. Blaauw; ©1964 IBM JOURNAL OF RESEARCH AND DEVELOPMENT, VOL. 8, NO. 2, 1964.