I'm in a rather unique situation here. I am going to start school for computer science tomorrow (literally) at a local university in a BS program. However, I am starting as a nontraditional student. My background:
I already have the bachelor's and master's degrees in sociology, the latter of which I gained during a PhD program that I left a half a year ago for personal reasons (such as realizing the subject matter and the work involved no longer held any meaning for me). After struggling for months to find employment in this economy -- where years of graduate school and my experience serving as a teaching assistant (and teaching classes) seem to count for very little -- I decided to go back to school for CS. Between a teaching gig at a local college, a part-time job at a local restaurant, and a loan, I can afford this semester's tuition and my living expenses.
I haven't been coding since an early age, like some CS students. Nearly ten years ago, I took a lot of advanced math and science in high school and a couple of programming classes, where I used Java and C++ -- and achieved a respectable level of performance, enough to make an A in each class. I can use a computer competently enough, but I can't do most of the nifty things that true computer nerds and geeks, hackers, etc. can do. I can do some stuff with HTML, but I'm just now learning about the uses of CSS -- nevermind JavaScript, PHP, XML, Ruby on Rails, etc.
So far, I have been reading several threads on this site (as well as pages outside of here) that are geared towards college students in computer science. Thus, I am picking up a lot of general advice -- such as learning to write well, getting internships and independent projects, coding a lot, reading books, keeping current in the field, etc. I do, of course, plan to do all these things. I'm also trying to learn (re)learn HTML (specifically, XHTML) and add CSS, PHP, and MySQL to my repertoire. (Though, from what I've been reading and hearing from friends in technical fields, I should probably be focusing on HTML5 and CSS3.) I've also started reading a book about Python and playing around with coding some.
I can tell right now it will be rough sailing for the next couple of years, but I'm going to do my best. I'm trying to glean as much advice as I can from the various sites I've found and from the threads already started here. Still, I have a few concerns that I was hoping some of you might be willing to address (for me and for any other nontraditional students that might be reading):
- Can you recommend any good ways to compensate for all those years not spend coding every chance I got? Or is it simply a matter of playing "catch up"?
- How can I balance the need to code with other responsibilities (schoolwork, jobs, etc.)? Oh, how I fondly remember the days when all my tuition and expenses were paid for by scholarships and the like, haha!
- One thing I feel like I probably could do is get accepted to a funded summer research program for undergraduates, doing research projects under professorial supervision. Would that look good to potential employers, you think?
- Because I already have degrees now, I could possibly go into the computer science department's MS program after taking some undergrad classes. The MS program has an emphasis on software development and includes a software engineering final project. Should I just try to go into that program once I've completed enough undergrad material?
- Do you have any other advice (outside of my own questions) that would be particularly relevant to nontraditional CS students who may have different situations than more traditional students?
Any advice or input you could offer will be greatly appreciated. Thank you very much for your time and consideration.
