2010-07-22 15 views
11

Próbowałem dowiedzieć się, na jakim polu komputerowym chcę wejść w późniejszym życiu. College jest tuż za mną i rozważałem zajrzenie do Inżynierii Komputerowej, Inżynierii Oprogramowania itd.Gdzie mogę zacząć szukać lepszego zrozumienia, jak działają komputery?

Ostatnio szukałem w systemach bezpieczeństwa komputerowego i ich eksploatacji (wyłącznie w celach edukacyjnych, na moim własność własna). Niestety, wydaje mi się, że 99% osób nie ma pojęcia, o czym mówią. Często jest to po prostu "uruchom to" lub "uruchom to" lub "możesz znaleźć program, który zrobi wszystko za Ciebie" - nikt nie wie, jak działają te programy lub co dokładnie robią.

Nie znajduję zabawy ani zainteresowania korzystaniem z czegoś, co ktoś inny stworzył po prostu, by nazywać siebie "hakerem", tak jak większość ludzi. W rzeczywistości nie jestem nawet zainteresowany hackowaniem systemów tak bardzo, jak to robią.

Moje pytanie sprowadza się do tego.

Chcę poznać tajniki, wzloty i upadki komputerów - wszystko od abstrakcyjnych pojęć, takich jak internet i transfer danych, po sprzęt. Chcę wiedzieć, jak komputery przechowują dane (w jaki sposób organizowane są ukąszenia itp.) I jakie procesory itp. Faktycznie robią. Czym właściwie jest WIFI? Czy komputery komunikują się ze światłem (coś, co wziąłem z czasopisma, które czytam w samolocie).

Mam wiele lat doświadczenia w komputerach/programowaniu, ale wiele z tego, co wiem o komputerach w ogóle, jest bardzo szerokie. Komputery przesyłają pakiety informacji między sobą, każdy z nagłówkiem i treścią. Komputery składają się z wielu komponentów, z których każda ma swoją własną funkcję (procesor, karta graficzna, pamięć RAM, dysk twardy (i) itp.), Co mam już podstawową wiedzę. itp. itd. itp.

Jest tak wiele dla komputera i nie wiem od czego zacząć. Jestem pewien, że niektóre z moich zajęć w college'u wyjaśnią mi wszystko, ale jestem tak ciekawy, że chcę zacząć uczyć się tak dużo, jak tylko potrafię.

To pytanie jest prawdopodobnie w każdym miejscu, dlatego proszę, aby w razie potrzeby poprosić o wyjaśnienie. W tej chwili jestem nieco opóźniony, ale starałem się pisać swoje myśli w możliwie jak najkrótszy i najbardziej spójny sposób (mogłem jednak całkowicie zawodzić w procesie).

Z góry dziękuję za radę!

Justian Meyer

Proszę czuć się swobodnie edytować tagi na to pytanie. Obecne są straszne.

EDIT:

Wszystkie te komentarze są co mnie cieszy :). Tyle się nauczyć, tyle do odkrycia :).

+1

Nie ma nic szczególnego dla * programowania * w tym pytaniu. Brzmi to bardziej jak ogólny problem wiedzy komputerowej, w którym to przypadku powinien zostać przeniesiony do superuser.com. – gnovice

Odpowiedz

5

Aby pomóc Ci wybrać specjalizację, aby przejść do, chciałbym bardzo gorąco polecić inżynierię komputerową (znany jako CMPE lub CE w trakcie studiów książki). Twoje zajęcia zaprowadzą cię do wszystkiego, co właśnie wymieniłeś, a za pomocą electives możesz głębiej zagłębić się w dowolne aspekty, które chcesz (np. Bezpieczeństwo i networking).

W CMPE nauczysz się zarówno oprogramowania (C, C++, a niektóre C#), a następnie sprzętu (może dwie klasy inżynierii elektrycznej). Gdy już dojdziesz do programowania zespołów, zaczniesz się uczyć, jak te dwa elementy łączą się, tworząc całą resztę w dowolnym komputerze lub systemie wbudowanym. Spowoduje to przejście do poziomu bitowego pamięci, procesora, magistrali danych, I/O i wielu innych rzeczy. Właśnie zaczynam robić cyfrowy projekt i jego chwałę. Z tego, co opisałeś, będziesz bardzo lubił być głównym CMPE.

Są specjaliści informatyki i inżynierowie oprogramowania; są inżynierowie elektrycy; ale nie ma telefonu komórkowego, GPS ani komputera zaprojektowanego bez inżynierów komputerowych!

+0

CMPE wygląda dokładnie tak, jak chcę to zrobić :). Wygląda na to, że mogę ścigać to w moim Undergrad. i zdecyduj, dokąd chcę się udać po mojego Grada. To będzie największe zainteresowanie i pozostawi moje opcje otwarte :). –

+0

Wiem z własnego doświadczenia MSOE ma bardzo dobry program do inynierii komputerowej. http://www.msoe.edu/academics/academic_departments/eecs/bsce/ –

+0

Tuż przed moim wejściem na studia kilka lat temu miałem te same pytania. Zajmuje się inżynierią komputerową i uważam, że jest to świetna mieszanka sprzętu i oprogramowania. – mouche

2

Structured Computer Organization, Tanenbaum

Jest to świetna książka i wyjaśnia wszystko od tranzystora do maszyny wirtualnej Java.

+0

100 $ + Wow, to jest bardzo przyjemne, ale jeśli naprawdę obejmuje on tak dużo informacji, przypuszczam, że jest to uzasadnione? Opinie na Amazon są obiecujące, ale inne strony pokazują, że ma to na celu uzupełnienie kursu na temat architektury komputerów i może być bardzo niejasne w niektórych rozdziałach (gdzie oczekuje się nauczania klasowego) i zbyt mylące i niezorganizowane w innych (gdzie oczekuje się od ciebie już rozumiem koncepcję - niektórzy narzekają na żargon). –

