Go Back   MacRumors Forums > Mac Community > Community Discussion

Reply
 
Thread Tools Search this Thread Display Modes
Old Jan 7, 2013, 03:37 PM   #26
jav6454
macrumors G5
 
jav6454's Avatar
 
Join Date: Nov 2007
Location: 1 Geostationary Tower Plaza
Quote:
Originally Posted by Squilly View Post
I'm decent at Algebra, not so decent at geometry.
You need to be a good Abstract thinker when programming.
__________________
Al MacBook 2.4GHz Late '08 | 5 S⃣ | Macross Click Me
jav6454 is offline   0 Reply With Quote
Old Jan 7, 2013, 03:39 PM   #27
Rodimus Prime
Banned
 
Join Date: Oct 2006
Quote:
Originally Posted by Squilly View Post
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...[COLOR="#808080"]
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.

----------

Quote:
Originally Posted by Squilly View Post
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.
Rodimus Prime is offline   0 Reply With Quote
Old Jan 7, 2013, 04:22 PM   #28
ravenvii
macrumors 604
 
ravenvii's Avatar
 
Join Date: Mar 2004
Location: 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!
__________________
59 6F 75 20 73 70 6F 6F 6E 79 20 62 61 72 64 21
ravenvii is offline   1 Reply With Quote
Old Jan 7, 2013, 04:27 PM   #29
Squilly
Thread Starter
macrumors 68020
 
Squilly's Avatar
 
Join Date: Nov 2012
Location: PA
Quote:
Originally Posted by Rodimus Prime View Post
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.?

----------

Quote:
Originally Posted by ravenvii View Post
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!
Thanks for the input. The "I didn't know any languages before this" portion sounds a lot like me, lol.
Squilly is offline   0 Reply With Quote
Old Jan 7, 2013, 04:28 PM   #30
prostuff1
macrumors 65816
 
prostuff1's Avatar
 
Join Date: Jul 2005
Location: Don't step into the kawoosh...
Quote:
Originally Posted by Squilly View Post
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.
__________________
Vista: It's the blond version of OS's; pretty and fun, just... not functional for everything
prostuff1 is offline   0 Reply With Quote
Old Jan 7, 2013, 04:30 PM   #31
Squilly
Thread Starter
macrumors 68020
 
Squilly's Avatar
 
Join Date: Nov 2012
Location: PA
Quote:
Originally Posted by Rodimus Prime View Post
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.

----------

Quote:
Originally Posted by prostuff1 View Post
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?
Squilly is offline   0 Reply With Quote
Old Jan 7, 2013, 04:36 PM   #32
ravenvii
macrumors 604
 
ravenvii's Avatar
 
Join Date: Mar 2004
Location: Melenkurion Skyweir
Quote:
Originally Posted by Squilly View Post
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.
__________________
59 6F 75 20 73 70 6F 6F 6E 79 20 62 61 72 64 21
ravenvii is offline   0 Reply With Quote
Old Jan 7, 2013, 04:50 PM   #33
yg17
In Time-Out
 
Join Date: Aug 2004
Location: 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.
yg17 is offline   0 Reply With Quote
Old Jan 7, 2013, 05:03 PM   #34
Rodimus Prime
Banned
 
Join Date: Oct 2006
Quote:
Originally Posted by Squilly View Post
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.[COLOR="#808080"]
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.
Rodimus Prime is offline   0 Reply With Quote
Old Jan 7, 2013, 06:28 PM   #35
Squilly
Thread Starter
macrumors 68020
 
Squilly's Avatar
 
Join Date: Nov 2012
Location: 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) :/
Squilly is offline   0 Reply With Quote
Old Jan 7, 2013, 06:35 PM   #36
yg17
In Time-Out
 
Join Date: Aug 2004
Location: St. Louis, MO
Quote:
Originally Posted by Squilly View Post
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.
yg17 is offline   0 Reply With Quote
Old Jan 7, 2013, 08:07 PM   #37
fireshot91
macrumors 601
 
fireshot91's Avatar
 
Join Date: Aug 2008
Location: Northern VA
Isn't Obj-C essentially just C anyways? (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.
__________________
MacRumors Scavenger Hunt score: 3
fireshot91 is offline   0 Reply With Quote
Old Jan 7, 2013, 08:27 PM   #38
yg17
In Time-Out
 
Join Date: Aug 2004
Location: St. Louis, MO
Quote:
Originally Posted by fireshot91 View Post
Isn't Obj-C essentially just C anyways? (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

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?
yg17 is offline   0 Reply With Quote
Old Jan 7, 2013, 08:34 PM   #39
SilentPanda
Moderator emeritus
 
SilentPanda's Avatar
 
Join Date: Oct 2002
Location: The Bamboo Forest
Quote:
Originally Posted by Squilly View Post
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...



----------

Quote:
Originally Posted by yg17 View Post
And then you got out into the real world and realized that all of those data structures are already implemented in Java

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.
__________________
My 24 hour web cam! ʕノᴥʔノ ︵ ┻━┻
And remember.
SilentPanda is offline   0 Reply With Quote
Old Jan 7, 2013, 10:19 PM   #40
Squilly
Thread Starter
macrumors 68020
 
Squilly's Avatar
 
Join Date: Nov 2012
Location: PA
Quote:
Originally Posted by SilentPanda View Post
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...



----------



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.
Squilly is offline   0 Reply With Quote
Old Jan 7, 2013, 11:02 PM   #41
yg17
In Time-Out
 
Join Date: Aug 2004
Location: St. Louis, MO
Quote:
Originally Posted by SilentPanda View Post
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.
yg17 is offline   0 Reply With Quote
Old Jan 8, 2013, 11:26 AM   #42
prostuff1
macrumors 65816
 
prostuff1's Avatar
 
Join Date: Jul 2005
Location: Don't step into the kawoosh...
Quote:
Originally Posted by Squilly View Post
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.
__________________
Vista: It's the blond version of OS's; pretty and fun, just... not functional for everything
prostuff1 is offline   0 Reply With Quote
Old Jan 8, 2013, 02:11 PM   #43
TedM
macrumors 6502
 
Join Date: Sep 2012
Location: 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.
__________________
http://www.yourpoetic.com/
TedM is offline   0 Reply With Quote


Reply
MacRumors Forums > Mac Community > Community Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
IST vs Computer Science Squilly Community Discussion 39 Sep 6, 2014 03:12 PM
MBA for Computer Science sflomenb MacBook Air 5 Jun 11, 2013 05:49 PM
Computer Science Degree? TheAngusBurger Mac Programming 22 Apr 29, 2013 08:38 PM
Computer Science course for iMac Buffsteria iMac 15 Sep 26, 2012 07:17 AM
Computer Science major hudsonab MacBook Air 12 Jul 1, 2012 02:37 PM

Forum Jump

All times are GMT -5. The time now is 12:47 AM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC