11

我一直在试图弄清楚我以后想进入哪个计算机领域。大学对我来说指日可待,我考虑过研究计算机工程、软件工程等。

最近,我一直在研究计算机安全系统和对此类系统的利用(纯粹出于教育目的,在我自己的财产上)。不幸的是,在我看来,99% 的人都不知道他们在说什么。通常,它只是“运行这个”或“运行那个”或“你可以找到一个可以为你完成所有这些工作的程序”——没有人知道这些程序是如何工作的或它们究竟做了什么。

我发现使用其他人创建的东西只是为了像大多数人一样称自己为“黑客”,这没有乐趣或兴趣。事实上,我什至对黑客系统的兴趣不如他们如何做。

我的问题都归结为这一点。

我想了解计算机的来龙去脉——从互联网和数据传输等抽象概念到硬件,应有尽有。我想知道计算机如何存储数据(如何组织这些数据等)以及处理器等实际上在做什么。什么是WIFI,真的吗?计算机是否与光通信(我从我在飞机上读到的杂志上捡到的东西)。

我有多年的计算机/编程经验,但是我对计算机的了解非常广泛。计算机在彼此之间来回发送信息包,每个包都有标题和内容。计算机由多个组件组成,每个组件都有自己的功能(处理器、显卡、RAM、硬盘驱动器等),我已经对此有了一些基本的了解。等等等等等等

电脑有这么多,我不知道从哪里开始。我相信我的一些大学课程会为我解决问题,但我很好奇,我想开始尽可能多地学习。

这个问题可能到处都是,所以请在必要时让我澄清一下。我现在有点时差,但我试图以最快、最连贯的方式写下我的想法(不过,我可能在这个过程中完全失败了)。

提前感谢您的任何建议!

贾斯蒂安·迈耶

请随时编辑此问题的标签。现在的太可怕了。

编辑:

所有这些评论都让我兴奋:)。有很多东西要学习,有很多东西要探索:)。

4

5 回答 5

5

To help you choose which specialization to go into, I would very highly recommend computer engineering(Known as CMPE or CE in college course books). Your classes will take you to everything you just listed, and with electives you can delve deeper into whichever aspects you wish(such as security and networking).

In CMPE you will learn both software(C, C++, and some C#) and then hardware( maybe two electrical engineering classes). Once you get to assembly programming, you will start to learn how the two combine to make up everything else in any computer or embedded system. It will take you down to the bit level of memory, CPU, data buses, I/O, and so many other things. I am just starting to do Digital Design, and its ****ing glorious. From what you described, you will enjoy being a CMPE major greatly.

There's computer science majors and software engineers; there's electrical engineers; but there is no cell phone, GPS, or computer designed without computer engineers!

于 2010-07-22T19:10:03.957 回答
2

结构化计算机组织,Tanenbaum

这是一本很棒的书,它解释了从晶体管到 Java 虚拟机的所有内容。

于 2010-07-22T18:39:05.763 回答
2

这两个帮助我了解了操作系统和内存的一般工作原理。我相信很多东西都是从这些“简单的机制”中衍生出来的。

1.内存中程序的剖析

2.突破 Windows 内存的限制

于 2010-07-22T18:51:10.997 回答
1

由于您正在决定去哪里,从事软件开发或成为硬件和网络专家,我想指出,在我看来,这是两种不同的职业,它们需要两种不同的心态。好的硬件专家通常不是好的程序员,好的程序员几乎总是不是硬件和网络方面的专家。所以我想说不要试图同时拥抱两者,坚持一个最适合你心态的方向。追两只兔子,结果是一个也抓不到。


@Justian我明白了,对不起,我有点误解了你。希望了解如何在硬件内部处理代码的复杂性是一种非常自然的愿望。在大学时,我正在阅读“计算机如何工作”一书——这是一本关于一般硬件功能的相当简单甚至有些原始的书。但它可以让你对这个话题有一个广泛的了解。

我想到了另一个类比。说语言学家研究语言的内部机制,但研究语言信号如何在大脑中处理的是神经科学家。两种截然不同的职业。这并不是要阻止您学习硬件,这只是为了强调两个领域之间的差异。

于 2010-07-22T18:54:33.937 回答
1

安全部门的史蒂夫·吉布森(Steve Gibson)现在一直在做一系列关于计算机基础知识的播客。

http://www.grc.com/securitynow.htm第 233 集“让我们设计一台计算机(第 1 部分)”直到最新的“我们将为速度做些什么”。

他每隔一集都会给听众提供反馈,这些也很好听。

有几次(比如现在),如果出现重要的安全新闻(比如几个月前那个大 SSL 事件发生时),他们会打断这个系列

这是一部非常棒的节目,我建议从 233 开始并逐步向上,然后从第 1 集重新开始。关于计算机网络如何工作以及密码学如何工作的系列也非常出色。(当他谈到 Boyer & Moore 的搜索方法时,第 203 集会让你大吃一惊)

于 2010-07-22T18:56:57.833 回答