Course image for Exploration of Computing

Description

This course, designed for the non-engineer, will provide students with a solid foundation in the concepts and terminology behind computers, the Internet, and software development. It will give you better understanding and insight when working with technology. It will be particularly useful to managers and PMs who work with or who lead programmers and other tech workers. It will also be useful for those in Sales and Marketing who want a better understanding of tech concepts and terms.

While we will be going into quite some depth, the course is specifically designed for non-technical students. The instructor has over 20 years of experience teaching computer science concepts to non-engineering Stanford students including students in humanities, social science, fine arts, and business. Students will come away with a good understanding of the core components used by computers and the Internet, but we won't concern ourselves with the nuances needed to write robust programs implementing these mechanisms.

Prerequisites

Some programming experience at the High School level of above will help students get the most out of the class, but the course can be successfully completed with no prerequisites.

Topics include

Foundational Topics Covered:

  • Computer Hardware, How a CPU Works, Machine Languages, CPUs and GPUs, Memory Hierarchy
  • Strengths and Limitations of Digital Representation of Information, Digital vs. Analog, Binary vs. Decimal, Lossy and Lossless Compression
  • Operating Systems, What an OS actually does, Processes and Threads, Memory Management and Paging
  • Computer Networks, Topology and Connection Medium, The Internet Protocol Stack, Implications of the IP Protocol and Packet Switching, Lag and Latency
  • The Web, HTML and CSS, Strengths and Weaknesses of Client-Side vs. Server-Side Processing

This foundation will then let us explore a variety of tech-related topics including:

  • Computer Security Mechanisms, How Computers are Attacked, Defensive Measures
  • Cloud Computing, Infrastructure as a Service, Platform as a Service, and other Models of Cloud Computing
  • Artificial Intelligence and Machine Learning
  • Software Engineering, Software Processes, Agile vs. Traditional Development
  • User Interfaces and Human-Computer Interaction
  • Computer Theory and Algorithmic Complexity

Notes

Who should take this course

  • Non-engineers who are interested in working for tech companies
  • MBAs and Product Managers
  • Anyone who works with tech personnel including Sales and Marketing