Next Lecture?

The Software Carpentry course currently contains the following lectures:

  1. Introduction
  2. The Unix Shell (2 lectures)
  3. Version Control
  4. Automated Builds
  5. Basic Scripting (bool/int/float, for/while/if)
  6. Strings, Lists, and Files
  7. Functions and Libraries
  8. Programming Style
  9. Quality Assurance (basic testing)
  10. Sets, Dictionaries, and Complexity
  11. Debugging
  12. Object-Oriented Programming (2 lectures)
  13. Unit Testing (unittest — should switch this to nose)
  14. Regular Expressions
  15. Binary Data
  16. XML
  17. Relational Databases
  18. Spreadsheets
  19. Numerical Programming (the basics of NumPy)
  20. Integration (subprocess+pipes and wrapping C functions)
  21. Web Client Programming (HTTP request/response, URL encoding)
  22. Web Server Programming (basic CGI processing)
  23. Security (the weakest lecture of the bunch)
  24. The Development Process (a mish-mash of sturdy and agile)
  25. Teamware (introduces portals like DrProject)
  26. Conclusion (various "where to look next" suggestions)

Between now and Christmas, I want to tidy them up, duplicate the examples in MATLAB, and add some of the content I wrote for "CSC301: Introduction to Software Engineering". Since I won't have time to do everything, I'd like your help prioritizing. Which of the following topics do you think is most important to add? And what have I forgotten entirely?

Originally posted 2008-07-28 by Greg Wilson in Content.

comments powered by Disqus