Essential Computing Concepts — Learning Goals, Concepts, & Examples (Draft)

This document proposes a set of essential computing concepts and associated learning outcomes for a computing major as an alternative to CS2023 that leaves greater space for interpretation and institution-specific customization. See here for a more complete description of the motivation, context, and contributors to this project. We welcome feedback (e.g., alycebradykzooedu).


A. Read, Understand, and Analyze Models (expand all)

Essential Concepts    

Illustrative Examples

1. Read and understand code using multiple paradigms (including object-oriented and non-OO)

2. Analyze and predict complexity of code

3. Computers as Models: Understand how computers represent data and execute programs


B. Design and Create Using Models (expand all)

Essential Concepts    

Illustrative Examples

1. Design and create computing artifacts that solve problems using multiple paradigms

2. Describe or design a solution to a problem using appropriate models

3. Design computing artifacts for human stakeholders and the benefit of society


C. Use Math, Data, and Analytics for Computer Science (expand all)

Essential Concepts    

Illustrative Examples

1. Data Management and Analysis / Storing, Managing, and Analyzing Data

2. Understand mathematics enough to solve problems and learn new concepts


D. Be a Responsible Computing Practitioner (expand all)

Essential Concepts    

Illustrative Examples

1. Produce effective texts about computing systems and techniques for a variety of audiences and purposes

2. Collaborate effectively

3. Understand and apply socially-responsible design and analysis of computing systems

4. Learn to learn computing-related approaches and tools