2010-07-22 14 views
11

Ho cercato di capire quale campo del computer voglio inserire più avanti nella vita. Il college è dietro l'angolo per me e ho preso in considerazione l'ingegneria del computer, l'ingegneria del software, ecc.Dove posso iniziare a cercare di capire meglio come funzionano i computer?

Ultimamente, ho esaminato i sistemi di sicurezza del computer e lo sfruttamento di tali (puramente per scopi didattici, sul mio proprietà propria). Sfortunatamente, mi sembra che il 99% delle persone là fuori non abbia idea di cosa stiano parlando. Spesso, è solo "esegui questo" o "esegui quello" o "puoi trovare un programma che farà tutto questo per te" - nessuno sa come funzionano questi programmi o cosa fanno esattamente.

Non trovo divertente o interesse usare qualcosa che qualcun altro ha creato semplicemente per definirsi un "hacker" come fa la maggior parte delle persone. In effetti, non sono nemmeno interessato ai sistemi di hacking quanto a come lo fanno.

La mia domanda si riduce a questo.

Voglio imparare gli ins, i fuori, gli alti e bassi dei computer - tutto da concetti astratti come Internet e trasferimento dei dati, all'hardware. Voglio sapere in che modo i computer memorizzano i dati (come sono organizzati i morsi, ecc.) E cosa fanno effettivamente i processori, ecc. Cos'è il WIFI, davvero? I computer comunicano con la luce (qualcosa che ho preso da una rivista che ho letto su un aereo).

Ho diversi anni di esperienza di programmazione/computer, ma molto di ciò che so sui computer in generale è molto ampio. I computer inviano pacchetti di informazioni avanti e indietro tra loro, ciascuno con un'intestazione e un contenuto. I computer sono composti da più componenti, ciascuno con la propria funzione (processore, scheda video, RAM, hard disk, ecc.), Di cui ho già una conoscenza di base. ecc. ecc.

C'è così tanto per un computer e non so da dove cominciare. Sono sicuro che alcune delle mie lezioni universitarie chiariranno le cose per me, ma sono così curioso che voglio iniziare ad imparare il più possibile.

Questa domanda è probabilmente dappertutto, quindi per favore chiedimi di chiarire quando necessario. Al momento sono un po 'ritardato dal jet, ma ho cercato di scrivere i miei pensieri nel modo più veloce e coerente possibile (tuttavia, avrei potuto fallire completamente nel processo).

Grazie in anticipo per qualsiasi consiglio!

Justian Meyer

prega, sentitevi liberi di modificare i tag per questa domanda. Quelli attuali sono terribili.

EDIT:

Tutti questi commenti mi fanno eccitato :). Così tanto da imparare, così tanto da esplorare :).

+1

Non c'è niente di specifico in * programmazione * in questa domanda. Sembra più un problema generale di conoscenza del computer, nel qual caso dovrebbe essere migrato su superuser.com. – gnovice

risposta

5

per aiutarvi a scegliere quali la specializzazione per andare in, io consiglierei caldamente ingegneria informatica (noto come CMPE o CE in corso universitario libri). Le lezioni ti condurranno a tutto ciò che hai appena elencato e con le lezioni elettive potrai approfondire gli aspetti che desideri (ad esempio sicurezza e networking).

In CMPE si imparerà sia il software (C, C++ e alcuni C#) che l'hardware (forse due classi di ingegneria elettrica). Una volta raggiunta la programmazione dell'assemblaggio, inizierai a imparare come i due si combinano per creare tutto il resto in qualsiasi computer o sistema embedded. Ti porterà al livello di bit di memoria, CPU, bus dati, I/O e tante altre cose. Sto appena iniziando a fare Digital Design, e il suo ****ing glorioso. Da quello che hai descritto, ti piacerà molto essere un CMPE major.

Ci sono specialisti in informatica e software engineer; ci sono ingegneri elettrici; ma non ci sono telefoni cellulari, GPS o computer progettati senza ingegneri informatici!

+0

CMPE è esattamente come quello che voglio fare :). Sembra che posso perseguirlo nel mio Undergrad. e decidere dove voglio andare da lì per il mio laureato. Raggiungere il mio interesse e mantenere aperte le mie opzioni :). –

+0

So per esperienza personale MSOE ha un ottimo programma di laurea in ingegneria informatica. http://www.msoe.edu/academics/academic_departments/eecs/bsce/ –

+0

Poco prima di andare al college qualche anno fa, ho avuto lo stesso tipo di domande. Mi sto specializzando in ingegneria informatica e trovo che sia un ottimo mix di hardware e software. – mouche

2

Structured Computer Organization, Tanenbaum

Si tratta di un grande libro e spiega tutto, da un transistor a una macchina virtuale Java.

+0

$ 100 + Wow, è difficile per una lettura divertente, ma se copre davvero tante informazioni, suppongo sia giustificato? Le recensioni su Amazon sono promettenti, ma altri siti dimostrano che questo è pensato per completare un corso sull'architettura del computer e può essere molto vago in alcuni capitoli (dove è prevista un'istruzione di classe) e eccessivamente confuso e disorganizzato in altri (dove si aspetta che tu capisco già il concetto - alcuni si lamentano del gergo tecnico). –

