QNA > Q > Quali Sono Alcuni Libri Di Informatica Per Principianti?

Quali sono alcuni libri di informatica per principianti?

La formazione universitaria in "Informatica" è un rigoroso programma di 4 anni che ti insegna come ragionare e costruire entità computazionali. La maggior parte è astratta, con una forte dose di matematica discreta. Gli studenti implementano i fondamenti insegnati loro usando la programmazione del computer.

Dalla tua domanda, sembra che tu sia più interessato a imparare come programmare e anche a imparare alcuni dei principi di progettazione del software lungo la strada. Io raccomanderei "Programmazione Python: An Introduction to Computer Science". Questo libro è anche usato al MIT CS 6.00 per insegnare agli studenti CS del primo anno che potrebbero avere zero esperienza nella programmazione.

Python è un linguaggio molto bello, generico e facile che può illustrare diversi stili di ragionamento sul calcolo. Non c'è nulla contro il C (o C++) da parte mia; l'ho imparato al liceo e ho programmato in modo estensivo durante il college. È però un linguaggio di livello piuttosto basso, più adatto allo sviluppo di software di sistema. Dovresti tenere a mente che la scelta del linguaggio di programmazione influenzerà molto il tuo pensiero sul calcolo. Il C non ha funzioni come cittadini di prima classe, quindi il vostro pensiero sulla costruzione del software, se leggete solo il C, sarà limitato ad uno stile imperativo.

Una volta che avete una certa scioltezza in almeno un linguaggio di programmazione, dovete passare un po' di tempo a capire le strutture dei dati e gli algoritmi di base. Raccomanderei un libro di testo molto semplice per questo, qualcosa sulla linea di "Data Structures and Algorithms in Java" di Robert Lafore. Dato che conosci già un po' di C, Java sarà molto facile da imparare. Come altri poster hanno menzionato, puoi anche usare Cormen et. al. per capire Algoritmi, tuttavia tieni presente che è un libro di testo avanzato, tipicamente usato a livello di laurea. Una buona conoscenza delle Strutture Dati è un must assoluto per diventare un buon programmatore. Pensate ad esse come ad una collezione di strumenti per attaccare qualsiasi problema, simile alla cassetta degli attrezzi di un falegname o di un meccanico. Dopo questo, potresti voler "guardare sotto il cofano" e passare un po' di tempo a capire l'architettura della macchina. Un libro eccellente per questo scopo è "Computer Systems: A Programmers Perspective" di Randal E Bryant della Carnegie Mellon University. Non posso raccomandarlo abbastanza. Una volta che si sa come funzionano veramente i computer, si può iniziare a imparare e utilizzare tecniche di programmazione avanzate come il multithreading per sfruttare le macchine multiprocessore e creare programmi ultra veloci e scalabili.

CS è un campo affascinante e sono contento che tu sia interessato ad esso. Alla fine, divertiti, e non esitare a fare uso di siti web di corsi aperti liberamente disponibili dal MIT, Stanford ecc. Ecco un link al corso Intro to CS del MIT che ho menzionato prima:

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

Di Okechuku Sison

Qualcuno può ascoltare le mie chiamate al cellulare? :: Come spiare un iPhone collegato al mio punto di accesso WiFi
Link utili