+0

Zgadzam się, że ponad 100 USD to dużo pieniędzy na książkę. Niektóre sklepy mają czwartą edycję za mniej pieniędzy: http://www.avenuebookandco.com/?page=shop/flypage&product_id=254100 – Sjoerd

+0

Teraz jest o wiele więcej do zrobienia. Czy naprawdę zdobędę więcej z 5. edycji jako 4? Piąty jest oczywiście bardziej aktualny. –

2

Te dwie pomogły mi zrozumieć, jak działa system operacyjny i pamięć. Wierzę, że wiele rzeczy pochodzi z tych prostych mechanizmów.

1.Anatomy of a program in memory

2. Pushing the limits on Windows memory

+0

@btrandom: Dzięki za linki. Wygląda interesująco, ale (nie podoba mi się to przyznać) wydaje mi się, że to trochę nad głową. Przyjrzę się temu nieco później, kiedy jestem trochę bardziej czujny. –

+0

Czapki z głów wskazujące na "prostą mechanikę". Uczę się i czuję, że muszę znaleźć klucze i rzeczy staną się mniej abstrakcyjne - to właśnie prosta rzecz, którą wskazałeś: – Nishant

1

Ponieważ decyduje gdzie iść dokładnie, aby być w rozwoju oprogramowania lub stać się ekspertem w dziedzinie sprzętu i sieci, chciałbym podkreślić, że moim zdaniem jest to dwa różne zawody i wymagają dwóch różnych sposobów myślenia. Dobrzy eksperci sprzętu zazwyczaj nie są dobrymi programistami i dobrymi programistami prawie zawsze nie są ekspertami od sprzętu i sieci. Powiedziałbym więc, że nie próbujcie objąć obu, trzymać się jednego kierunku, który jest najbardziej odpowiedni dla waszego sposobu myślenia. Ściganie dwóch królików nie przyłapie nikogo.


@Justian widzę, przepraszam, że cię trochę źle. Pragnienie zrozumienia zawiłości przetwarzania kodu wewnątrz sprzętu jest bardzo naturalne. Kiedy w college'u czytałem książkę "Jak działa komputer" - jest to dość prosta, nawet nieco prymitywna książka o ogólnej funkcjonalności sprzętu. Ale może ci to rzucić okiem na ten temat.

Przyszła mi do głowy inna analogia. Powiedz, że lingwiści badają wewnętrzną mechanikę języka, ale to neurolodzy badają, w jaki sposób sygnały językowe są przetwarzane w mózgu. Dwa bardzo różne zawody. Nie jest to jednak zniechęcanie do nauki sprzętu, to tylko podkreślenie różnicy między dwoma światami.

+0

Rozumiem, co mówisz całkowicie. Pozwól mi trochę wyjaśnić. Jestem silniejszym programistą niż sprzętem, ale uważam, że byłoby dla mnie korzystne poznanie pewnych koncepcji sprzętowych na boku. Nie podoba mi się uczucie, jakie odczuwam, kiedy naprawdę siadam i myślę: "Zrobiłem program, co dokładnie zrobiłem?". Abstrakcja pozostawia mnie w rodzaju pustki. –

+1

"Abstrakcja pozostawia mnie w rodzaju pustki" - lubię to. Z czasem przyszło mi to cieszyć i szanować to uczucie, chociaż oczywiście, tak jak Ty, zawsze chcę wiedzieć, co dzieje się za zasłoną. Zawsze będzie kolejna kurtyna, ale za wszelką cenę eksploruj. –

+0

(po edycji): Zrozumiały. Prawdopodobnie przejdę do oprogramowania, ale nie widzę żadnej szkody w przeprowadzaniu inżynierii komputerowej w moim Undergrad., A następnie przechodzę do ściśle opartego na oprogramowaniu kierunku w moim Grad. –

1

Steve Gibson z firmy security wykonuje teraz serię podkastów na temat podstaw komputera.

http://www.grc.com/securitynow.htm Odcinek 233 "Zaprojektuj komputer (część 1)" aż do najnowszego "Co zrobimy dla szybkości".

Co drugi odcinek robi opinie słuchacza, a te są również dobre do słuchania.

kilka razy (jak teraz), że przerwał serię jeśli pozycja ważna informacja bezpieczeństwa pojawia się (jak, kiedy to duża rzecz SSL złamał kilka miesięcy temu)

To naprawdę dobry show i polecam rozpoczęcie na 233 i pracując w górę, a następnie rozpoczynając od odcinka 1. Zrobił także bardzo dobre serie o tym, jak działa sieć komputerowa i jak działa kryptografia. (Ep 203 będzie zaskakująca, gdy mówi o Boyer & Moore metody poszukiwań)

+0

To wygląda na świetny pomysł! Pytanie: czy polecasz podcast tylko audio lub wideo? Czy to to samo? Dźwięk byłby łatwiejszy do słuchania "w locie", ale wideo pomógłby mi trochę szybciej, ponieważ jestem uczniem wizualno-ustnym (również - lekko kinetycznym). –

+1

@Justian Meyer Polecam tylko audio. Steve nigdy nie używał wizualnych przykładów, zaczął jako podcast audio i wielokrotnie powtarzał, że wie, że to jego główna publiczność. Film jest po prostu dlatego, że Leo Laport (jego współgospodarz) lubi robić filmy wideo, więc ciągnął Steve'a kopiąc i krzycząc do wideo-castingu. –

+0

@Justian "... jako wizualny i ustny uczeń ..." Pamiętaj o tym. Zagraj w swoje mocne strony ... nikt inny nie będzie. nosce te ipsum, Grasshopper. – CRMay