Skip to content

Instantly share code, notes, and snippets.

@glyn
Last active June 18, 2022 12:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glyn/429a1bcb5631fd6ef12a2e1f1fc9b27e to your computer and use it in GitHub Desktop.
Save glyn/429a1bcb5631fd6ef12a2e1f1fc9b27e to your computer and use it in GitHub Desktop.
Software degree topics

Here's a list of topics I think would benefit some CompSci or Software Engineering undergraduate degrees. Which of these are already covered really well by some universities? Comments welcome here or on this Mastodon thread.

  1. Version control
    • Theory
    • Branching and merging
    • Centralised and distributed VCS
    • Collaboration models
    • Commit logs
    • Debugging
    • git
    • Mercurial
    • Pijul
  2. Working in a team
    • Code comprehension
    • Coding standards, clean code, compiler warnings
    • Anti-patterns
    • Project tracking, issues and status
    • Project metrics, KLOCs, function points, velocity, complexity
    • Interfaces
    • Layering and modularity
    • Large team structures
    • Time management, yak shaving, and automation
  3. Documentation
    • Technical writing
    • User documentation
    • Design documentation and agile methods
    • Project documentation
    • Commit logs
    • Issues
  4. Open source
    • Types of license
    • Collaboration models
    • Project health
    • Project templates
    • Governance models and foundations
    • Asking smart questions
    • Contributing
  5. Concurrency
    • Traces
    • FDR
    • Memory models
    • Data races
    • Coding standards
    • Language support
    • Model checking
    • Locking
    • Lock free data structures
  6. Diagnostics
    • First failure data capture
    • Logging, tracing, messages and IDs
    • Core dumps
    • Stack traces
    • Symptoms
    • Exceptions, panicking, and recovery
  7. Dependency management
    • Dependency graphs, fan-in, fan-out
    • Granularity
    • Tooling, lock files
    • Cyclic dependencies
    • Version management, upgrade, downgrade
    • Compatibility and semver
    • Security and CVEs
    • Upgrade policies and dependency bots
  8. Code comprehension case studies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment