Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Rodimus Prime

macrumors G4
Oct 9, 2006
10,136
4
I'm decent at Algebra, not so decent at geometry.

I'm at Penn State. The "Flow Chart" of CS is something like:
Algebra I (21)
Algebra II (22)
Trigonometry (26)
Calculus I (140)
Calculus II (141)
Calculus III (210, I think).
Might have missed one...


Safe to say you have.
You are missing linear algebra and DefQ. I am also willing to bet you are missing stats.
I also would not be surprised if you also have to take discrete mathematics. If those are not in the math department you will be taking some form in your CS classes just under a different name and I am willing to bet there are some others you missed as well.

----------

I'm decent at Algebra, not so decent at geometry.

Meh. Geometry never made any since to me until I got to calculus and I started apply those theorms to it.

As for do I like CS and my job. I love it but we software devs are a special bread.
 

ravenvii

macrumors 604
Mar 17, 2004
7,585
492
Melenkurion Skyweir
Well, my story is a kind of a long one, but I think it's sufficient to say I've been running the hell away from mathematics since HS trigonometry.

9 years later, and I'm out of a job. Decided to take advantage of the economic downturn and switch careers with a new beginning. Decided to look inwards for what I *really* want to do with my life. Came out with computer science.

So I went to community college, beginning with a tentative "dip in the water" with the prerequisite pre-calculus while I continue to look for a job.

Got a job. It sucked. Pre-calculus sucked, too. But I got a B+. So I decided to push a bit more. 2 classes and reduce my job to part-time (the crappy job is a blessing in disguise because they don't care how many hours I work). Calculus and computer science 1 this time.

I loved it. I never had any experience programming -- HTML/CSS is the extent of my experience, and the projects are really time-consuming. But I loved it -- it didn't feel like homework, so I didn't mind.

And calculus? I can't say I *love* it or anything, but it was extremely interesting and, yes, fun at times.

I'm now a full-time student, set to go to university for a BS next academic year. It's going very well, and I'm actually starting to like math. If you tell that to me 10 years ago, I'll laugh in your face.

I guess the moral of the story is 1) that you don't need to know how to program before you start, but you need to really enjoy that kind of stuff to make it, and 2) that math gets better, especially in calculus and beyond. Algebra/trigonometry, while important, sucks.

TL;DR: CS rocks, and math gets better. You should give it a shot! :D
 

Squilly

macrumors 68020
Original poster
Nov 17, 2012
2,260
4
PA
Safe to say you have.
You are missing linear algebra and DefQ. I am also willing to bet you are missing stats.
I also would not be surprised if you also have to take discrete mathematics. If those are not in the math department you will be taking some form in your CS classes just under a different name and I am willing to bet there are some others you missed as well.

----------



Meh. Geometry never made any since to me until I got to calculus and I started apply those theorms to it.

As for do I like CS and my job. I love it but we software devs are a special bread.
So you don't actually learn how to code while in school? Just use the theorems, etc.?

----------

Well, my story is a kind of a long one, but I think it's sufficient to say I've been running the hell away from mathematics since HS trigonometry.

9 years later, and I'm out of a job. Decided to take advantage of the economic downturn and switch careers with a new beginning. Decided to look inwards for what I *really* want to do with my life. Came out with computer science.

So I went to community college, beginning with a tentative "dip in the water" with the prerequisite pre-calculus while I continue to look for a job.

Got a job. It sucked. Pre-calculus sucked, too. But I got a B+. So I decided to push a bit more. 2 classes and reduce my job to part-time (the crappy job is a blessing in disguise because they don't care how many hours I work). Calculus and computer science 1 this time.

I loved it. I never had any experience programming -- HTML/CSS is the extent of my experience, and the projects are really time-consuming. But I loved it -- it didn't feel like homework, so I didn't mind.

And calculus? I can't say I *love* it or anything, but it was extremely interesting and, yes, fun at times.

I'm now a full-time student, set to go to university for a BS next academic year. It's going very well, and I'm actually starting to like math. If you tell that to me 10 years ago, I'll laugh in your face.

I guess the moral of the story is 1) that you don't need to know how to program before you start, but you need to really enjoy that kind of stuff to make it, and 2) that math gets better, especially in calculus and beyond. Algebra/trigonometry, while important, sucks.

TL;DR: CS rocks, and math gets better. You should give it a shot! :D

Thanks for the input. The "I didn't know any languages before this" portion sounds a lot like me, lol.
 

