Sign in to follow this  
Puroch

I'm starting to lose faith...

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.
You won't find a school that teaches you everything about software development. They'll teach you about CS, the theoretical side of it, with a sprinkling of projects here and there, but no considerable "real-world" development. At my job I'm relying on both my university education _and_ stuff I learned in high school on my own time.

I recommend spending time on your own working on projects. Doesn't matter what, just something interesting and of reasonable difficulty. When discussing my resume interviewers spent 90% of their time on the projects I listed.

Share this post


Link to post
Share on other sites
Quote:

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. e


This can be true to an extent, however with a lot of colleges you don't know what your missing out on.

A suggestion I would give you is buy some books. When I want to learn something I buy three to five books on the subject. Overkill? Na, I don't think so because each book will have something the other missed. Even though I feel I am ready to move on I am still chugging away at all of my beginning C++ books. Learning programming is all about practice. Practice till it clicks (and it will!)

Share this post


Link to post
Share on other sites
I lost faith in my college too. So i dropped out and got an actual job that pays money. It was a dead end job that i worked for many years, but earning even a few bucks is better than paying through your nose for college. I learned programming on the side and got a programming job later based on merit. I never looked back.

Do I wish I had stayed in school?

Nope.

YMMV

Share this post


Link to post
Share on other sites
The topics covered in my first year of university CS (a British one, bear in mind):


  • Functional Programming

  • Design and Analysis of Algorithms

  • Imperative Programming I and Imperative Programming II

  • Digital Hardware

  • Calculus of One Variable

  • Calculus of Two or More Variables

  • Probability

  • Linear Algebra

  • Discrete Mathematics

  • Logic and Proof

Share this post


Link to post
Share on other sites
My first two years of required courses looked like this:

First Year:
-Introduction to Object Oriented Programming (using Java)
-Systems Programming (essentially introduction to C)
-Introduction to Object Oriented Programming 2 (Java Programming)
-Linear Algebra 1
-Calculus 1
-Discrete Mathematics
-Some science courses (I took Physics 1 and 2)


Second Year:
-Data Structures
-C++ Programming
-Algorithms 1(sort of a continuation of discrete math)
-Linear Algebra 2
-Calculus 2
-Statistics and Probability




The rest were mainly electives (History, Databases, Web Programming, etc.). I didn't really get into interesting materials until 3rd and 4th years when I got to take Game Programming, Artificial Intelligence 1, and stuff like that (abstract algebra was pretty cool, though it's more theoretical).

Share this post


Link to post
Share on other sites
Quote:
Original post by stonemetal
Are there any other universities that you could transfer to? usually transferring has much lower requirements than getting in.


Yes, actually there is. There is a highly regarded State institution with a high ranked CS program (62 on the GRE website). Don't get me wrong, I had a 4.05 (on a 4.0 scale) and a 27 on the ACT, I would have had no problem getting in here in the first place and, I currently have a 3.5 at my current school. My problem comes up to SHOULD I? This University that I would transfer to s an equal distance from my house, in a much larger city, and is only about 70 miles from the school I go to now. I also wouldn't be paying much more for it, because it is state funded. Once again, my question is, should I? Should I even bother? If my education is where it should be here, why switch? I guess I should show you what classes I've taken so far.

Intro to CS (How computers work and Python)
Calculus I
Intro to C++ programming
C++ Programming II
Calculus II
Data Structures I (lists, stacks, queues, pointers)
Data Structures II (OO Design, linked lists, trees, etc.)

I'm just scared that I'm not learning what I should, or learning the way I should.

Share this post


Link to post
Share on other sites
Take time to sit down and look at what you are doing. look at the course descriptions at the other school. They more than likely have better electives if they have a decent program. They more than likely have more/better students meaning you will have better/more discussions with your peers. The bigger more established program will more likely get you more opportunity/better internships. The library is likely to be better. These are all things that you will need to investigate for yourself. So yes going to a better school is worth it for a great enough difference in the schools. Personally I would make an appointment to talk to an academic adviser at the other school and spend time on campus check out the library/computer labs/common areas.

I started at Uni that taught the os class in java, the db class covered cobol(no theory or sql anywhere), and I was more motivated than anyone else there. I transfered to another school, just about started over, and loved it. I got to take AI and graphics classes, learned lisp from a prof who had worked at TI on lisp hardware, the library had programming books that were less than 40 years old. I had classmates who were actually interested in programming. It was great.

You may just want to re evaluate if you still enjoy programming?

Share this post


Link to post
Share on other sites
It's really hard to make a judgement based on those classes you listed without an idea of what the curriculum looks like afterward... BUT, having "Intro to C++ Programming" and "C++ Programming II" does seem a bit "trade school" to me. I would want to see more "Computer Science" I, II, III, etc., where there is less emphasis on the language (which is merely a tool) and more emphasis on the fundamental theories of CS.

I'm not sure how common it is, though, to spend that much time teaching a particular language, so I may be way off base.

It also seems a bit odd that you would have a course to teach "how computers work" without any prerequisite for discreet mathematics.

Share this post


Link to post
Share on other sites
Quote:
Original post by smitty1276
It's really hard to make a judgement based on those classes you listed without an idea of what the curriculum looks like afterward... BUT, having "Intro to C++ Programming" and "C++ Programming II" does seem a bit "trade school" to me. I would want to see more "Computer Science" I, II, III, etc., where there is less emphasis on the language (which is merely a tool) and more emphasis on the fundamental theories of CS.

I'm not sure how common it is, though, to spend that much time teaching a particular language, so I may be way off base.

It also seems a bit odd that you would have a course to teach "how computers work" without any prerequisite for discreet mathematics.


That's what I was thinking, and this is the exact things that I wanted to hear. I just wanted to know if my education was on track or if I need to look into another school. I think I'll set up a meeting with the dept. chair at the other school. Thanks, everyone.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this