Эти полезные курсы информатики?

Помимо курсов дизайна/анализа и разработки программного обеспечения, я также должен взять курсы "архитектуры ЭВМ". Я должен постараться не брать любой из них? Для чего они полезны, или действительно ли они бесполезны?

**Computer architecture:**
Boolean algebra, data representation, combinational circuitsand minimization, sequential circuits. Organization of computer systems and design of system elements, including ALU, memories and interfaces. Some assembly language programming. High performance computer architectures, including massively parallel SIMD and MIMD machines and distributed architectures.

**As well as computer theory classes which include:**
Recursion, regular sets, regular expressions, finite automata, context-free grammars, pushdown automata. uring machines, Post machines, Post's theorem, Minsky's theorem. Determinism and non-determinism. Undecidability, the halting problem. Recursive function theory.

Если вы соберетесь сделать какое-либо серьезное программирование, то вы будете, скорее всего, использовать в какой-то момент рекурсию, регулярные выражения, finite/pushdown автоматы. Хотя класс, вероятно, теоретический, вы доберетесь, чтобы понять основные идеи относительно того, что может быть вычислено и что не может. Каждым компьютером, который мы используем сегодня (за исключением квантовых компьютеров) является по существу Машина Тьюринга.

Архитектура ЭВМ полезна, чтобы понять, как строится компьютер, но если вы соберетесь сделать высокоуровневое программирование, то вы не должны будете знать точно те детали. Если вы планируете работать однажды над ядром Linux, напишите водителям или компонентам автоматизации тогда, необходимо знать тот материал.