PDA

View Full Version : Graduate's dilemma




ricgnzlzcr
May 17, 2008, 10:32 PM
I just graduated from a sociology undergraduate program in Maryland. It's something I was so-so interested in because I thought I would go on to do something in business, but have started to have second thoughts. In all honesty I'm just interested in the computer world. I like the way programs help different niches perform tasks and have a desire to learn how to build them.

To make a long story short, I'm thinking about going back to school to get a degree in computer science. I'd love to work as a software engineer but have no idea if I'm even fit to do so since I have no knowledge of programming.

I guess what I want to ask is what are the steps I should take to reaching that goal. Should I apply for admission to an undergraduate program in the winter and spent the next 6 months learning as much as I can about programming? Are there specific languages or subjects I should know about before even applying? I'm a little lost and constructive suggestions would be wonderful right now.

Basically, what in the world should I do? :confused::o



yeroen
May 17, 2008, 10:33 PM
How good are you, in general, in math and science?

ricgnzlzcr
May 17, 2008, 10:39 PM
I love math. Always have. I took courses up to calculus in high school but never really moved on from there because it wasn't really required for my major. Regardless, I'd love to learn more.

In terms of science, I'm decently interested in biology and chemistry, but I'm sure I'd love physics most.

dukebound85
May 17, 2008, 10:50 PM
if you want to, do it!

i will say though that all the comp sci classes ive had were difficult for me as it requires a different thought process than what my major was

lee1210
May 17, 2008, 11:33 PM
if there is a good CS program at the same university you got your degree from, you should just need some extra math, maybe 1-2 science courses, and perhaps some philosophy/logic/ethics.

Otherwise you'd be able to focus on CS. The problem may be that the pre/co-requisite setup might mean at least 6 semesters. Maybe you can do it in 2 years if you take summer school?

Anyway, it might be better to try to teach yourself some programming and try to get an entry-level programming or software analyst job and work your way up. On the way you should be able to read up on design patterns and architecture, and get pointers from more experienced programmers/engineers/architects. Note I said more experienced, not neccesarily degree-holding.

Maybe a degree will be your path to a career in software development, but I don't think it's the only path. You have a bachelor's degree already, getting another will be expensive and might not give you a big edge.

Start programming. If you plan to keep doing it no matter what, then consider doing it professionally. If you don't love it, it's not a good career path. I guess I'd say that about anything though.

-Lee

ricgnzlzcr
May 18, 2008, 12:46 AM
if there is a good CS program at the same university you got your degree from, you should just need some extra math, maybe 1-2 science courses, and perhaps some philosophy/logic/ethics.

Otherwise you'd be able to focus on CS. The problem may be that the pre/co-requisite setup might mean at least 6 semesters. Maybe you can do it in 2 years if you take summer school?

Anyway, it might be better to try to teach yourself some programming and try to get an entry-level programming or software analyst job and work your way up. On the way you should be able to read up on design patterns and architecture, and get pointers from more experienced programmers/engineers/architects. Note I said more experienced, not neccesarily degree-holding.

Maybe a degree will be your path to a career in software development, but I don't think it's the only path. You have a bachelor's degree already, getting another will be expensive and might not give you a big edge.

Start programming. If you plan to keep doing it no matter what, then consider doing it professionally. If you don't love it, it's not a good career path. I guess I'd say that about anything though.

-Lee

Thanks for the informative post. I don't plan to go back to my previous college. Instead I'd most likely head to University of Maryland: College Park because it's closer to my home and I can commute instead. I really do feel that I want to try this out. It's disappointing that the prerequisites might force me to take 6 semesters. I wonder if I could get some completed in a community college at a lower price. If anyone has any tips on where I could start learning on my own (i.e. websites, "Programming for Dummies", etc) I'd greatly appreciate it.

lee1210
May 18, 2008, 09:20 AM
http://www.umd.edu/catalog/index.cfm/show/content.section/c/1/s/103

