Lezione 2 – Un secondo caso

 

Difficoltà tecnica:
1-su-5

Prima di procedere ad una definizione sufficientemente formale di algoritmo vorrei portare un secondo utile esempio che ci permetterà nel seguito di comprendere a pieno le basi di questo corso.

Poniamoci un problema che non preveda troppe supposizioni per dare una risposta!

Fornite 3 misure in cm, se queste fossero le dimensioni dei lati di un triangolo, questo risulta equilatero?

Procediamo un po più velocemente rispetto alla lezione precedente: dato il problema ci dice che le misure sono esattamente 3 sappiamo che può essere un triangolo, piuttosto che un quadrilatero o un’altra qualsiasi figura geometrica di base. Unica accortezza? le misure devono essere positive e maggiori di zero, altrimenti non possiamo costruire un triangolo.

Ma perché sono andato così veloce nella prima analisi al problema? Perché la figura del triangolo è ben definita nella geometria, e proprio per questo il problema ne risulta di molto semplificato, basta prendere la definizione di triangolo e verificarne i requisiti! Abbiamo di fronte un problema di cui, tramite le definizioni geometriche, possiamo evitare molte supposizioni che invece la fisica della frenata di un automobile non prevede.

Procedendo per passi definiti, dato che il problema non richiede tre misure positive direttamente dobbiamo chiederci se effettivamente le misure date sono positive e maggiori di zero. Quindi il primo passo del nostro algoritmo sarà appunto la verifica dei dati inseriti. Se anche una sola misura è uguale o inferiore a zero possiamo già rispondere che non si può costruire un triangolo equilatero in quanto semplicemente non si può costruire un triangolo.

Veniamo ora ad un passo essenziale! La definizione di triangolo equilatero: “si definisce equilatero un triangolo in cui tutti i lati hanno la stessa misura“.

La geometria ha fatto il grosso del lavoro per noi. Adesso usiamo un poco di matematica per finire di rispondere al problema che ci è stato posto:

definiamo che le misure che ci vengono fornite sono rappresentate dai simboli A, B e C

quindi possiamo rispondere che il triangolo è equilatero se e solo se A = B, B = C e C = A.

Abbiamo quindi una risposta precisa che non necessita di ulteriori supposizioni al fine di garantire la correttezza della soluzione.

L’algoritmo in questo caso è completo e possiamo dare una risposta sempre corretta. Proviamo a simulare il nostro algoritmo con i seguenti dati:

A = 30, B = -13, C = 2

La risposta in questo caso è negativa in quanto B è una misura minore di zero e per tanto i dati non rappresentano un triangolo.

Con i seguenti dati invece:

A = 10, B = 10, C = 10

la risposta è positiva, infatti non solo sono tutti positivi e maggiori di zero, ma sono anche A = B, B = C, C = A e quindi abbiamo un triangolo equilatero!

Nella prossima lezioni inizieremo ad introdurre la definizione di algoritmo e ad applicarla direttamente. E’ anticipato che questo esempio sarà cardine nelle prossime lezioni per la sua semplicità e completezza allo stesso tempo.

Per chi avesse voglia di fare esercizio, come si potrebbe ottimizzare la soluzione? (è davvero necessario fare tre confronti di misure?, è davvero necessario verificare che tutte e tre le misure siano strettamente positive?)

Wordpress password

Parola d’ordine? Password sicura

Difficoltà tecnica:
1-su-5

In questo articolo affronteremo un argomento che potrebbe sembrare scontato ma che invece è molto critico e delicato: le password. Dall’inizio dell’era informatica, chi gestisce i sistemi richiede ai propri utenti di utilizzare delle password dette sicure, ed è da allora che essi, spesso e volentieri, ignorano le direttive optando per chiavi di accesso non sicure. Questo è un problema ancora più rilevante da quando è nata l’informatica per le masse, cioè quella che permette a chiunque sia dotato di una connessione di avere account di posta elettronica e social network. Per ogni profilo esiste una password, e ovviamente dovrebbero essere tutte diverse e sicure.

