Fundamentals of Computer Science
Johns Hopkins Center for Talented Youth, Summer 2017 & 2018
More than just a programming course, Fundamentals of Computer Science introduces students to three major areas of the discipline: theory and algorithms, hardware systems, and software systems. In the theoretical component of the course, students learn about algorithms, Boolean algebra, binary mathematics, and theory of computation. While studying hardware systems, they gain familiarity with the physical components of computers, digital logic, computer architecture, and computer networks. As students investigate software systems, they are introduced to elements of programming languages, compilers, computer graphics, and operating systems.
I also later instructed this course.