prostuff1

macrumors 65816
Jul 29, 2005
1,482
18
Don't step into the kawoosh...
I'm decent at Algebra, not so decent at geometry.
Do you like CS?

Yes, I enjoy my job. I am the type of person that after getting off work will go home and mess with code also. Mostly all small things related to my linux based servers, but code none the less.

I usually do it in spurts and my off work coding is heavier in the winter than summer. I tend to plan one "renovation" for my house each summer which consumes my time during those months.
 

Squilly

macrumors 68020
Original poster
Nov 17, 2012
2,260
4
PA
yeah I would not be surprised if you missed one. I have a degree in CS and yes work in the field.
In terms of math almost all CS degrees programs I have seen is they require 15 hours of math min starting from Cal I. That is not counting the classes that are CS only math classes but that is just from the math department. I have something like 21 hours of math under my belt and the only one I have taken that was not required for my CS degree was Cal III.

Far to many people think CS is all about programming. Sorry to tell you but relatively little of the stuff is in programming. It is more theory and design standards. In school I did Java and C#. In near 1 year in the field I have not touch either of those languages. I have learn 2 others that I had no experience with and program in those.
Now the design standards I learned in school yeah those carry over but it not the programming that I pull on for that.

In the real world in software development you need to always be willing to learn what is new. As it stands I have 5 languages under my belt and can program in all of them and each time I learn a new one it gets easier as I have the others to pull from for little tricks and what terms to search for in the documentation. I learn the documentation quicker and how to read them better.

Now for a CS degree expect a LOT of math. Chances are you will earn an automatic minor. Only reason I lack one is because I did not have enough hours at either school to earn one but I have 21 hour of higher level math and that is not counting the 9 hours of leveling work I had to do just to get to Cal I.
Design standards from math? Or something else? So you really don't learn the languages while attending college? Just the stuff to make the language work? ie. it's the knife of the peanut butter + jelly sandwich or am I missing something? I know... it's a weird analogy.

----------

Yes, I enjoy my job. I am the type of person that after getting off work will go home and mess with code also. Mostly all small things related to my linux based servers, but code none the less.

I usually do it in spurts and my off work coding is heavier in the winter than summer. I tend to plan one "renovation" for my house each summer which consumes my time during those months.

Do you own a company or work for IT in a larger company?
 

ravenvii

macrumors 604
Mar 17, 2004
7,585
492
Melenkurion Skyweir
Design standards from math? Or something else? So you really don't learn the languages while attending college? Just the stuff to make the language work? ie. it's the knife of the peanut butter + jelly sandwich or am I missing something? I know... it's a weird analogy.

I couldn't answer for him, but in my case, I *do* learn programming. Java and C, mainly. However, what he's trying to say is that, generally, Java and C has diminishing usefulness in the 'real world', but remains excellent teaching tools, as they have most of the stuff you need to know about programming that you can use elsewhere. The idea is that once you grasp the concepts, you can easily learn the languages that are useful in the 'real world' yourself.

Languages and technology change too rapidly for education to keep up -- and they shouldn't keep up anyway, because it'll be out of date before you actually graduate, anyway.

Not the best analogy, but here goes: it's similar to if you learn Italian, you can learn French and Spanish easier, since they're all romance languages and have many similarities.
 

yg17

macrumors Pentium
Aug 1, 2004
15,027
3,002
St. Louis, MO
Yeah, you don't really learn the languages as much as you learn the theory. At my university, I learned the C++ basics in an intro to Comp Sci class but classes beyond it were more about theory (e.g, here's how something works. No go write an implementation in C++).

After switching to MIS, I took an Intro to Java class which was a joke (at least for someone who had C++ and other prior coding experience), IIRC, I got over a 100% in that class at the end of the semester thanks to extra credit. That class just taught basic syntax and didn't even scratch the surface of what Java can do - I learned all of that from on the job training and Google.

If you're looking at doing Comp Sci to learn a wide variety of different languages, you're going to be disappointed.
 

Rodimus Prime

macrumors G4
Oct 9, 2006
10,136
4
Design standards from math? Or something else? So you really don't learn the languages while attending college? Just the stuff to make the language work? ie. it's the knife of the peanut butter + jelly sandwich or am I missing something? I know... it's a weird analogy.


