Skip navigation
- CS 200-A Computer Systems, 2016S
Elements of Computer Systems
CS 200-A, Whitman College, Spring 2016
TTh 2:30 - 3:50 p.m., Olin 165
Instructor:
Janet
Davis (davisj@whitman.edu)
Office hours: As posted
and by appointment
About this
course
Welcome to Elements of Computer Systems! The official course
description:
This course integrates key ideas from
digital logic, computer architecture, compilers, and operating systems
in one unified framework. This will be done constructively, by building
a general-purpose computer system from ground up: from the low level
details of switching circuits to the high level abstractions of modern
programming languages. In the process, we will explore software
engineering and algorithmic techniques used in the design of modern
hardware and software systems. We will discuss fundamental trade-offs
and future trends.
The field of computer science is divided broadly into three areas:
Systems, Theory, and Applications. You have gained experience with the
developing computing applications through CS 167, Introduction to Programming, and
possibly other courses. You may be learning about computer science
theory in CS 400-A, Algorithm Design
and Analysis. This course provides the third leg of the stool
with an introduction to the fundamentals of computer systems.
Work in computer systems aims to bridge the gap between computer
hardware and software, providing abstractions that let software
developers build more complex and powerful applications.
Course goals
By the end of this class, you should be able to
- understand hardware as a computational paradigm;
- implement combinational and sequential logic circuits using a hardware definition language;
- identify major components of a computer and explain how they work;
- write simple programs in assembly language;
- explain how programs are compiled and executed;
- discuss the role of layered abstractions in simplifying computer
system design;
- design modular software solutions;
- follow current events in computer systems.
Please note: Although you
will gain programming experience, learning a new general purpose
programming language is NOT among the goals of this course.
Credits in this course may be applied to the Computer
Science minor.
Janet
Davis (davisj@whitman.edu)
with thanks to
Created January 17, 2016
Last revised January 18, 2016, 10:37:42 AM PST
This work is licensed under a Creative
Commons Attribution-Noncommercial-Share Alike 3.0 United States License.