I'm in my 4th year of 5 at a state university that isn't quite known for its CS program. The internet helped me to fall in love with programming- I always have a few projects going on the side, and I feel like I've taught myself more than I've learned in class.<p>But I'm always a little depressed to see that other students don't feel the same way. It seems like the vast majority of other CS/SE students are content to graduate not having hardly written a line of code in a language other than Java, and take some corporate IT job.<p>Nothing against Java or cubicles- it's just that there's so much cool stuff you can do with a computer, and few people here seem to care.<p>I could just continue keeping to myself and graduate, but I'd rather use some of my last 1.5 years here to get people to open their horizons, and get the few other people like me to leave their dorm rooms to encourage and inspire others.<p>I'm the president of the Computer Science Club, and meeting attendance is dismal, despite offering free pizza at every meeting, bombarding students with emails, posters, the usual.<p>Does anyone have any suggestions for how to get people to get excited, interested, and to build a culture like that of other universities and cities?
I agree with davorak. What you want to achieve would be a long term project. Since you are in your final 2 years, start attracting attention with projects that would stay in the campus longer after you graduate. Also, start from the freshmen ... they are the ones you pass the baton. Make use of external programming competitions, for example, Facebook Hacker Cup, to lure them into programming. For beginners, the Hacker Cup might be something intimidating. You can try smaller competitions like this one: <a href="http://codercharts.com/contest/january-snow-fest-contest" rel="nofollow">http://codercharts.com/contest/january-snow-fest-contest</a> (pardon the little self-promotion ... but our goal is actually the same as yours).
In my experience it was relatively easy.<p>* Make friends with people who are interested in programming/security/whatever.<p>* Start making small parties (e.g. code small projects, create hack competitions, etc.).<p>* After a while you can increase your radius and invite more people<p>In conclusion: Be fun, offer them value and build relationships
I felt the same way at times in my CS department.<p>Schedule and give talks about the CS topics you're teaching yourself. One approach we took was to present it as a SIG (special interest group) of our ACM chapter. Even if one person, only your friends, or only the ACM officers come, that is plenty.<p>I think the first few should be about why your workflow is more efficient that the typical CS student. Don't be so overt about that fact, of course. In my experience, people will start to tinker if you present it as a path to efficiency.<p>I think it's worth it to screencast all of your talks and put them on a website. (Résumé / Brand Bonus)<p>If you find one other like-minded hacker, you win. Things will change after that.<p>You should totally go above and beyond with all of it. This is a rare time.
I do not have any direct experience with your type of situation.<p>Making cultural changes are hard and can take years. Think of your efforts as an experiment if you only end up making a small change at least you have learned how to do it better next time.<p>Start working on projects that effect other computer science students, the general student population, and the community in general. Preferably projects that make lasting changes, projects that will be used or remembered for years. Include these finished projects or proposed projects in your advertising.<p>Be warned this experiment may take years to produces results. Be happy with a small but lasting change, if it ends up being a big lasting change so much the better.
I've been working on something pretty similar at my school, and I think we've had some pretty good results so far.<p>I think the first step is to find the students who really are interested in programming/hacker culture/whatever you call it, and get close with them. If you start small, maybe just a couple of friends doing things together, it'll be a good start. Other people may then be interested in seeing what's up.<p>Another thing is that I'd suggest "events" vs. meetings. A couple of things we've done is start a bi-annual series of hackathons. The first one in the fall drew 40 students. The second one, which had lower prizes, ended up drawing over 100. It takes a bit of time, but I think you can snowball it into something bigger.<p>Another event we've found really useful is a weekly thing where we take a classroom in one of the CS buildings, and designate it for a night for people to code. We order food and stuff, usually 15-20 people show up every week.<p>You're not going to necessarily change the vast majority of students that don't care, but if you can join everyone else together, and maybe draw some people who are on the fringe one way or another, you can have something pretty cool.
start a hackerspace or at least copy some ideas from <a href="http://hackerspaces.org/wiki/Design_Patterns" rel="nofollow">http://hackerspaces.org/wiki/Design_Patterns</a><p>Try to create a space where people can "make" things, maybe having tools, doing stuff with arduinos, android apps, etc.. I'm sure that there's some people interested about that kind of stuff. Fun small geeky projects.<p>I'm starting a hackerspace in bilbao and finding people has been the easiest part. Just make something cool and fun and create a nice environment. Think about the lighting, most people love our projector with xbmc, visualizations and c64 music over a huge wall. We are also starting a ruby users group.
yes, as @davorak said cultural changes doesn't happen overnight. also, "starting small and expanding - that's a good thought."<p>we started with events on occasion of global events like celebrating open source day, wiki days or other global happening, getting support from the organizing bodies. they are now performed yearly after we graduated.<p>don't forget to include geeks from your junior circle. since they will be the one to continue your effort after you graduate. what we will do is convey the message about the geek/community culture, collaboration culture. feeling depressed why other students don't think that way is completely waste of time, get over it.
Create a club in which you will propose interesting topics like: "Learning Python", "Lisp as a better programming language", "CUDA programming", you name it ... propose what you like more and it is not covered by your CS curriculum.