Как инженеры-программисты, мы изучаем компьютерные системы (или архитектуру компьютера), чтобы понять, как в конечном итоге работают наши программы и как машина ожидает, что наши данные будут закодированы. Непосредственное преимущество - возможность писать более быстрый, эффективный и безопасный код.
В долгосрочной перспективе понимание компьютерных систем дает еще больше пользы. Каждая абстракция между нами и оборудованием проявляет утечки. Этот курс предоставит базовые принципы для создания прочных ментальных моделей и более эффективного анализа.
Мы начнем с того, как машина кодирует данные, включая двоичные представления, такие как текст. Затем перейдем к программированию на C и ассемблере, чтобы лучше понять интерфейс, предоставляемый компьютером для выполнения программ. В завершение мы рассмотрим два важных аспекта для улучшения производительности программ: использование микроархитектуры процессора и кешей ЦП (иерархия памяти).
Основу курса составляют последовательности задач по каждой теме. Вы должны стремиться решить каждую задачу, используя готовые решения и дополнительные объяснения при необходимости. Также есть несколько семинаров, которые помогут связать темы.
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Привет, меня зовут Оз. Я преподаватель компьютерных наук и отец, обучающий своих детей на дому, живу в сельской местности Австралии. С 2015 года я управляю Bradfield, небольшой профессиональной школой, которая изначально была расположена в Сан-Франциско, а теперь полностью онлайн. Начиная с 2024 года, я сосредотачиваю свою энергию на csprimer.com - учебной программе по компьютерным наукам с гибким графиком. Ранее я работал инженером-программистом