Attention: We are retiring the ASP.NET Community Blogs. Learn more >

DevCampus.com Departments

Now that construction for the new site has begun, I'm trying to come up with a list of departments. Departments are the highest level of organization for all of the information to appear on the site.

Departments
--> Courses
      --> Levels
            --> Lessons

So far, here is the list of departments I've been able to come up with:

  • Programming Languages
  • Internet Development
  • Database Technologies
  • Scripting Languages / Technologies
  • Computer Graphics Technologies

If you're reading this and are thinking about making a suggestion, please do. I'm trying to solicit feedback as much as possible since I want this site to be driven by what the community wants and what makes the most sense to people trying to learn from the content. There are some things that I want to provide courses for but, I'm having a hard time coming up with which departments they should go under. For example, which department should  the .NET or Java platforms go under? My first inclination is to create a new “Development Platforms” department, but I haven't mentally approved that idea yet. I also would like a department for things like Test Driven Development, Agile Development, eXtreme Programming, Aspect Oriented Development, etc. What should I name a department that has courses on those topics? Development Methodologies ? And should I include OO topics in with those? Where does SOA belong? Lots of questions to answer here.

Just categorizing and applying a hierarchy to all of these topics has been more challenging than I thought it would be. I'm not going to get bogged down in the details yet though. I like working iteratively so I envision myself revisiting the departments classifications as things progress.

UPDATE: Based on feedback I've got so far, I've come up with the following departments:

  • Programming Languages
  • Internet Development
  • Database Technologies
  • Development Methodologies (AOP, XP, Unified Process, TDD, MSF)
  • Scripting Languages / Technologies
  • Computer Graphics Technologies
  • Software System Architectures (SOA, OOP, Client/Server, Distributed, Server-based)
  • Source Code Management Systems (VSS, Vault, CVS)
  • Software Project Management (less technical and more PM focused courses)
  • Systems Engineering (Less about software, more about hardware/networking/protocols)

Where should I put stuff like the .NET Framework, J2EE, UML...?

6 Comments

  • "Development methodologies" sounds good for XP, AOD, TDD, etc. For something like SOA, OO, I would maybe say..."Architecture Paradigms" or something of that nature (Since "Architecture Paradigms" sounds a bit like marketing-speak).



    I think for a site like this, a lot of what is missing from other developer sites are the real CS-oriented things...algorithms, architecture, theory, stuff like that. A lot of programmers have jumped into VB or whatever (not slighting VB at all here..just example) without the solid foundations, and just start throwing code together and learning as they go, and there is a serious lack of the foundation material for software development out there on the web, at least compared to the amount of "code snippet" sites out there.



    My two cents. Good luck with this. Very excited to see it progress.

  • I'm sort of the same thought. I think the five "schools" if you will are:



    Applications (utilization)

    Programming (construction)

    Systems (engineering)

    Project Management

    Architecture



    Within each area, you would have a fundamentals (100 levels), intermediate (200 levels), Applied (300 levels) and Theory (400 levels.)



    Something that I've seen as of late and have been talking more and more about is that any IT professional should have mastery of the fundametals in all of these disciplines (the old every Marine is a Rifleman first theory.) I've dealt with so many developers who couldn't tell you a socket from a packet, and too many DBAs who think they'd make better programmers because they'd normalize everything.



    As a group, we tend to be far weaker at making good use of the common applications out there. Why create a database driven system for 200k of data that's acccessed read-only maybe 20 times a day -- how about using Office XML instead?



    I also feel that regardless of your methodology, know how to plan its execution is crutical by sorely lacking skill, so everybody gets to take a good dose of PM skills training.



    Finally, architecture is no more of a capstone nor should it be thought of as a "higher level" skill than any other. It didn't take Einstein to design your house. Everybody needs to know how all the pieces work together.



    But then, I was a Math and Economics Major. Take it for what its worth. :)

  • Kent, by "Applications (Utilization)" do you mean something like having tutorials on how to use certain applications? For example, "How to create a web service using VS.NET" ? Or did you mean something different?

  • Deployment/Maintenance Department



    A very important discipline, I think...deploying and supporting multiple customer installations...I'm especially interested in "no-touch" deployment technologies and "no-touch" patch/update mechinisms.

  • Rob - do you think Deployment/Maintenance should be it's own department...or...a course under the Software Development Platforms department? It might be able to go either way...but I do want to keep the number of departments to as few as possible and then branch out the hierarchy from there.

  • Applications would cover the use and reuse of off-the-shelf software like Biztalk, Visio, Access and so on. I don't know many wheels I've seen reinvented just because of "not invented here." Forcing applications awareness should reduce that.

Comments have been disabled for this content.