Here is the CS page from the current course Catalog at UMD. So it looks like if all of your credits from your first degree transfer to UMD you will have the "A minimum of 12 additional credit hours of 300-400 level courses in one discipline outside of computer science with an average grade of C or better." requirement covered.

For the math: "MATH 140 and 141. A STAT course which has MATH 141 (or a more advanced mathematics course) as a prerequisite, and one other MATH, STAT, or AMSC course which has MATH 141 (or a more advanced mathematics course as a prerequisite. A grade of C or better must be earned in each of the courses. No course that is cross-listed as CMSC may be counted in this requirement.". That is where a junior/community college might come in handy. You would have to check what transfers, but it might be posible.

After that stuff (and the core requirements for a degree from UMD. Hopefully you will already have that covered w/ transfers) you have 39 credit hours of computer science.

http://www.umd.edu/catalog/index.cfm/show/content.section/c/2/s/231

This page has additional requirements for the college the CS department is in. It says you have to do your last 30 hours in residence, so you'd have to get the community college done at the very beginning or before you even start.

I looked at the schedule/catalog and came up with this. A line with a - means it's a pre-req for the class listed above it. The lines with | mean only one of the courses in that group with the | may be taken. Note that 131,132,212, and 250 are implicit requirements since they are pre-reqs to 311/330/351 or one another. These are not mentioned in the requirements for a degree, so you may be able to get credit for those via exam, transfer, AP, etc. Not sure what of those are viable for you now, but it might be a way to get a jump start.

Required:
CSMC 131
-MATH 140
CSMC 132
-CSMC 131
CSMC 212
-CSMC 132
CSMC 250
-CSMC 131

CSMC 311
-CSMC 212
-CSMC 250
CSMC 330
-CSMC 212
-CSMC 250
CSMC 351
-CSMC 212
-CSMC 250
- - - - -
Choose from 18 hours of the following:

CSMC 411
-CSMC 311
CSMC 412
-CSMC 311
-CSMC 330
CSMC 414
-CSMC 311
-CSMC 330
CSMC 417
-CSMC 351
-CSMC 311

CSMC 420
-CSMC 330
-CSMC 351
|CSMC 421
-CSMC 330
-CSMC 351
|CSMC 424
-CSMC 420
|CSMC 426
-CSMC 420
|CSMC 427
-MATH 240
-CSMC 420

CSMC 430
-CSMC 330
CSMC 433
-CSMC 330
CSMC 434
-CSMC 330
CSMC 435
-CSMC 412 or 417 or 420 or 430 or 433

CSMC 451
-CSMC 351
|CSMC 452
-CSMC 351
|CSMC 456
-Two 400 level math classes
-CMSC 106 or 114
-Permission of dept.

|CSMC 460
-MATH 240
-MATH 241
-CMSC 106 or 114
-Permission of dept.
|CSMC 466
-MATH 240
-MATH 241
-CSMC 106 or 114
-Permission of dept.

Semester 1:
CSMC 131

Semester 2:
CSMC 132
CSMC 250

Semester 3:
CSMC 212

Semester 4:
CSMC 311
CSMC 330
CSMC 351

Semester 5:
3 Upper division

Semester 6:
3 upper division

You might be able to push a few of the upper division things that require 311 and/or 330 and/or 351 into the same semester as those as co-reqs instead of pre-reqs, but that will be at the discretion of your advisor or the dean of the school. If you could push 212 as a co-req with 132, that would cut a semester out. So essentially you're down to 4-5 semesters. Maybe 1-2 could be summer semesters. If you did take some math at UMD that could fill in some of the first few semesters where you can't do too much CS b/c of pre-reqs. I will add that I did 3 upper division CS courses a semester towards the end and it was devastating, so don't plan on doing much else those semesters, and if you get a few knocked back and want to try 4... just... plan to lock yourself in a room whenever you aren't in lectures.

I guess another option is a Master's in CS. You'd probably need to take some of these classes to get a foundation, but it may take you about the same amount of time. You already have a bachelor's, so a graduate degree might make more sense.

