I'm starting to lose faith...

Started by
18 comments, last by Puroch 16 years, 1 month ago
I'm starting to lose faith in my college. I go to a State funded regional University, mainly because of financial issues. To be quite to the point though, I'm starting to lose faith in the CS program here. In it's defense, it's new program at a very small school. I really want to know what types of thing should I have already learned by the end of my sophomore year, and what types of things should I already have in my portfolio. I really just need some reassurance of my school, or the confirmation that I need to switch to another school with a more developed CS program. All input welcome. Thanks. Signed, Paranoia.
Advertisement
I go to UC Berkeley and I hate its CS program. It's CS program old, developed, and well respected but I still hate it. The classes I took made me hate programming so much that I was very seriously considering a completely different career.

Then I got an internship as a software developer.

In my opinion, getting an internship was by far the smartest thing I've done. Getting an internship showed me what programming was like in the real world - I found that I enjoyed it more than I enjoyed working on my personal projects. University CS classes, in my experience, wont give you the slightest hint about whether or not working as a programmer is right for you. Look into getting an internship.
Quote:Original post by Colin Jeanne
I go to UC Berkeley and I hate its CS program. It's CS program old, developed, and well respected but I still hate it. The classes I took made me hate programming so much that I was very seriously considering a completely different career.

Then I got an internship as a software developer.

In my opinion, getting an internship was by far the smartest thing I've done. Getting an internship showed me what programming was like in the real world - I found that I enjoyed it more than I enjoyed working on my personal projects. University CS classes, in my experience, wont give you the slightest hint about whether or not working as a programmer is right for you. Look into getting an internship.


That's where I run into my problem. I've applied for Internships, and they turn me down, because I don't have enough programming skills. I'm not looking for the best school EVER. I just want one that's going to get me a job, and teach me the things I need to know in order to do that. SO that is why I ask this question.
In a CS degree program expect to have zero things in your portfolio. The purpose of a CS degree is to teach you how to think logically and like a computer scientist (all very good and critical things). Any portfolio work therefore has to be done on your own initiative outside of the classroom. [A CS degree is far far better in many people's opinion than a game degree so don't get all paniky about this paragraph [smile] ]

At the end of your sophomore year you've taken intro CS and 2nd year CS and probably not very much outside of that. Junior and Senior year is when you typically start getting into the "fun" stuff like: AI, graphics, sound, networking, hardware, etc. So end of junior year you should feel really competent in one language (probably python or java depending on what your uni teaches).

You should just grab a course catalog from another university with a known great CS program (think CalTech, MIT, Carnegie Mellon). Look what their standard CS course-flow is for the first 2 years and compare v. yours.

On a tangential note, going into debt for college is one of the best ideas there is. Student loans are as close to free as you'll ever get in your life and they can generally be paid down very comfortably with a CS degree holder's salary. Debt is scary, but college debt is standard and generally a recommended good investment.

-me
Term One

COMM1116 Business Communication 1
COMP0090 Physical Education
COMP1100 Enhanced Learning Skills
COMP1113 Applied Mathematics
COMP1510 Programming Methods
COMP1536 Introduction to Web Development
COMP1730 Relational Database Systems
BUSA2720 Business in a Networked Economy
Term Two

COMM2216 Business Communication 2
COMP2101 Portfolio Development
COMP2121 Discrete Mathematics
COMP2510 Procedural Programming in C
COMP2526 Object Oriented Programming with Java
COMP2721 Computer Organization/Architecture
COMP2730 Systems Analysis and Design
COMP2910 Projects

That's pretty close to what my first year was. It's changed a bit since I took it but the core stuff is still the same.
Quote:Original post by Puroch
That's where I run into my problem. I've applied for Internships, and they turn me down, because I don't have enough programming skills. I'm not looking for the best school EVER. I just want one that's going to get me a job, and teach me the things I need to know in order to do that. SO that is why I ask this question.


Also, don't ever place the blame of not knowing things on your college. If you don't know something that you need to know then go learn it. Learning things, especially programming, are so easy nowadays on the interdooms.

But, yeah, check out other school's catalogs and do a comparison for yourself. If you find your college lacking, then transfer.

-me
I got an internship earlier this year and totally agree with what was said above. I was already happy programming, but this internship is making me even more sure. Not to mention I also do a lot of non-programming things like setting up Windows images and all sorts of things. So I'm not only finding out how much I like programming, but I'm also learning lots of things I otherwise would have ignored.

What helped me was my personal work. You can see a couple links in the signature. I wrote those and that helped a lot. So if you have some projects you work on in your personal time, plop them online and include them in your resume. That's what I did and it pretty much sealed the deal. One of my interviews started like this:

Interviewer: "So who helped you with this code?" (referring to the EasyConfig project in my signature)
Me: "Nobody. I wrote it all myself."
Interviewer: "Well good. That answers the majority of my questions, then."

You can see some well written code can leave a great impression on people. If you're willing to travel, the company I got the internship here in Seattle (Avanade, Inc) does lots of internships. So if you are willing to make the move (I moved out here from Michigan), they're always looking for good, hard working interns.
I don't know if it's because of Quebec education system or if it's the same thing everywhere, but I did college + university and seriously more than 90% of the thing they teached us was pure useless crap. Being a professional for them is knowing good ethics and know how to bullshit long text who talk about nothing.

Learning at home + internship are the way to success, but you still have to do your class only to have some crappy papers or else you won't get taken seriously.
Quote:Original post by Dancin_Fool
COMP0090 Physical Education


That's an elective, right?
First year is always basics, things like using languages and some of the concepts of the useful data structures (linked lists, stacks, queues, binary trees etc).

Second year should be where it starts tuning up, what exactly have you done so far? In first term of second year we learned about assembly and programming compilers (simple compilers compared to real ones obviously, but it was a large amount of learning with assignments taking 6-20 hours on average, writing a parser is hard :\). Hopefully you've also done some of the more basic hardware concepts, they may not be directly related to programming, but knowing some of the under workings of hardware systems makes some programming concepts easier (boolean logic). Combinatorics is another course I found useful in CS, things like graph theory I can see being useful in future programs.

That's actually as far as I've gone (I've just done my 2A term so far), but by third year you should definitely be getting into some more advanced topics, like programming OS's and advanced data structures/organization. Fourth year looks even more cool with things like real time programming concepts, embedded systems programming, advanced compiler courses, and 3D graphics concepts.

If you really feel that your college is lacking, then do a transfer, it's your education and money shouldn't be the limiting factor (to a degree, more money != better education always).

I go to university of Waterloo (in Canada) for the record.

This topic is closed to new replies.

Advertisement