Sorry I hit 2 topics at once.
Schools teach you foundations. Good design standards and theory that are core to the foundations. That being OOP programming which can easily transfer between languages.
If you can only programming in one language you are useless. The key part is you need to be able to learn and understand the foundations of how to design software. Language is just syntax in the end for the most part. My electives were in C# because I wanted to strengthen my OOP principles and I saw it was wanted more in the field so I took the chance to learn it. I have not touch it were I work. I have done objective C (iOS) and then another one in a Language no one ever has heard of. I was coding pretty well in objective C with in 2 weeks. By the end of a month I was working on some pretty key parts of the software but the key part is my foundation in design theory was core.

A big part is just knowing how to code and think threw a problem logically.
 

Squilly

macrumors 68020
Original poster
Nov 17, 2012
2,260
4
PA
Can CompSci tie into App Development? I heard you can turn C# directly into Objective C with a program Apple has. So much work (math) to graduate) :/
 

yg17

macrumors Pentium
Aug 1, 2004
15,027
3,002
St. Louis, MO
Can CompSci tie into App Development? I heard you can turn C# directly into Objective C with a program Apple has. So much work (math) to graduate) :/

Why would you want to do that? Learn Objective C instead. It would be like moving to a foreign country that speaks a different language and always using Google Translate to communicate with everybody and never bothering to learn the native language.

I can almost guarantee you your college won't teach Objective C, at least not as an intro class (it may be offered as an upper level elective once you're in your later years there). But once you learn Java or C or C++ or whatever they start you off with, it's real easy to pick up another.
 

fireshot91

macrumors 601
Jul 31, 2008
4,721
1
Northern VA
Isn't Obj-C essentially just C anyways? :confused: (No, I don't know either. My extent goes to Java and HTML/CSS).


You were wondering about learning programming languages in college - Yes and no.


I'll use my Data Structures class as an example - It's a 2000 level class, and they teach, as the name implies, various data structures. The class focused on ways to store data, different implementations, how to make them, etc. However, it was already required that we knew the basics of Java for this class. In the class, the professor did not teach any Java other than "You were previously taught how to do x like this....it's wrong, this way is much more efficient ___".
Not to mention we also got into Android programming.

However, the things that I learned in the class (Data structures) will be useful in any language provided I know the other languages.
 

yg17

macrumors Pentium
Aug 1, 2004
15,027
3,002
St. Louis, MO
Isn't Obj-C essentially just C anyways? :confused: (No, I don't know either. My extent goes to Java and HTML/CSS).


You were wondering about learning programming languages in college - Yes and no.


I'll use my Data Structures class as an example - It's a 2000 level class, and they teach, as the name implies, various data structures. The class focused on ways to store data, different implementations, how to make them, etc. However, it was already required that we knew the basics of Java for this class. In the class, the professor did not teach any Java other than "You were previously taught how to do x like this....it's wrong, this way is much more efficient ___".
Not to mention we also got into Android programming.

However, the things that I learned in the class (Data structures) will be useful in any language provided I know the other languages.

And then you got out into the real world and realized that all of those data structures are already implemented in Java :p

It's like....yeah, I might know how to build a linked list thanks to my data structures class, but why in the hell would I write my own when there's a perfectly good implementation provided by Java written by people much smarter than me and has stood the test of time?
 

SilentPanda

Moderator emeritus
Oct 8, 2002
9,992
31
The Bamboo Forest
Can CompSci tie into App Development? I heard you can turn C# directly into Objective C with a program Apple has. So much work (math) to graduate) :/

While it's not a perfect analogy, think of computer languages like natural languages. If you know English and Spanish I can tell you the word for 'cat' is 'cat' in English and 'gato' in Spanish. I don't have to tell you what a 'cat' is or what a 'gato' is, just that they are similar. There are also words between languages that are mostly similar but have nuanced differences.

The same goes for programming languages. I can tell you in one language you might type 'something.substring(1)' and in another you might type 'substr(something, 1)'. I don't have to explain to you what a substring is because you already know from learning the first way. Likewise there are things across languages that are similar in concept but both nuanced between the languages.

That's what they teach you in computer programming. They teach you "here is a thing and we call it a cat and this is how it works". If you go to another language you find the thing most like a "cat" and learn the slight differences it might have. Some languages might have whole new areas you haven't seen before and others might lack areas you are used to. But most of the core stuff will be there and you should be able to make do. But they do have to teach you that it is a "cat" and that's why the school goes with a language. The language long term isn't generally too important, so long as you can communicate what a "cat" is to another person speaking the same language, in this case, the compiler/parser.