+0

Sono d'accordo che oltre $ 100 è molto denaro per un libro. Alcuni negozi hanno la quarta edizione con meno soldi: http://www.avenuebookandco.com/?page=shop/flypage&product_id=254100 – Sjoerd

+0

Ora questo è molto più fattibile. Guadagnerò davvero di più dalla quinta edizione come il 4? Il quinto è, ovviamente, più aggiornato. –

2

Questi due mi hanno aiutato a capire come funzionano il sistema operativo e la memoria in generale. Credo che molte cose derivino da queste "semplici meccaniche".

1.Anatomy of a program in memory

2. Pushing the limits on Windows memory

+0

@btrandom: Grazie per i collegamenti. Sembra interessante, ma (odio ammetterlo) sembra un po 'troppo in testa al momento. Lo esaminerò un po 'più tardi quando sarò un po' più attento. –

+0

Tanto di cappello per sottolineare la cosa "meccanica semplice". Sto imparando e sento che ho bisogno di trovare alcune chiavi e le cose diventeranno meno astratte - questo è esattamente la semplice cosa meccanica che hai indicato :) – Nishant

1

Dal momento che si sta decidendo dove andare esattamente, per essere nello sviluppo di software o di diventare esperto di hardware e di rete, vorrei sottolineare che a mio parere si tratta di due professioni diverse e richiedono due diverse mentalità. I buoni esperti di hardware di solito non sono dei buoni programmatori e i bravi programmatori quasi sempre non sono esperti in hardware e networking. Quindi direi di non provare ad abbracciarli entrambi, attenersi a una direzione che è più adatta alla tua mentalità. Perseguire due conigli non porterebbe a catturare nessuno.


@Justian vedo, mi dispiace un po 'frainteso. Il desiderio di comprendere la complessità di come il codice viene elaborato all'interno dell'hardware è molto naturale. Quando ero al college stavo leggendo il libro "Come funziona il computer" - è un libro abbastanza semplice, anche un po 'primitivo sulle funzionalità hardware generali. Ma può darti un ampio sguardo sull'argomento.

Un'altra analogia mi è venuta in mente. I linguisti cercano la meccanica interna del linguaggio, ma sono i neuroscienziati che ricercano come i segnali linguistici vengono elaborati nel cervello. Due occupazioni molto diverse. Ciò non significa scoraggiarvi dall'apprendimento dell'hardware, ma solo per sottolineare la differenza tra due regni.

+0

Capisco cosa stai dicendo completamente. Lasciatemi chiarire un po '. Sono un esperto di software più forte dell'hardware, ma ritengo che sarebbe utile per me imparare alcuni concetti hardware sul lato. Non mi piace la sensazione che provo quando mi siedo e penso: "Ho fatto un programma, cosa ho fatto esattamente?". L'astrazione mi lascia con una specie di vuoto. –

+1

"L'astrazione mi lascia con una specie di vuoto" - Mi piace :) Col tempo, sono giunto a godermi e rispettare quella sensazione, anche se ovviamente, come te, voglio sempre sapere cosa succede dietro il sipario. Ci sarà sempre un altro sipario, ma con tutti i mezzi, esplorare. –

+0

(dopo la modifica): Understandable. È probabile che andrò in software, ma non vedo alcun danno nel fare ingegneria informatica nel mio Undergrad, quindi passare a un major strettamente basato sul software nel mio laureato. –

1

Steve Gibson di sicurezza ha eseguito una serie di podcast sulle basi del computer.

http://www.grc.com/securitynow.htm Episodio 233 "Progettiamo un computer (parte 1)" fino al più recente "Cosa faremo per la velocità".

Ogni altro episodio fa il feedback degli ascoltatori e anche quelli sono buoni da ascoltare.

un paio di volte (come in questo momento) hanno interrotto la serie se un elemento importante notizia sicurezza viene in su (come quando quella grande cosa SSL ha rotto un paio di mesi fa)

E 'un bello spettacolo e vi consiglio di iniziare su 233 e procedendo verso l'alto, quindi ricominciando dall'episodio 1. Ha anche fatto serie molto buone su come funziona una rete di computer e su come funziona la crittografia. (Ep 203 lascerà a bocca aperta quando parla della metodo di Boyer & Moore di ricerca)

+0

Questa sembra una grande idea! Domanda, però: stai raccomandando il podcast solo audio o video? Sono la stessa cosa? L'audio sarebbe più semplice da ascoltare al volo, ma i video mi aiuterebbero un po 'più velocemente, dato che sono uno studente visuale e orale (anch'esso, in particolare, cinico). –

+1

@Justian Meyer Raccomando solo l'audio. Steve non usa mai esempi visivi, ha iniziato come podcast audio e ha detto molte volte che sa che è il suo pubblico principale. Il video è solo perché Leo Laport (il suo co-conduttore) ama fare video, così ha trascinato Steve a calci e urlando al video-casting. –

+0

@Justian "... come io sono uno studente visuale e orale ..." Ricorda questo. Gioca a te punti di forza ... nessun altro lo farà. nosce te ipsum, Grasshopper. – CRMay

Problemi correlati