Constructing a New College IT Curriculum?
slonkak asks: "For extra credit in my Management & Information Systems we were asked to redevelop the IT curriculum. Interning at a government organization for the past 5 years, I have a good idea of what I'd like to know graduating from college. Here are the two tracks I came up with. Does anyone have any suggestions on how to improve this curriculum? I would like more experience members of the Slashdot community to give their input on what they would like to see new hires have a good understanding of." Yes, this one may sound like Slashdot-Do-My-Homework, but the underlying question is still worthwhile. For you IT Managers out there, what do you expect someone with a college degree to know? For you prospective CS Students who might be reading, what would you like to learn while obtaining that degree?
In looking at the two programs outlined, I noticed that they somewhat focus on training for specific products (VC .NET, 2003 Server, Cisco Routers, etc.) rather than underlying theory and principles.
.NET" but rather "experience programming C++."
As the owner of a small business who sometimes looks to hire developers for specific projects, I would probably not hire someone coming from this type of curriculum. In contrast, a programmer with education in principles could likely learn VC, gcc, VectorC or whatever compiler tool best suits the project. To this end, I would not put on my job search documents "experienced in VC
Computational Chemistry products and services.
The curriculum that you have posted sounds like something out of DeVry or Chubb and not something that you'd find at a college. Instead of having particular courses in .NET/Java/C++, have generalized data structures and algorithm classes that teach the basics of low-level software design and hammer the importance of efficiency home.
Having theoretical coursework may seem lame and not usefull post-graduation, but they often teach the concepts that are the most used in a CS position. These concepts can be enforced with projects, homeworks, and, most importantly, through internships or co-operative education experiences.
I am a computer scientist in the defense industry and I have seen other 'computer scientists' with degrees from schools whose curriculum approaches what you are proposing. They have a lot harder time thinking in terms of the problem and are 'hard-wired' to use certain technologies to solve every problem. They rely on the SKILLS they were taught in college rather then on the KNOWLEDGE they learned through theory and the application of the theory through constructive coursework.
Here's a link to the current CS curriculum of the school I attended, it has changed a lot since I went there but the focus on theory and knowledge is still present.
When I was in college, seems all we did was install things, set things up, put things togeather. Now here's a crazy idea.. break a system/network/router/etc.. real good, then give it to the students to figure out why it's broken. This could be improperly installed hardware, missing system files, broken network cable, the possibilities are endless.
Since I graduated, I do a lot more 'fixing' than I do setting up things.
For you prospective CS Students who might be reading
Ho ho ho now, Computer Science is very different from Information Systems/Information Technology.
For Network Engineering, I'd expect to see courses on network topology principles (regardless of whether it's Cisco or not you're applying it to). OSI, TCP, IP, broadband networking principles, wireless technologies, security, cryptography, oh and security.
I'd also expect to see classes on the foundations of operating systems and the core aspects of them, how they work, why they work the way they do, etc. Also fundamentals of computer systems themselves -- how they are designed, where they are headed and how, etc.
How about the design and use of compilers in principle? How they work, why they work, why you use the syntax of C/Java/C# vs. something else.
In short, you're way too specific. These seem like courses I'd take to get a certificate in each, not a degree. You can have a C++ programming course with Microsoft Visual, but that should be up to the professor or the curriculum on top of it. I've been in C++ programming classes that allowed the students to use whatever C++ compiler they wanted, since it was the underlying programming priciples that were important, not that we knew how to navigate Microsoft's expensive interface.
Trolls lurk everywhere. Mod them down.
Your right that the original poster wrote up a lame ass product training course, and while yours is a reasonable looking computer science course, CS aint IT.
An IT curriculum would look like this:
* Bullshit buzzwords like Paradigm, Convergence, Competitive Advantage, Quality Assurance. Note, only the buzzwords not necessary, save the actual meanings for the nerds.
* Helpdesk techniques like Blaming other companies, Pretending to be too clever for the caller, Being a general arsehole.
* Powerpoint
* Clicking on the OK button
* Defragmentation
* Plugging cables in (in general terms anyway, save actual distinctions between different types of cables for the specialists)
* Pencil chewing
* Tieing a tie
* 1 Day of web design
* Solataire or Minesweeper
* Pretending your a programmer when the hot secretary comes around.
* Pretending to be the janitor when a programmer comes around.
* The kissing of bosses asses.
Oh, and in preperation of future industry developments:
* Flipping burgers.
etc
CS205 has CS205 as a prerequisite! I think recursive courses should be reserved for higher levels.
Syntax error: loose != lose, affect != effect, then!=than