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., alyce
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 ⇓ |
|||