For getting started with C, I would just google for a tutorial and "Hello, World!" example to start out with. Use the terminal and gcc. There will be no XCode in college. Once you've gotten your feet wet, I would buy "The C Programming Language" by Kernighan and Ritche. It is the best reference you can buy. Then start thinking of problems you want to solve, and try to solve them.

Good luck.

-Lee

Cromulent
May 18, 2008, 09:29 AM
For getting started with C, I would just google for a tutorial and "Hello, World!" example to start out with. Use the terminal and gcc. There will be no XCode in college. Once you've gotten your feet wet, I would buy "The C Programming Language" by Kernighan and Ritche. It is the best reference you can buy. Then start thinking of problems you want to solve, and try to solve them.

Good luck.

-Lee

I actually just got that book for my birthday and have to go agree it really is the definitive C book out there. I would question it as a beginners book though, for instance the exercises at the end of the tutorial chapter are not trivial. Especially the write a rudimentary parser for C files exercise.

lee1210
May 18, 2008, 09:42 AM
I actually just got that book for my birthday and have to go agree it really is the definitive C book out there. I would question it as a beginners book though, for instance the exercises at the end of the tutorial chapter are not trivial. Especially the write a rudimentary parser for C files exercise.

It is more advanced, but I said reference for a reason. Cover-to-cover is not the way to go for a beginner, but if there's something you run into that you don't understand, it is very likely to be in that book.

And writing a parser for C is just cruel. They probably put that in there to make people appreciate the work they did when they came up with the language. Have fun telling apart things like:
a & b
and
a + & b

-Lee

yeroen
May 18, 2008, 11:28 AM
A fantastic online resource is MIT's open courseware. MIT offers the contents, in varying degrees of completeness, of its entire course offerings for free. For example, MIT's CS 101 course is available here:

Structure and Interpretation of Computer Programs (http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/index.htm)

Sayer
May 18, 2008, 12:14 PM
Wow, that's a pretty big change to work on at this point in your life. Most programmers have had the "bug" since they were small kids (I certainly did).

Maybe you should look more at the business end of computers e.g. product managers. Or if your last major was sociology you could lean towards human/computer interaction studies. Judging by the crap I have to use on Windows for my new job, there's a lack of good interface/interaction people at the big software companies *cough* Oracle.

Cromulent
May 18, 2008, 12:15 PM
A fantastic online resource is MIT's open courseware. MIT offers the contents, in varying degrees of completeness, of its entire course offerings for free. For example, MIT's CS 101 course is available here:

Structure and Interpretation of Computer Programs (http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/index.htm)

Wow, thanks for that. That looks like a pretty amazing resource. Think I might give it a go.

ricgnzlzcr
May 19, 2008, 07:01 PM
I really want to thank everyone for helping me out here.

http://www.umd.edu/catalog/index.cfm/show/content.section/c/1/s/103

Here is the CS page from the current course Catalog at UMD. So it looks like if all of your credits from your first degree transfer to UMD you will have the "A minimum of 12 additional credit hours of 300-400 level courses in one discipline outside of computer science with an average grade of C or better." requirement covered.

For the math: "MATH 140 and 141. A STAT course which has MATH 141 (or a more advanced mathematics course) as a prerequisite, and one other MATH, STAT, or AMSC course which has MATH 141 (or a more advanced mathematics course as a prerequisite. A grade of C or better must be earned in each of the courses. No course that is cross-listed as CMSC may be counted in this requirement.". That is where a junior/community college might come in handy. You would have to check what transfers, but it might be posible.

After that stuff (and the core requirements for a degree from UMD. Hopefully you will already have that covered w/ transfers) you have 39 credit hours of computer science.

http://www.umd.edu/catalog/index.cfm/show/content.section/c/2/s/231

This page has additional requirements for the college the CS department is in. It says you have to do your last 30 hours in residence, so you'd have to get the community college done at the very beginning or before you even start.

