I was in an Information Systems (BBA with an IT focus) degree program at a four year university in the United States' "Deep South". I got out of the college scene after 3 years and enlisted because I figured I could be working in IT faster (and leave the Armed Forces with relevant experience under my belt) if I left. (This was right before the economy tanked, so in retrospect it was an initiative bathed in some sort of fatefully unintentional clairvoyance.) I also figured that in going this route, I could get my foot in the door with various agencies that I would one day like to be working for. What you said about the government work really resonated with me, very true and I see it now. But I thought in college "these people don't really USE, nor are they interested in, the technology they're learning about" (this is an exception of course, some were). Now I'm saying, at my current position, "these people don't use at home, nor are they interested in, the technology they use at work" (this is an exception of course, some do). The difference in people between the two places: no difference. The difference in environment: interesting work experiences and a handful of IT industry certifications that were provided for me at no cost.
You have to approach this drawing a distinction between learning a skill and joining a community.<p>If you joined this community college program in Ottawa to learn a trick or two about programming, you approached it with the right mindset. You approached it looking for technical improvement.<p>It sounds like, however, you joined the program looking for rock stars. If Ottawa was a technology startup focused town, you'd know it already - there would be technology startups. Environment is so critical.<p>I come from another government town (Washington, DC) and there are a significant number of absolutely brilliant people here...who want nothing to do with a tech startup. They're government employees, or contractors, or even just policy wonks. That's not a slight against their intelligence; it's just that the culture in DC is not geared toward startups while Silicon Valley is.<p>There's not going to be an easy way or good time to rip yourself away from Ottawa - it's going to be frustrating and probably won't be an easy move. But if that's what you want to do, you'll have to find a way.
<i>Am I just in the wrong program at the wrong school at the wrong time?</i><p>Yes. Maybe the wrong program, definitely the wrong school. (You have little choice about the time, so forget about it.)<p>Suggestion: Be the person you want to meet. The only person you can control is yourself, and even that ain't easy. The other students are idiots right now? Well, give them a chance to learn.<p>The rest is just a chaotic process; maybe you meet people that you click with, maybe you don't, maybe it comes easily, maybe it doesn't. If you get lucky, it probably won't come from a direction you expected, so stay open to all the opportunities you can find. Do what you can to improve your odds, in the meantime.
I encountered these types of students when I was at university, as well. From what I hear, they're common at most universities. It seems like the vast majority of people going into Computer Science choose it because they want to write video games or make web sites, not because they're genuinely interested in Computer Science. Many schools have been downgrading their programs to cater to them (after all, their money is just as <insert color of legal tender here>).
Not speaking from personal experience, but the difference between the kids who go to a community college and a school with a respected <insert field here> program is going to be massive. I'd be figuring out how to transfer to somewhere better in a hurry. Even if it takes you time to save up money or whatever.
What level of class is it?<p>If it is an introductory class just be happy that people are there. I know plenty of programmers (including myself) who only got interested in CS because of video games. I then figured out I liked CS and didn't really like making games.