Modulo A: Introduzione alla risoluzione di problemi e acquisizione delle conoscenze di base della programmazione
Modulo B: Acquisizione di concetti di base della teoria del calcolo.
The student who successfully completes the course will have the ability to write compile and run programs in the JavaScript language. The students will be aware of the kind of problems that can be solved with a computer.
The student must be able to solve the exercises of the first test and answer to the questions of the second test.
Alla fine del corso lo studente deve essere in grado di scrivere semplici programmi in JavaScript che utilizzino i tipi primitivi e gli array e i costrutti di base, ed avere acquisito e fatto propri i concetti fondamentali della teoria del calcolo.
At the end of the course the student must be able to write simple JavaScript programs using primitive types, arrays and basical control structures. Furthermore she/he must know the fundamental concepts of computing theory.
Nessuno. E` pero utile che lo studente abbia delle buone basi di matematica e logica.
None, but it is useful for the student to know mathematical and logic basic concepts
Delivery: face to face
Learning activities:
Attendance: Advised
Teaching methods:
Il corso è articolato in 2 moduli:
Modulo A:
Argomento: Introduzione alla programmazione utilizzando il linguaggio JavaScript.
Argomenti affrontati:
Modulo B:
Argomento: Concetti di base dell'informatica.
Argomenti affrontati:
The course is devided in two:
Module A - Introduction to computer programming: Introduction to the JavaScript language: command, espressions, declaration, functions, array, associative array
Module B - Computer science basic concepts: Formal reasoning and types of proofs, set theory, relations, functions, graphs, threes, automata and grammars
Testi modulo A:
Lucidi delle lezioni del docente, pubblicati sulla pagina del corso
V. Ambriola. "Programmazione in JavaScript": Prima parte, Nota didattica, V. Ambriola, in formato pdf
Testi modulo B:
Lucidi delle lezioni del docente, pubblicati sulla pagina del corso
Per approfondimenti, si possono consultare i seguenti testi:
Hopcroft J. et al., Automi linguaggi e calcolabilità
T. Cormen et al. "Introduzione agli algoritmi", Jackson libri
R. Barbuti et al. Elementi di Sintassi dei Linguaggi di Programmazione", pdf
M. Sipser, Introduzione alla teoria della computazione
Module A:
Lectures slides, published on the web course site
V. Ambriola. "Programmazione in JavaScript": Prima parte, Nota didattica, V. Ambriola, pdf format
Module B:
Lectures slides, published on the web course site
[1] Hopcroft J. et al., "Introduction to Automata Theory, Languages and Computation" cap.1
[2] T. Cormen et al. "Introduction to algorithms", Jackson libri, cap.5
[3] R. Barbuti et al. Elementi di Sintassi dei Linguaggi di Programmazione", pdf
Testi di consultazione:
Nessuna indicazione. Il programma e le competenze richieste sono le stesse per tutti gli studenti.
None
L'esame prevede 2 prove:
L'ammissione alla seconda prova è condizionata al superamento della prima prova.
Prove in itinere A metà circa del corso viene tenuta una prima prova in itinere sulla parte di programma svolto fino a quel momento. Alla fine delle lezioni viene tenuta una seconda prova in itinere sulla parte di programma svolta nella seconda parte del corso. La seconda prova in itinere è riservata agli studenti che hanno ottenuto la sufficienza nella prima prova. Le prove in itinere superate con successo valgono l'ammissione alla seconda prova.
Iscrizione alle prove Sul "Valutami" di Ateneo vengono fissate le date delle prove scritte di ogni appello, a cui gli studenti devono iscriversi per poter sostenere la prova. Le date della prova orale, successive alla prova scritta, verranno comunicate agli studenti sulla pagina del corso.
Since the COVID emergency, there are novel examination procedures that are described in full detail here https://elearning.di.unipi.it/mod/page/view.php?id=9306
The exams consists of 2 tests:
The first test is written and rather practical. It is necessary to write programs and solve exercises. The student can use all the materials he/she wants: books courses notes her/his own notebook etc. Passing the first test admits the student to the second test
The second test is written or on student demand oral. The student must answer to theoretical questions and the student cannot consult books or any other didactic material.
Pagina del corso su Moodle: https://elearning.di.unipi.it/course/view.php?id=313
Pegina del corso su Google Classroom: viene fornita agli studenti ad inizio semestre.
Course's page on Moodle: https://elearning.di.unipi.it/course/view.php?id=313
Si consigliano vivamente gli studenti di seguire le lezioni, studiando contemporaneamente ed interagendo con il docente e gli assistenti il più possibile, al fine di colmare eventuali lacune che impediscono la comprensione degli argomenti successivi del corso ed il raggiungimento di un livello di preparazione sufficiente per il superamento dell'esame.
Ulteriori note:
- I materiali del corso saranno presentati su Google Classroom
- Le lezioni si svolgeranno solo in presenza e non saranno registrate o trasmesse in streaming
Attending the lessons is strongly reccomended.