Per collegarci al filone generale di questi ultimi articoli, anche per il proprio sito su WordPress è necessario utilizzare delle chiavi di accesso sicure: la piattaforma infatti è aperta al pubblico, e chiunque può accedere alla pagina di login digitando sulla barra di ricerca il nome del sito seguito da /wp-admin. “Admin” è un utente che esiste nella maggior parte delle installazioni, e, se è associato ad una password poco sicura, si rischia seriamente che un malintenzionato possa accedere al nostro sistema, con tutte le conseguenze negative menzionate negli scorsi articoli.

Durante l’installazione, WordPress ci propone una password sicura, spesso non utilizzata perché formata da circa quindici caratteri alfanumerici e speciali ( !, /, […]). Invece di optare per chiavi di accesso più mnemoniche, si potrebbero salvare le password sul proprio browser o tramite sistemi di gestione delle stesse, entrambi molto affidabili. E’ infatti più importante che la password sia sicura piuttosto che ricordabile, anche perché esistono dei sistemi di recupero delle chiavi che permettono di resettarle tramite il proprio account email.

Quale può essere un compromesso tra i consigli dello sviluppatore e le necessità di un utente? Utilizzare una password mnemonica che però abbia più di 10 caratteri e che sia alfanumerica (quindi composta sia da lettere che da numeri), intervallata da almeno una maiuscola ed una minuscola e da un carattere speciale come @ o !.

Un’ultima raccomandazione: cambiare la chiave di accesso periodicamente (ogni 3/6 mesi) ed evitare di utilizzare informazioni reperibili sui profili social (date, nomi e, soprattutto, il nome del sito stesso).

wordpress lumete

Come usare WordPress: i consigli dello sviluppatore

Difficoltà tecnica:
1-su-5

 

WordPress è un programma che consente la creazione e la distribuzione di un sito Internet formato da contenuti testuali e multimediali. Visto il suo utilizzo massiccio, Lumete ha deciso di proporre una serie di articoli per approfondirne alcuni aspetti. Non si tratta di tutorial sul funzionamento della piattaforma (a riguardo si possono trovare innumerevoli aiuti sul web, e lo stesso WordPress è molto chiaro ed intuitivo nelle sue dinamiche), bensì di consigli su come trattare tutti quegli elementi che solitamente si danno per scontati ma che invece hanno un ruolo molto importante dal punto di vista puramente software dello sviluppatore. Ciò è fondamentale per ottimizzare l’efficacia e l’efficienza del programma.

Su cosa verteranno dunque i nostri articoli? Di certo non verranno affrontati aspetti inerenti l’installazione della piattaforma, la creazione fisica dei post, l’estetica del sito, la personalizzazione e le tecniche SEO. Si darà invece ampio respiro alla sicurezza, all’aggiornamento dei plugin, all’accesso al codice sorgente, all’importanza di un backup (quindi di una copia dati) ed alle peculiarità dei diversi ruoli presenti in WordPress.

Speriamo in questo modo di fornire agli utenti tutti gli strumenti necessari per utilizzare il programma in modo approfondito e sicuro.

introduzione agli algoritmi

Introduzione agli algoritmi

Difficoltà tecnica:
1-su-5

 

A chi è rivolto il corso?

Questo corso è rivolto principalmente a chi vuole avvicinarsi per la prima volta al mondo della programmazione.

Servono prerequisiti?

Di fatto no, se state leggendo questa pagina avete a disposizione tutto quello che serve per iniziare, ovvero un computer o comunque un dispositivo in grado di visualizzare una pagina web.

Cosa si apprenderà?

Alla fine del corso, probabilmente già prima della fine del corso, si avrà una visione chiara del concetto di algoritmo e di come questo si applica alla programmazione. Il corso, pur volendo mantenere volutamente un’impronta teorica, sarà supportato da esempi pratici e fin dalle prime lezioni sarà possibile applicare nella pratica quello che si è appreso.

Struttura del corso

Il corso verrà proposto tramite una serie di post all’interno di questo blog. Si cercherà di dare una cadenza settimanale ai post ma purtroppo non si può garantire, ad ora, puntualità nelle pubblicazioni.

Le lezioni saranno quanto più brevi possibile. La volontà è quella, di volta in volta, di concentrarsi sui concetti essenziali mirate a descrivere il concetto in questione, fornirne la logica, gli esempi pratici ed eventuali ‘compiti a casa’.

Campo pratica

