Programmazione I e Laboratorio di Programmazione I (Blended)
Topic outline
-
Docenti
- Prof. Angelo Ciaramella
- ricevimento studenti (anche telematico, è necessaria la prenotazione sul canale Teams): martedì e venerdì 10:00 - 11:00, stanza 431. Codice per ricevimento telematico via Microsoft TEAMS: r3p3w0z
- Prof. Paola Barra
- ricevimento studenti (anche telematico, è necessaria la prenotazione sul canale Teams): lunedì dalle 14:00 alle 16:00, stanza 411. Codice per ricevimento telematico via Microsoft TEAMS: kmf8wzr
Tutor di laboratorio
- dott. Davide De Angelis (davide.deangelis001@studenti.uniparthenope.it)
- Ricevimento: giovedì dalle 9:30 alle 11:30 (Laboratorio Computational Intelligence & Smart Systems, 4° piano Lato Nord)
- codice Teams ricevimento:
- dott.ssa Marica Peluso (marica.peluso@studenti.uniparthenope.it )
-
- Ricevimento: martedì dalle 16:00 alle 18:00 (Laboratorio Computational Intelligence & Smart Systems, 4° piano Lato Nord)
- codice Teams ricevimento: 008pwia
Lezioni: Le lezioni sono tenute esclusivamente in presenza.
Sono anche disponibili le registrazioni delle lezioni tenute nell'AA 2021/22:
codice Teams delle lezioni del prof. Giunta registrate nell'AA 2021-22: iziyqrh
codice Teams delle lezioni del prof. Ciaramella registrate nell'AA 2021-22: suqdni1Prova scritta di verifica (PROVA INTERCORSO), a.a. 2024/2025
- La prova si tiene IN PRESENZA il 4 dicembre 2024, in Aula 1. La studentessa / lo studente che supera la prova è esonerata/o dal sostenere la prova all'impronta in sede di esame.
- La prova consiste in
- risolvere un semplice problema (simile, ma non identico, a uno di quelli spiegati a lezione (complessità di tempo, inclusa), sviluppando un algoritmo risolutore, implementandolo come function C e scrivendo un main che richiama tale function per risolvere una specifica istanza del problema. Analizzare la complessità di tempo e di spazio dell'algoritmo sviluppato.
- risolvere un semplice problema (non tra quelli già trattati a lezione) sviluppando un algoritmo risolutore, implementandolo come function C e scrivendo un main che richiama tale function per risolvere una specifica istanza del problema.
ALTRE INFORMAZIONI SULL’ORGANIZZAZIONE DELLA PROVA INTERCORSO - ore 14:00 – 16:00 (AULA 1) – Studenti con matricola PARI, studenti privi di matricola, studenti con richieste specifiche (e.g., DSA);
- ORE 16:00– 18:00 (AULA 1) – Studenti con matricola DISPARI;
- I primi 15 minuti sono riservati alla compilazione online delle OPINIONI STUDENTI sui 2 moduli del corso (modulo 1 prof. Ciaramella, modulo 2 prof.ssa Barra). Ovviamente, è auspicabile che la compilazione sia stata già effettuata dalle studentesse / dagli studenti prima della prova.
- durante la Prova Intercorso non è consentito l’uso di pc, tablet, cellulari, cuffie. La Prova dura un'ora e 45 minuti.
- La prova richiede solo l’uso di fogli di carta (forniti dal CdS) e di una penna (personale, DA PORTARE DA CASA)
- La Prova Intercorso consiste nello sviluppo di 2 algoritmi, nella loro codifica in C e nella valutazione della loro complessità di tempo.
- Gli studenti che vogliono sostenere la Prova Intercorso devono prenotarsi su Esse3. Gli studenti in trasferimento che non hanno ancora accesso a Esse3 e gli studenti con richieste specifiche devono mandare una mail di prenotazione al prof. Ciaramella (angelo.ciaramella@uniparthenope.it, oggetto: prenotazione Prova Intercorso P1).
Modalità di esame
L'esame del corso di Programmazione I e Laboratorio di Programmazione I è solo orale, ma richiede obbligatoriamente che la studentessa / lo studente sviluppi individualmente un progetto di sviluppo e implementazione software.
Per ottenere la traccia del progetto bisogna inviare una email al prof. Angelo Ciaramella (angelo.ciaramella@uniparthenope.it), al più 3 settimane prima della data di esame, facendo esplicita richiesta di ottenimento della traccia e dichiarando la disponibilità a sostenere l'esame orale nella successiva seduta (indicare nell'oggetto: Richiesta progetto di Programmazione I/Lab). La email deve contenere il nome e cognome e il numero di matricola (per le allieve / gli allievi che sostengono un colloquio integrativo è necessario precisare anche il numero di CFU del colloquio).
La traccia del progetto viene inviata via email all'allieva/o che ne fa richiesta.
La Relazione sul progetto, redatta dall'allieva/o secondo le indicazioni contenute nella traccia, deve pervenire per email al docente entro la data di scadenza della prenotazione on-line dell'esame. Non vengono prese in considerazione Relazioni pervenute oltre tale data.
L'esame orale inizia con un esercizio che consiste nello sviluppo all'impronta di un programma in C. L'esercizio viene scelto casualmente in un insieme prefissato e noto di Esercizi per l'Esame. Si consiglia vivamente di presentarsi all'esame solo dopo aver constatato di essere in grado di risolvere tutti i problemi presenti negli Esercizi per l'Esame (PROVE A IMPRONTA D'ESAME).
Le domande dell'orale riguardano tutti gli argomenti del Corso e sicuramente fanno riferimento agli algoritmi di ordinamento, alla complessità di tempo e al linguaggio C.Distribuzione progetti
I progetti possono essere richiesti seguendo la procedura indicata sulla piattaforma e-learning.
Gli studenti prenotati per l'appello di Gennaio 2024 possono richiedere il progetto a partire dalle ore 14:00 del giorno 14 Dicembre 2023.
Gli studenti prenotati per gli appelli di Febbraio e Marzo 2024 possono richiedere il progetto a partire dalle ore 14:00 del giorno 20 Dicembre 2023.Modalità di richiesta del progetto
I progetti possono essere richiesti collegandosi alla seguente piattaformahttps://askforprojects.pythonanywhere.com/
Modalità di consegna del progetto
Si avvisano gli studenti che è possibile consegnare i progetti secondo le seguenti specifiche:
- mittente: indirizzo email di Ateneo dello studente
- destinatario: angelo.ciaramella@uniparthenope.it
- oggetto: Consegna progetto di Programmazione 1/Lab
- corpo:
- nome:
- cognome:
- matricola:
- CFU:
- progetto allegato in formato compresso (e.g., zip)
Prossime date esame 2023/2024: vedere portale ESSE3.
Introduzione e Materiale aggiuntivo
ATTENZIONE: Tutte le lezioni sono state registrate dal vivo nell'AA 2020/21 usando la piattaforma Microsoft Teams e sono fruibili in streaming da Microsoft Teams, semplicemente cliccando sui link simbolici riportati nel seguito, oppure attraverso il Team del corso (File, cartella Recordings) , oppure direttamente da Microsoft Teams
Per tutte le lezioni sono disponibili le slide mostrate (sia in formato pptx sia in formato pdf). Inoltre, per ogni lezione è fornito un file che contiene suggerimenti su come usare ChatGPT come tutor virtuale per chiarire e/o approfondire gli argomenti principali della lezione.Si raccomanda di cercare di utilizzare ChatGPT come tutor virtuale e di apprendere le modalità per un suo efficace sfruttamento.
- Prof. Angelo Ciaramella
-
Le domande più frequenti dell'esame orale sono indicate di seguito. Per ogni domanda si riporta una articolazione completa di una possibile risposta.
-
Definizione operativa di algoritmo
-
Concetto di Variabile
-
Introduzione al Linguaggio C
-
Costrutti di Controllo
-
Function e procedure
-
Approccio incrementale
-
Strutture Dati: array
-
Array e insiemi
-
Stringhe ed elaborazioni di testi
-
Efficienza degli algoritmi
-
versione 23/24
-
Ordinamento di array, algoritmi elementari
-
Formule ricorrenti
-
Approccio Divide et impera
-
Algoritmi ricorsivi
-
Numeri pseudocasuali e simulazioni stocastiche
-
Allocazione dinamica della memoria