. Provides a programmer’s view of how computer systems execute programs, store information, and communicate. Topics include machine-level code and its generation by optimizing compilers, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation. Three lecture hours and one two-hour laboratory.