I'm decent at Algebra, not so decent at geometry.
You need to be a good Abstract thinker when programming.
I'm decent at Algebra, not so decent at geometry.
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...
I'm decent at Algebra, not so decent at geometry.
So you don't actually learn how to code while in school? Just use the theorems, etc.?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.
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!
I'm decent at Algebra, not so decent at geometry.
Do you like CS?
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.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.
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.
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.
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.
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) :/
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.
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) :/
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?
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.
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.
Do you own a company or work for IT in a larger company?