Clear...

as...

mud...

:p

----------

And then you got out into the real world and realized that all of those data structures are already implemented in Java :p

It's like....yeah, I might know how to build a linked list thanks to my data structures class, but why in the hell would I write my own when there's a perfectly good implementation provided by Java written by people much smarter than me and has stood the test of time?

Because they are general purpose utilities. They aren't written for your use case, they are written for a general use case. For the most part, a LinkedList will server you fine. But there may be instances where you need to write your own to meet some stricter requirements. It's also helpful to know how LinkedLists and ArrayLists work as each one has its own pros and cons depending on what you are most frequently doing with them. Even dumb stuff like a HashSet actually uses more memory than a HashMap. It's a very small amount more and I won't bore you with why, but it does. It's pretty insignificant in the grand scheme of things but if one were to guess, it makes more sense for it to be the other way around without knowing how they both work.
 

Squilly

macrumors 68020
Original poster
Nov 17, 2012
2,260
4
PA
While it's not a perfect analogy, think of computer languages like natural languages. If you know English and Spanish I can tell you the word for 'cat' is 'cat' in English and 'gato' in Spanish. I don't have to tell you what a 'cat' is or what a 'gato' is, just that they are similar. There are also words between languages that are mostly similar but have nuanced differences.

The same goes for programming languages. I can tell you in one language you might type 'something.substring(1)' and in another you might type 'substr(something, 1)'. I don't have to explain to you what a substring is because you already know from learning the first way. Likewise there are things across languages that are similar in concept but both nuanced between the languages.

That's what they teach you in computer programming. They teach you "here is a thing and we call it a cat and this is how it works". If you go to another language you find the thing most like a "cat" and learn the slight differences it might have. Some languages might have whole new areas you haven't seen before and others might lack areas you are used to. But most of the core stuff will be there and you should be able to make do. But they do have to teach you that it is a "cat" and that's why the school goes with a language. The language long term isn't generally too important, so long as you can communicate what a "cat" is to another person speaking the same language, in this case, the compiler/parser.

Clear...

as...

mud...

:p

----------



Because they are general purpose utilities. They aren't written for your use case, they are written for a general use case. For the most part, a LinkedList will server you fine. But there may be instances where you need to write your own to meet some stricter requirements. It's also helpful to know how LinkedLists and ArrayLists work as each one has its own pros and cons depending on what you are most frequently doing with them. Even dumb stuff like a HashSet actually uses more memory than a HashMap. It's a very small amount more and I won't bore you with why, but it does. It's pretty insignificant in the grand scheme of things but if one were to guess, it makes more sense for it to be the other way around without knowing how they both work.

Are they really that similar? With that example? Thanks for that btw.
 

yg17

macrumors Pentium
Aug 1, 2004
15,027
3,002
St. Louis, MO
Because they are general purpose utilities. They aren't written for your use case, they are written for a general use case. For the most part, a LinkedList will server you fine. But there may be instances where you need to write your own to meet some stricter requirements. It's also helpful to know how LinkedLists and ArrayLists work as each one has its own pros and cons depending on what you are most frequently doing with them. Even dumb stuff like a HashSet actually uses more memory than a HashMap. It's a very small amount more and I won't bore you with why, but it does. It's pretty insignificant in the grand scheme of things but if one were to guess, it makes more sense for it to be the other way around without knowing how they both work.

Yeah, I know there are reasons for learning that and needing to know the difference between the different data structures is important. Never had to write my own though, our application at work does some pretty advanced stuff and I can't think of an instance where the Collections library didn't offer what we needed.
 

prostuff1

macrumors 65816
Jul 29, 2005
1,482
18
Don't step into the kawoosh...
Do you own a company or work for IT in a larger company?

Actually a little of both.

My 8-5 job is working as a Programming Consultant for an IT Agency in Columbus, Ohio.

I also help run a server building business in my "spare time" (might as well plug the link since you asked something related).

The off hours programming mostly relate to stuff for the server(s) that I run in my home. I do some Objective-C dabbling but nothing serious at this point in time. I got some books for Christmas so will likely start reading those and messing around.
 

TedM

macrumors 6502
Sep 19, 2012
356
2
California
take a couple classes. I switched out of my comp sci major after a year. You can switch typically if you don't like something, but you might have to hang around extra time to graduate.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.