Write your question here.
I see many people say after you are fammiliar with the basics of C++ you should go on the more advanced topics in the realms of C++ but what are those "advanced topics" can you list some of them
It would depend on the knowledge of each person what is considered advanced. For some advanced could be classes, some could be 2d graphics, some could be 3d graphics. For someone just starting out, advanced could be boost, some standard libraries, or even control structures. Normally the basics refer to control flow, basic I/O, functions, program structure, variables, data types, constants, operators, pointers, arrays, containers, etc.
After you have the basics, learn MATH. Everything inside of a computer is math, and nowhere more so than in the little black boxes (applications) that make the computer tick!
Computer science is all about discrete mathematics. Continuous mathematics, such as calculus, analysis, etc., won't help you much unless you're writing programs that need them.
Sorry, bro. Calculus is the jumping off point to everything else. You need calculus; almost all of calculus. Then you need to know how to write proofs. Once you've got those two down, it would be a really good idea to study discrete mathematics, and then get some advanced math topics related specifically to what you plan on doing. Like maybe vector analysis if you plan on drawing vector graphics, or advanced computational mathematics if you want to help figure out pi to the ten billionth decimal place.
Dude, read the post before you start pissing and moaning about it. I didn't say that discrete is the same as calculus, and if you think all that calculus is is integration and differentiation, then you've missing a HUGE amount of the topic. A LOT of computer work is continuous mathematics, because that's what iterative structures are. Further, I didn't say to learn proofs in calculus. I said to learn proofs after calculus. The idea that only discrete mathematics matter is ludicrous. Only someone working with threading or machine-level control would use it on a daily basis. Yes, threading is becoming a HUGE part of the deal; that's why I said that it's important to know about it.
But here, just to humour you, how does knowing how to integrate help you manage computer memory?
Well, if you actually knew anything about calculus, then you would know that the basic definition of an integral is the SAME THING as a decrementing for loop, and if you know how to manipulate the math behind it, then you might not even NEED the for loop, and you could possibly turn out a piece of code in O(n) instead of O(n^2) like the rest of the moppets that you work with. Oh, but wait...there's more. Ever heard of L'Hopital? Of course you haven't! You don't know the definition of an integral! But here, I'll give you a hint. The idea behind the math involved in algorithm analysis is based on L'Hopital's rule. You know...the one that requires you to know calculus?
Advanced topics will depend on the individual. Find something that Challenges your logic skills, syntax is the easy part. i think design patterns are advanced.
I said calculus deals mostly with integration and differentiation.
Iterative structures are discrete, not continuous, entities.
I said computer science is fundamentally about discrete mathematics because there's no such thing as an irrational memory address (to name one thing).
Essentially, an integral represents either an area or an anti-derivative, not a loop. Your assertion that an integral and a loop are the same thing is akin to me saying a loop and a wheel are the same thing.
Now, to humor you, use l'Hôpital's rule to turn this O(n2) algorithm into an O(n) one:
1 2 3 4 5 6 7 8 9 10 11
void sort(int a[], int size)
{
for (int i = 0; i < size - 1; i++)
for (int j = i + 1; j < size; j++)
if (a[i] > a[j])
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
Unlike you, I'm not talking out of my ass. I hold two degrees in computer science and applied math.
Degrees from where? If you knew anything about what you just challenged me, then you would know that L'Hopital's rule is an evaluation tool. You would also know that L'Hopital's rule represents the derivatives of two functions in relation to each other.
And an integral doesn't represent an area, except in the context that you can find an area by representing a sum of various different types, the most basic being a sigma sum or riemann sum, with a width of each iteration of the sum being equal to the limit as k approaches zero of that sum.
But guess what?
The limit part can be taken out, so now you have the limit as k approaches 0 of the sigma sum from k = 0 to n of f(k). Which can be rewritten as the limit as i approaches zero of the loop of for( i =0; i <= n; ++i).
Any of this ringing bells, mr applied math degree? This is freshmen level math, by the way. If you hold two degrees in computer science OR math, I would wager my car against a hot pocket that you got them from UoP.
But since you have yet to say anything actually honest about your knowledge, and you have decided to look up L'Hopital on wikipedia and copy his name in here without actually understanding the concept, and furthermore, you don't actually understand what an integral really is, I don't think I'm going to entertain this conversation any longer.