We expect you to be comfortable with the following concepts and able to do the following:
  1. Assembly language programming, as covered in ECS 50;
  2. Basics of computer architecture, especially interrupts, process management, and memory management, as covered in ECS 154A;
  3. Data structures, such as queues, stacks, lists, as covered in ECS 110; and
  4. The C programming language (you will need to use C, not C++).