I looked at the schedule/catalog and came up with this. A line with a - means it's a pre-req for the class listed above it. The lines with | mean only one of the courses in that group with the | may be taken. Note that 131,132,212, and 250 are implicit requirements since they are pre-reqs to 311/330/351 or one another. These are not mentioned in the requirements for a degree, so you may be able to get credit for those via exam, transfer, AP, etc. Not sure what of those are viable for you now, but it might be a way to get a jump start.

Required:
CSMC 131
-MATH 140
CSMC 132
-CSMC 131
CSMC 212
-CSMC 132
CSMC 250
-CSMC 131

CSMC 311
-CSMC 212
-CSMC 250
CSMC 330
-CSMC 212
-CSMC 250
CSMC 351
-CSMC 212
-CSMC 250
- - - - -
Choose from 18 hours of the following:

CSMC 411
-CSMC 311
CSMC 412
-CSMC 311
-CSMC 330
CSMC 414
-CSMC 311
-CSMC 330
CSMC 417
-CSMC 351
-CSMC 311

CSMC 420
-CSMC 330
-CSMC 351
|CSMC 421
-CSMC 330
-CSMC 351
|CSMC 424
-CSMC 420
|CSMC 426
-CSMC 420
|CSMC 427
-MATH 240
-CSMC 420

CSMC 430
-CSMC 330
CSMC 433
-CSMC 330
CSMC 434
-CSMC 330
CSMC 435
-CSMC 412 or 417 or 420 or 430 or 433

CSMC 451
-CSMC 351
|CSMC 452
-CSMC 351
|CSMC 456
-Two 400 level math classes
-CMSC 106 or 114
-Permission of dept.

|CSMC 460
-MATH 240
-MATH 241
-CMSC 106 or 114
-Permission of dept.
|CSMC 466
-MATH 240
-MATH 241
-CSMC 106 or 114
-Permission of dept.

Semester 1:
CSMC 131

Semester 2:
CSMC 132
CSMC 250

Semester 3:
CSMC 212

Semester 4:
CSMC 311
CSMC 330
CSMC 351

Semester 5:
3 Upper division

Semester 6:
3 upper division

You might be able to push a few of the upper division things that require 311 and/or 330 and/or 351 into the same semester as those as co-reqs instead of pre-reqs, but that will be at the discretion of your advisor or the dean of the school. If you could push 212 as a co-req with 132, that would cut a semester out. So essentially you're down to 4-5 semesters. Maybe 1-2 could be summer semesters. If you did take some math at UMD that could fill in some of the first few semesters where you can't do too much CS b/c of pre-reqs. I will add that I did 3 upper division CS courses a semester towards the end and it was devastating, so don't plan on doing much else those semesters, and if you get a few knocked back and want to try 4... just... plan to lock yourself in a room whenever you aren't in lectures.

I guess another option is a Master's in CS. You'd probably need to take some of these classes to get a foundation, but it may take you about the same amount of time. You already have a bachelor's, so a graduate degree might make more sense.

For getting started with C, I would just google for a tutorial and "Hello, World!" example to start out with. Use the terminal and gcc. There will be no XCode in college. Once you've gotten your feet wet, I would buy "The C Programming Language" by Kernighan and Ritche. It is the best reference you can buy. Then start thinking of problems you want to solve, and try to solve them.

Good luck.

-Lee

That was an incredible help. I think I'm going to search for a job at College Park so that I can get a tuition remission. If I can't I'll most likely try to get the math courses done at a community college and see where I go from there. Regardless, these next 6 months I'll dedicate to learning as much as I can on my own. That way I'm not jumping into this because of the appeal programming has to me. Thank you so much for your help Lee.

A fantastic online resource is MIT's open courseware. MIT offers the contents, in varying degrees of completeness, of its entire course offerings for free. For example, MIT's CS 101 course is available here:

Structure and Interpretation of Computer Programs (http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/index.htm)

That's incredible. I'll definitely be using this. I really appreciate your help.