Archivi tag: programmazione

Risorse web per imparare a programmare in C

Mi è giunto pochi minuti fa un messaggio via facebook da parte di Eric G. che mi chiede informazioni su libri didattici per imparare a programmare C:

… sono un ex studente di un istituto professionale IPSIA di Gorizia. Complimenti per le nozioni del suo corso Arduino che ho trovato molto utili. Nel suo corso si parla di avere almeno una base di nozioni di programmazione, quando ero studente io ho seguito solo corsi di elettronica cablata con i C MOS e operazionali, il mondo Arduino mi affascina, ho acquistato le schede e ho fatto le varie prove con successo, ma vorrei imparare a costruirmi un programma da solo, ma mi mancano le basi. Quello che vorrei da lei è un consiglio su che libri scolastici (e i riferimenti per rintracciarli sul mercato) posso acquistare per imparare le basi della programmazione da autodidatta, sapendo che Arduino lavora con il C. La ringrazio fin da ora per il suo tempo e i suoi consigli. Saluti cordiali.

Gentile Eric grazie per avermi contattato, il tuo messaggio giunge proprio in un momento in cui mi accingo a preparare il corso di C per i miei studenti di 5′ e quindi di seguito ti segnalo una serie di link molto utili, che consiglierò ai miei studenti e da cui estrarrò alcune parti per strutturare il corso.

Alcune precisazioni su Arduino e la sua programmazione:

Gli sketch di Arduino sono in un C semplificato, con una sintassi un po’ diversa dall’ANSI C. Per essere precisi il linguaggio che si usa è una versione basata su Wiring che consente di rendere semplice la scrittura di programmi in C e C++. L’ambiente di sviluppo è basato su Processing.
Quando scrivi uno sketck in Arduino, nel momento in cui fai click sul pulsante di upload, il tuo sketch viene tradotto in linguaggio C, passato al compilatore avr-gcc che trasforma in linguaggio macchina comprensibile al microcontrollore posto sulla scheda Arduino.
In ogni caso se impari a programmare in C sarà sicuramente semplicissimo implementare gli sketch di Arduino.

Visto che il tuo interesse è Arduino potrebbe interessarti prima di ogni cosa l’ottimo libro gratuito: Arduino Programming Notebook ottimo per imparare a programmare Arduino nel linguaggio derivato (e simile) dal C.

Questa parte della prefazione del libro:

This notebook serves as a convenient, easy to use programming reference for the command structure and basic syntax of the Arduino microcontroller. To keep it simple, certain exclusions were made that make this a beginner’s reference best used as a secondary source alongside other websites, books, workshops, or classes. This decision has lead to a slight emphasis on using the Arduino for standalone purposes and, for example, excludes the more complex uses of arrays or advanced forms of serial communication.

Beginning with the basic structure of Arduino’s C derived programming language, this notebook continues on to describe the syntax of the most common elements of the language and illustrates their usage with examples and code fragments. This includes many functions of the core library followed by an appendix with sample schematics and starter programs. The overall format compliments O’Sullivan and Igoe’s Physical Computing where possible…

Per quanto riguarda la lista di manuali selezionati, questa è la lista:

Ringrazio mia sorella, Maria Grazia Maffucci, insegnante di informatica, per avermi segnalato parte della lista sopra indicata.

Minibloq, ambiente di programmazione grafica per Arduino

Minibloq è un ambiente di programmazione grafico per Arduino ed altri dispositivi come DuinoBot o Maple, in via di sviluppo e spero a breve ne venga rilasciata una versione pubblica. Lo scopo principale di questo bel progetto è quello di far avvicinare ad Arduino gli studenti più piccoli, dalle elementari alle medie, guardate i video allegati per credere!

Per maggiori informazioni visitate la pagina del progetto, il sito e in via di realizzazione in questi giorni e nel mentre vi consiglio di guardare i video e… stupitevi 🙂 perché questo ambiente di sviluppo funziona addirittura, grazie a Wine, anche su OLPC XO

Invece in questo filmato potete vedere Minibloq su un Intel ClassMate touch

Realizzare un’applicazione iPad in sei settimane

Realizzare in sei settimane un’applicazione iPad partendo da zero. Wepad Project un team di sei persone ogniuna con competenze diverse: il creativo, il blogger, il comunicatore, la tecno-mamma, il tecnologo, lo sviluppatore, tutti insieme una volta alla settimana si incontra per progettare e realizzare. Appena incominciati i lavori, tra le varie idee prese in considerazione: realizzare un’app per il risparmio di tempo e denaro.
Il gruppo di lavoro può chiedere suggerimenti al pubblico on-line.
In allegato il video della sintesi del 1° incontro.

Maggiori informazioni su wepadproject.it

Impariamo il C per programmare i robot

Di recente mi è stato chiesto consiglio in merito a risorse didattiche per l’apprendimento del RobotC per programmare Lego Mindstorms NXT.
La richiesta d’aiuto mi è arrivata da colleghi non di discipline tecniche, che hanno come unica conoscenza di linguaggio di programmazione l’NXT-G.
Purtroppo per imparare RobotC, oltre ad apprendere la sintassi delle funzioni NXT è necessario conoscere il C, quindi il mio suggerimento è stato quello acquistare un buon libro di C, tra i più famosi ed il primo su cui ho studiato io:

The C Programming Language” – Kernighan & Ritchie, 2nd edition
(non sconsiglio l’edizione italiana tradotta molto male)

Di recente però ho trovato on-line un ottimo libro gratuito sulla programmazione in C:

The C Book, second edition by Mike Banahan, Declan Brady and Mark Doran
originariamente pubblicato dalla Addison Wesley nel 1991.

Anche se del 1991, vi accorgerete che è un ottimo reference, spiegazioni ed esempi chiarissimi che potrete utilizzare anche con i vostri allievi.
Se desiderate è disponibile anche la versione pdf scaricabile.

Creare applicazioni per i dispositivi mobili con Application Craft

Siete convinti che il futuro della formazione passi anche per i dispositivi mobili e per il web?
Se la risposta è si allora vi segnalo un’interessante ambiente di sviluppo: Application Craft che vi permetterà di sviluppare programmi per diversi tipi di dispositivi: iPhone, iPad, BlackBerry, Symbian, Windows Mobile ecc…