← Back to the catalogue

Level 3 · Ph.D

Advanced Software Craftsmanship & Engineering Research

Ph.D syllabus · 56 phases · +1 year

Every unit this programme teaches, in the order it is taught. Headlines only — the material itself opens once you are enrolled.

  1. Phase 0 From craftsperson to researcher
  2. Phase 1 What we actually know about software quality
  3. Phase 2 Reading & reproducing SE research
  4. Phase 3 Software metrics, done honestly
  5. Phase 4 Statistics for software experiments
  6. Phase 5 The polyglot corpus as a research substrate
  7. Phase 6 Research tooling v0 — AST/CST access per language
  8. Phase 7 Does TDD work? The empirical record
  9. Phase 8 Testing efficacy: coverage vs fault-detection
  10. Phase 9 Code review, empirically
  11. Phase 10 Refactoring in the wild
  12. Phase 11 Design patterns, empirically
  13. Phase 12 Productivity & the 10x myth
  14. Phase 13 Replication study I
  15. Phase 14 Lexing, parsing & concrete syntax trees
  16. Phase 15 Static-analysis foundations
  17. Phase 16 Type inference & abstract interpretation at tooling depth
  18. Phase 17 Building a linter
  19. Phase 18 Formatters as a solved problem
  20. Phase 19 Fuzzing & symbolic execution for tooling
  21. Phase 20 Tool-smith capstone I
  22. Phase 21 Property-based & model-based testing at research depth
  23. Phase 22 Mutation-testing internals
  24. Phase 23 Automated test generation
  25. Phase 24 Contracts & design-by-contract
  26. Phase 25 Test flakiness
  27. Phase 26 Lightweight formal methods
  28. Phase 27 Testing-research capstone
  29. Phase 28 The theory of refactoring
  30. Phase 29 Refactoring detection & mining
  31. Phase 30 Automated-refactoring engines
  32. Phase 31 Semantic patching & large-scale transformation
  33. Phase 32 Program synthesis & automated program repair
  34. Phase 33 AI-assisted transformation, honestly
  35. Phase 34 Transformation capstone
  36. Phase 35 DSL design
  37. Phase 36 Building an external DSL
  38. Phase 37 Internal DSLs & fluent interfaces across languages
  39. Phase 38 The Language Server Protocol
  40. Phase 39 Building a language server for the DSL
  41. Phase 40 Editor & IDE internals
  42. Phase 41 Language-engineering capstone
  43. Phase 42 Software architecture as a discipline
  44. Phase 43 Architecture characterization & recovery
  45. Phase 44 Software evolution & technical debt
  46. Phase 45 Domain-Driven Design at depth
  47. Phase 46 Concurrency & correctness craft
  48. Phase 47 Performance engineering as craft
  49. Phase 48 Frontier seminar I: AI & the future of the craft
  50. Phase 49 Frontier seminar II: self-directed advanced topic
  51. Phase 50 The research contribution
  52. Phase 51 Systematization of Knowledge (SoK)
  53. Phase 52 Research capstone I: design & measure
  54. Phase 53 Research capstone II: the verified publication
  55. Phase 54 Hardening & reproducibility: artifact evaluation
  56. Phase 55 Frontier & close

↑↓ to move · ↵ to open · esc to close Sign in to search programmes and course content.