Vai al contenuto

Programmazione in Python per le scienze della vita

Clicca per acquistare su Amazon il libro Programmazione Python per le scienze della vita

Clicca per acquistare su Amazon il libro Programmazione Python per le scienze della vita

Indice

Prefazione VII
Ringraziamenti XIII

1. Information technology 3
1.1. Che cos’è l’informatica 3
1.2. Il computer e la programmazione 5
1.3. Il modello di Von Neumann 7
1.4. Il software 9
1.5. L’hardware 28
1.6. I sistemi di numerazione 38

2. Dal problema alla soluzione 45
2.1. Il pensiero computazionale e il coding 45
2.2. Gli algoritmi 61
2.3. Il Diagramma a Blocchi 75
2.4. Elementi di Project management: come organizzazione e gestire una soluzione 120
2.5. Il ciclo di vita di un software 135
2.6. Esercitazioni 141

3. Il linguaggio Python 143
3.1. Introduzione a Python 143
3.2. Che cos’è un IDE e i suoi vantaggi 146
3.3. Ambienti di sviluppo Python 147
3.4. I dati, le variabili e le costanti 154
3.5. I commenti 160
3.6. Operazione sulle stringhe 162
3.7. Istruzioni di sequenza, di condizione e d’iterazione 166
3.8. I vettori e le matrici 209
3.9. Le funzioni e i moduli 236
3.10. Le strutture dati (liste, tuple, dizionari e set) 242
3.11. Python e la gestione dei file 264
3.12. Esercitazioni 275

4. Python e il Web 279
4.1. La programmazione sul Web 279
4.2. Come Python viene usato nello sviluppo del Web 319
4.3. Esercitazioni 323

5. La gestione del Database in Python 329
5.1. Introduzione al database relazionale 329
5.2. Il DBMS e le sue caratteristiche 336
5.3. Progettazione di un database 342
5.4. Il linguaggio SQL 355
5.5. Python e MySql 368
5.6. Esercitazioni 384

6. Casi di studio 387
6.1. Casi di studio 387
6.2. Caso 1 – Sevizi pubblici online 389
6.3. Caso 2 – Portale di commercio elettronico 395
6.4. Caso 3 – WiFi con accesso gratuito 401

Bibliografia 409
Indice analitico 411

Clicca per acquistare su Amazon il libro Programmazione Python per le scienze della vita

Prefazione

In queste pagine viene presentato uno specifico linguaggio di programma-zione (Python), per mostrarne le potenzialità d’uso e facilitarne la fruizio-ne. Per accostarsi in maniera corretta a Python, come a qualunque altro lin-guaggio di programmazione, risulta utile esaminare propedeuticamente an-che alcuni fondamentali argomenti di programmazione. Il libro non è rivolto solamente a quanti fossero interessati a imparare a programmare, ma anche a chi fosse interessato ad approfondire concetti di più ampio rilievo nel contesto dell’informatica. La programmazione, che ha grande rilievo nel lavoro informatico, si dimo-stra utile anche in molti altri contesti e, più in generale, quando si vogliano affrontare le sfide della quotidianità. Si diventa fluenti nel leggere, nello scrivere e nel padroneggiare abilità da esercitare in tantissime situazioni, sapendo, come dice Mitchel Resnick, che una buona percentuale di quanti si cimentano nell’apprendere un lin-guaggio di programmazione non diventerà un esperto informatico o un programmatore, ma avrà imparato a pensare in modo computazionale. Per capire bene che cosa si nasconda dietro l’espressione – tanto cara agli informatici – di pensiero computazionale, conviene considerare che non ci si riferisce a una tipologia tipica di pensiero, bensì a una specifica attività del pensiero. Nella lingua inglese si dice Computational thinking e, in quel gerundio, si condensa l’idea di un’azione, di un fare, di un procedimento. Dobbiamo pensare perciò a un’esperienza o, meglio ancora, a un’abilità: quella di “processare”, ovvero di raccontare il percorso che ci si appresta a intraprendere in vista di un traguardo. Il nostro obiettivo finale è esattamente quello indicato dal titolo: Pro-grammazione in Python per le scienze della vita. Oggi è quasi inevitabile che si associ l’informatica alla tecnologia, ma possiamo suggerire e prove-remo a dimostrare con alcuni esempi che, in realtà, essa è una scienza che si adatta anche alla comprensione dei fenomeni umani e può far sviluppare una forma mentis molto utile per affrontare le varie sfide della vita, non necessariamente collegate all’evoluzione tecnologica, e questo sia in cam-po professionale che nella sfera personale. L’abilità di base del pensiero computazionale è quella di processare l’intero itinerario che conduce alla soluzione del problema: raccogliere i dati, disporli in ordine, prevedere i diversi passaggi, considerare le possi-bili interferenze (positive e/o negative), predisporre i necessari momenti di verifica (ante, post e in itinere) e considerare come si possano generalizza-re i risultati. Pensiamo per un momento a qualcosa che potrebbe persino sembrare lon-tano dalle questioni di informatica. Immaginiamo due giovani che decido-no di andare a pescare: giunti sul posto, a uno manca sempre qualcosa e si giustifica dicendo che non ci aveva pensato; l’altro, invece, ha sempre tutto quello che può servire, e anche al mutare delle condizioni di contesto rie-sce a reagire prontamente e in maniera efficace; prima di partire aveva pen-sato a ogni cosa, con la mente aveva quasi disegnato tutto quello che pote-va accadere e aveva previsto ogni possibile, utile reazione. Il pensiero computazionale si basa su questa abilità, che tende ad aggluti-nare attorno a sé una serie di conoscenze. È questo l’obiettivo primario, lo scopo principale, il primo motivo di inte-resse in questo campo. Il pensiero computazionale e la programmazione informatica sono sempre più importanti per la formazione a partire dalla scuola primaria. Python è un elemento cardine di questo itinerario pedagogico ed è presente in molti programmi didattici, governativi e non. L’impostazione del libro è basata sull’imparare facendo e divertendosi, per questo si dà largo spazio alla progettazione e alla creatività. Gli argomenti sono presentati come problemi da risolvere, di cui viene fornita una solu-zione sotto forma di codice Python, che viene quindi esaminata per com-prenderne il funzionamento. Pensare schematicamente, lavorare collaborando con gli altri sono attività che aiutano a sviluppare competenze logiche e capacità di risolvere pro-blemi in modo creativo ed efficiente, creando competenze che possono es-sere spese in contesti diversi. Il nostro intento è quello di presentare il linguaggio Python e, nello stesso tempo, promuovere una metodologia produttiva ed efficace rispetto alle si-tuazioni della vita quotidiana e professionale. L’impostazione sarà basata sul learning by doing (imparare facendo), learning by design (imparare progettando) e project-based learning (ap-prendimento basato sull’affrontare la realizzazione di progetti). Imparare a programmare non è facile e talvolta, dopo l’inziale entusiasmo, si registrano forme di rifiuto. Python è oggi il linguaggio di programma-zione più apprezzato e diffuso grazie alla sua semplicità e alla sua grande flessibilità. Con Python è possibile creare numerose tipologie di software, dai tool per elaborare dati ai programmi interattivi, alle applicazioni web e per smartphone e tanto altro. Se si incontra qualche argomento che risulta difficile non bisogna scorag-giarsi, ma affrontarlo per cercare di capire i passaggi e l’obiettivo finale da raggiungere. Ad esempio, il pensiero computazionale ci suggerisce di scomporre il problema in sotto-problemi per ridurre la complessità, e con la lettura, e soprattutto con la pratica, alcuni concetti diventeranno chiari. Stiamo parlando di concetti e tecnologie in continua evoluzione e talvolta, come diceva lo scrittore di fantascienza Arthur C. Clarke, “ogni tecnologia sufficientemente avanzata è indistinguibile dalla magia”. Saper programmare un computer è una capacità oramai necessaria a chiunque voglia addentrarsi nello studio delle scienze. Da questo punto di vista, il linguaggio Python sta diventando sempre più popolare per la pro-grammazione in ambito scientifico. Questo libro propone una guida completa alla programmazione, fornendo i principi fondamentali utili a esprimere con algoritmi la soluzione a un pro-blema specifico. Nel libro sono schematizzate le problematiche ricorrenti della programma-zione e, per queste, vengono presentati esempi e soluzioni. Il volume ap-profondisce i fondamentali della programmazione: la selezione, la condi-zione, l’iterazione e le strutture dati complesse, quali liste, tuple, dizionari e set. I concetti teorici presentati vengono poi ampiamente supportati da esempi. Tutti i programmi presentati nel testo sono scaricabili online, pronti per essere eseguiti, ma anche manipolati e riutilizzati a piacimento. Fra i possibili contesti applicativi, vengono quindi considerati anche gli ambiti ancora nuovi della didattica nelle scuole e nelle università, alcuni aspetti della data science e il deep learning, offrendo un utile supporto alla didattica nei vari corsi universitari. Utilizzare Python significa anche avere a disposizione numerose librerie e framework dedicati. Il testo inizia con una panoramica generale sull’information technology con una differenziazione tra hardware e software, per poi introdurre le ca-ratteristiche del linguaggio Python dall’installazione dell’ambiente alla ge-stione delle varie strutture dati, dei file, delle librerie, dai moduli alla ge-stione delle pagine Web. Infine, viene affrontato il tema della progettazione e manipolazione delle basi di dati (database). Struttura del libro Capitolo 1 – Information technology – Si inizia con una panoramica sulle caratteristiche di software e hardware e si conclude con i sistemi di nume-razione e con le modalità di rappresentazione delle informazioni. Capitolo 2 – Dal problema alla soluzione – Si parte dal concetto del pen-siero computazionale e del coding, per passare alla metodologia per deter-minare la soluzione al problema realizzando il rispettivo algoritmo e il dia-gramma a blocchi. Il capitolo termina con un approfondimento sul project management e sul ciclo di vita di un software. Capitolo 3 – Il linguaggio Python – Introduce alla programmazione e pre-senta Python, la sua storia, la sua filosofia e la comunità di appassionati e programmatori che ruota attorno a questo linguaggio; spiega inoltre come installare Python per programmare offline e online. Vengono presentati esempi per risolvere problemi, attraverso le strutture di controllo della se-quenza, della condizione e dei cicli. Si utilizzano i vettori, le matrici, le funzioni e i moduli. Si gestiscono i file e si passano in rassegna i tipi di dato composti dalle stringhe, dalle liste, dalle tuple, dai dizionari e dai set. Capitolo 4 – Python e il Web – Affronta tematiche riferite al Web, a Inter-net, alle reti di calcolatori, ai CMS e al SEO. Come progettare e realizzare un sito Web utilizzando Python e HTML. Capitolo 5 – La gestione del Database in Python – Introduce il concetto di database relazionali, della progettazione di una base dati, delle caratteristi-che di un DataBase Management System (DBMS), del linguaggio SQL e MySql.

Clicca per acquistare su Amazon il libro Programmazione Python per le scienze della vita

Clicca per acquistare su Amazon il libro Programmazione Python per le scienze della vita

https://www.salvatoremancarella.it/wp-content/corsi/corsi.html