CSFG
English Deutsch Beta Español Beta język polski (2.6.0)
Chapters Curriculum Guides Appendices

AP-CSP Curriculum Guides
8. To Do

Table of contents

  • Creativity
  • Abstraction
  • Data and Information
  • Algorithms
  • Programming
  • The Internet
  • Global Impact
  • To Do

Several learning objectives are not currently covered by the CS Field Guide. This "to-do" list includes general computer science topics and suggestions for how we can update the field guide to cover the learning objectives. Different levels of changes are suggested:

  • new chapter: some topics are best put into stand-alone new field guide chapters
    • Hardware Abstractions [Phase+]
    • Software Abstractions [Phase4]
    • Models and Simulation [Phase3]
    • Network Systems [Phase+]
    • Logic [Phase+]
  • new section: add a new X.Y major section to chapter X
  • new sub-section: add a new X.Y.Z minor section to section Y of chapter X
  • edits to existing text content to use specific terminology

Abstraction

  • floating point representation
    • new section in data-representation [Phase+]
  • bit representation of program instructions (not just data)
    • new section in data-representation OR part of new chapter on hardware abstractions [Phase2][draft]
  • abstraction process: removing irrelevant details, extracting common features
    • part of new chapter on hardware abstractions
  • explicit section on functions/functional abstraction
    • new section in programming-languages OR part of new chapter on software abstractions
  • re-work a unit / activity on hardware and software abstraction layers below high level language (from the software engineering one)
    • new chapter on hardware OR software abstractions
  • equate level of language with concept of abstraction
    • additional wording in end of 3.1 intro to programming-languages [Phase1][draft]
  • models and simulations (there are some CS unplugged ones)
    • new chapter on models-simulations

Algorithms

  • sequencing, selection, iteration as building blocks for algorithms
    • new sub-section with specific terms in section 2.4 [Phase1][draft]
  • algorithm correctness
    • new sub-section in 2.1 [Phase1][draft]
  • decidability
    • new section in 11.? [Phase2][draft]
  • combining algorithms
    • add terms to 2.1 [Phase1][draft]
  • language choice for algorithms
    • better description at end of section 2.1.1 [Phase1][draft]
  • theoretical vs empirical analysis
    • additional paragraph in 2.1.2 [Phase2][draft]
  • efficiency of memory usage
    • additional paragraph in 2.1.2 [Phase2][draft]

Creativity

  • collaborative tools (open source, github/google doc)
    • new chapter on data analysis, visualization, processing, etc.
  • computational artifacts as more than programs
    • new chapter on data analysis, visualization, processing, etc.
  • computational tools to transform digital media industries such as photoshop, virtual synthesizers, etc
    • new chapter on data analysis, visualization, processing, etc.

Data

  • large data sets (databases), queries, filtering
    • new chapter on data analysis, visualization, processing, etc.
  • data patterns (sequence analysis / cryptography?)
    • new chapter on data analysis, visualization, processing, etc.
  • collaboration over data (forms, spreadsheets, online multi-edit)
    • new chapter on data analysis, visualization, processing, etc.
  • data visualization (tables, diagrams)
    • new chapter on data analysis, visualization, processing, etc.
  • metadata
    • new chapter on data analysis, visualization, processing, etc.

Impact

Most AP curriculum include specific lesson plans to cover these topics by requiring the students to research online after/during reading of the Blown to Bits book (freely available online). A teaching guide on how to use Blown to Bits in the classroom along with discussion questions and essay/project ideas should be sufficient. Therefore no new CS Field Guide content is suggested for these.

  • computer ethics
  • social computing

Programming

  • program components (modularity)
    • additional sub-section in software-engineering [Phase2]
  • program documentation
    • re-wording or new sub-section in software-engineering; include self-documenting approaches [Phase2]
  • collaboration and communication within programming teams
    • add sub-section on Scrum, issue tracking and/or other communication mechanisms to 16.6 [Phase2]
  • program execution / implementation of algorithm
    • new chapter on software/hardware abstraction
  • solving larger classes of problems with hardware and algorithm improvements over time
    • add sub-section to 11.2 about some simple algorithms that now scale to millions of CPU cores that are solving real problems - possibly genomics, image processing for medical purposes, etc. [Phase2]
  • procedures, functions, strings, lists, common programming library functions, APIs
    • new chapter on software abstraction
  • software quality, code metrics
    • new section in software-engineering
  • debugging
    • new chapter on software abstraction
  • functionality vs unit testing, program correctness, justification
    • new subsection in software-engineering 16.4 [Phase2]
  • operators
    • new chapter on software abstraction
  • boolean logic, algebra
    • new chapter on logic

Internet

New chapter on Network Systems with sections for the below

  • internet system model: hierarchy, redundancy, fault tolerance (addresses, protocols, services)
  • bandwidth, latency
  • cybersecurity (DDoS, phishing, viruses, firewalls)
  • trust model, DNS, CAs
  • open standards for routing, cryptography, protocols
Previous:
Global Impact

Looking for something for primary schools? Check out CS Unplugged.

The Computer Science Field Guide is an online interactive resource for high school students learning about computer science.

Useful Links

  • About
  • Chapters
  • Interactives
  • Curriculum Guides

Community

  • Twitter
  • YouTube
  • GitHub

Help

  • Search
  • Glossary
  • Feedback

Switch to teacher mode

English | Deutsch | Español | język polski (2.6.0)

The Computer Science Field Guide material is open source on GitHub, and this website's content is shared under a Creative Commons Attribution-ShareAlike 4.0 International license. The Computer Science Field Guide is a project by the Computer Science Education Research Group at the University of Canterbury, New Zealand. Icons provided generously by icons8.

3.12.6

This definition is not available in English, sorry!