This course is the second half of a two quarter sequence (CMPTGCS 1A/CMPTGCS 1B) designed to prepare students to take upper division courses in Computer Science, and participate in undergraduate research projects in Computer Science under the direction of CCS and College of Engineering Computer Science faculty. In both quarters, the course is paired with CMPTGCS 1L, "Programming Lab", where students undertake individual and group programming projects to build and reinforce their skills and knowledge.
CMPTGCS 1B focuses on modern computer architectures from ground up. The goal is to develop a complete understanding of how hardware and software comes together, and how programming languages evolve as layered abstractions starting from logic gates. We cover the full spectrum of languages from instruction set architectures, to assembly, structured high-level, to object-oriented and scripting languages. We continue with language translation and foundational operating systems, and networking particularly as it relates to modern computer and communication architectures.
Although class space may be acquired via GOLD, final enrollment will be determined by the instructor. This course is required for all first-year CCS Computing students.