Nonostante la consapevolezza che chi si avvina a questo corso lo sta facendo per avvicinarsi al mondo della programmazione, si è deciso di non fare riferimento a nessun linguaggio specifico.

Il corso può essere portato a termine semplicemente con carta, penna e il terminale che state utilizzando per leggere questa pagina.

La scelta di non utilizzare nessun linguaggio di programmazione è dettata principalmente dal fatto che l’algoritmica è una materia indipendente dalla programmazione e, sotto molti aspetti, un prerequisito della programmazione stessa. Pertanto, rispettando un naturale flusso di apprendimento, è importante conoscerla prima di cimentarsi nella programmazione vera  propria.

Tempi di apprendimento

I tempi di apprendimento del corso dipendono ovviamente da svarianti fattori, ma possono considerarsi brevi in quanto non richiederanno tanto più pratica di quella che verrà fatta seguendo completamente il corso.

Back to the blog

Dopo aver sospeso le pubblicazioni per alcune settimane, utili a riordinare le idee e fare il punto della situazione, Lumete è pronta a tornare sul blog più attiva di prima.
In questi mesi non siamo certo rimasti con le mani in mano: la ricerca sulle web application continua con rigore, mentre si è consolidata anche quest’anno la collaborazione con Humarker per il Programma Alternanza Scuola-Lavoro, che vede protagoniste le classi 3^A dell’Istituto “Carlo Emilio Gadda” di Fornovo e la 4^A dell’ITIS “Leonardo da Vinci” di Parma.
Con i ragazzi del Gadda si è iniziato un nuovo percorso approfondendo i linguaggi HTML, CSS e JavaScript: gli studenti svilupperanno il gioco del tris e, dopo Natale, proveranno a creare in completa autonomia la propria applicazione.
Il tris viene proposto ai ragazzi in modo ormai consolidato: si tratta infatti di un software semplice con molti spunti per lo sviluppo. Esso sarà anche protagonista del lavoro al Leonardo da Vinci: riprendendo il percorso iniziato con gli studenti lo scorso anno, verrà implementata un’applicazione software che consentirà loro di giocare il tris in modalità multiplayer.
Quest’anno si è anche deciso di collaborare con alcuni ragazzi del quinto anno del Gadda per lo sviluppo di un progetto basato sui social network.

Pensate sia tutto? Dato che in Lumete non si è soddisfatti se non si lavora a 360°, è stato deciso di rendere disponibile, per tutti coloro che vogliono avvicinarsi al mondo della programmazione, un corso aperto a tutti sugli algoritmi. Le lezioni, indicate sia per chi conosce già la materia che, soprattutto, per i neofiti, saranno fruibili ogni 15 giorni sul blog, a partire dalla prossima settimana.

Si preannuncia un periodo intenso e ricco di attività: stay tuned!

ICT- HUMARKER E LUMETE INVESTONO SUI GIOVANI DEL GADDA

Il dialogo tra scuola e impresa è possibile e se c’è disponibilità ed entusiasmo può dar vita a progetti che stimolano le capacità migliori. Così è avvenuto tra l’istituto tecnico Gadda di Fornovo e le aziende Humarker e Lumete, realtà parmigiane dell’Ict attive nell’applicazione delle tecnologie digitali al mondo della cultura e del turismo. Partendo da un primo contatto all’interno del tavolo di lavoro sui fabbisogni formativi in ambito ICT, presieduto dall’Unione Parmense degli Industriali, e dopo alcuni incontri per capire come far convergere le diverse esigenze, nelle scorse settimane ha preso il via un progetto che fino a fine maggio coinvolgerà due coppie di ragazzi della classe quinta informatica in team con alcuni professori della scuola e i tutor aziendali. In previsione dell’esame di maturità, i quattro studenti saranno impegnati a sviluppare per le due aziende alcuni moduli di un software per “mobile”, già creato da Humarker, che sfrutta il gioco per far conoscere alle giovani generazioni il patrimonio artistico e culturale del territorio.  E’ decisamente innovativa anche la modalità con cui le due squadre di ragazzi, le aziende e la scuola lavoreranno; è stato creato infatti un ambiente virtuale condiviso ad accesso riservato per consentire ai ragazzi di lavorare durante le ore scolastiche e da casa, attraverso il telelavoro.