10 Days, Part 2

ColdFusion curriculum: The Bad News

Here’s a tentative outline for the ColdFusion (Advanced Server-Side Languages) course I’ll be teaching. Unfortunately, the state of intellectual property being what it is, I probably won’t ever get to go into any more detail than this. But, it’s a solid start, and you can see that it’s more comprehensive than you’d expect.

  1. Course Introduction
  2. Revision Control and SCM
  3. Test-Driven Development
  4. ColdFusion Methodology
  5. Introduction to CFML
  6. ColdFusion Debugging
  7. ColdFusion Queries
  8. ColdFusion Persistent Scopes
  9. CFScript
  10. ColdFusion Functions
  11. ColdFusion Objects
  12. ColdFusion Exception Handling
  13. ColdFusion Media Generation: Images, PDF, FlashPaper
  14. ColdFusion and XML
  15. ColdFusion HTTP and Remote Data
  16. ColdFusion AJAX
  17. ColdFusion Caching
  18. ColdFusion Forms and Validation
  19. ColdFusion Threads
  20. ORM
  21. Scaffolding
  22. ColdFusion Frameworks
  23. ColdFusion Gateways

You may notice that there are a number of lectures at the beginning that aren’t CF-centric. I’d really like to get the students into team-oriented habits. The Revision Control and Test-Driven Development lectures are Day 1, then all deliverables/assignments for the class will be test code first, then implementation second, both submitted for grading by committing them to Git source control. Labs will be short-term iterative development (not quite Agile, but close enough), mostly done via pair programming and full-class planning.

The projects we will be doing in Lab will be as real-world as I can make them. We’ll probably do simpler things like shopping carts, wikis, and community sites for the smaller classes, and scale up to SOHO ERP and mid-size (40-60 table) projects for larger classes.

Long story short, I’m trying to create a classroom environment as close to an actual web development shop as I can. I really want these students finishing the course with the appropriate skills to be dropped into a professional team and able to hit the ground running.

So my question to you is this: if you had one thing that students would absolutely need to have coming out of this course, what would it be? (Maybe it’s on the list above, maybe it’s not.)