I might be interested in CS... help?

<p>aegris is absolutely right, the math in CS is unfamiliar to most people, it’s not always the algebra/pre-calc/calc type of math from high school that people think of when they think of math. Most people have never heard of graph theory or algorithm analysis or set relations, most of this “discrete math” is not taught in high schools in this country.</p>

<p>But I’d say good ol’ “traditional” math is absolutely necessary for CS grads up to the pre-calc level. Why? High school algebra and pre-calc skills go hand-in-hand with being good at thinking abstractly. Studying programming as a teen made algebra “click” for me because they are alike, it made me “get” functions to study functions in programming.</p>

<p>And a pre-calc level of math is important for algorithm analysis, you need to know how polynomials, exponentials, and logarithms behave, their properties, how to do algebra with them, etc.</p>

<p>But actual differential and integral calculus isn’t a part of CS, they only make you study it to weed out non-hackers and to bolster your algebra/mathematical abstraction skills (which as I said are important for CS). You only need differential and integral calc for CS if you’re doing software that actually requires it, like a physics or engineering simulation, or graphics, etc. Anything cool, really. It has its applications in CS, but it’s not fundamental the way discrete math or algebra or formal languages are.</p>

<p>Which programming language should I start learning?
As I told I have 0 experience and I would like to try to learn the basics from the Internet.
Please recommend me some online courses/pages to learn the basics of programming and tell me which language is the best to start.
Thanks.</p>

<p>Try learning Python to start with. My son began that way (when he was around 13), and pretty much learned on his own. He found that all that experience helped him a lot when he started with Java last year, the concepts mapped pretty nicely.</p>

<p>BTW, on “what’s CS”, it’s a bit like those blind guys with an elephant: people will describe the aspects they know. Figure out what you are good at, and what you enjoy (hopefully they are closely aligned). You’ll find a worthwhile and successful career around that nexus.</p>

<p>Second cheer for Python. Avoid BlueJ (for Java), Eclipse is more complex but worth the effort.</p>

<p>Codeacademy, khan academy, and thenewboston all have some great resources for learning on your own. Check out Code.org also</p>