63 votes
Accepted

Why do computer-science majors learn calculus?

There are several answers: Answer 1: Not all CS programs First, not all CS programs require calculus in order to get a bachelor's degree. The Bachelor of Arts (BA) program at Mills College, where I ...
51 votes

Why do computer-science majors learn calculus?

It's certainly of little use in CS fields which centre on databases, OSes, general PC applications, and anything like that. It's somewhat important in CS fields relating to data transmission. Whilst ...
  • 1,072
26 votes

Why do computer-science majors learn calculus?

In addition to good answers given, some others. Plenty of computer scientists do use calculus, and other important math. It's good general mathematical training, which is helpful to learn to think ...
  • 361
24 votes

Why do computer-science majors learn calculus?

While it's true that today not all CS programs require calculus, I believe the answer to this question will change due to trends in Machine Learning and Data Science. First, many topics in Machine ...
  • 341
21 votes
Accepted

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

I actually cover this idea in my very first lesson in AP Computer Science, because I have found that students find the different uses of = to be confusing, indeed. ...
  • 31.7k
16 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

When I have taught this, I have said that = in programming is just a different thing to = in maths. It's unfortunate that ...
15 votes

Why do computer-science majors learn calculus?

Much of the material one learns in school has no direct utility in one's job as a software engineer. Conversely, much of the working knowledge one needs as an industry practitioner is not gained in ...
  • 458
12 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

If your students are coming from a math background, teach them that in most programming languages, all variables have a hidden subscript on them corresponding to a time/step-number (i.e. they're ...
12 votes

Why do computer-science majors learn calculus?

This isn't really an answer, but I'd like to say a few things about calculus. I think that what is needed by a CS major from that realm and what is needed by a math major are very different. As such, ...
  • 35.1k
8 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

I'm going to explore an orthogonal concept that sheds light on the question at hand: What is a variable? In mathematics a variable is a representative for some value, a name. It may be a name for ...
  • 35.1k
7 votes

Teaching "CS integer" vs. "math integer"

This might be an interesting way to do it, but here goes. Give your students a blank sheet of paper. Have them write out "3". Then have them write out $2^{10^{1000}}$. Most will probably stare at you ...
  • 4,684
7 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

When and how should the differences be pointed out to students? When: As soon as you introduce one of those operators... On the "how" - I'd try to not beat around the bush, so to speak, but to point ...
  • 1,379
7 votes

How far do you take modular expressions?

A specific example that I've used the mod operator before for (and have seen it used in production code this way) is to represent a higher dimensional array (usually 2D, but higher is possible) as a ...
6 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

All of the below is meant to be thoughts/analogies/illustrations to help explain the difference (meant to be said to students) but in reality, this is all dependent on the level of your students. The ...
  • 4,684
6 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

I don't teach CS in any official capacity but I have tutored a number of friends and colleagues on the basics. I find that differentiating the language I use when describing the different concepts ...
  • 171
6 votes

Why do computer-science majors learn calculus?

There are many good answers here, but ultimately your question comes down to, "Why does A require X, when my dad was B for many years." Software engineering is not a field that only seeks out ...
6 votes
Accepted

why programming languages does not have factorial function?

Most programming languages don't have any built-in functions and such additional functions are provided by "standard library" of sorts. This answer addresses why factorial is unlikely to be ...
5 votes
Accepted

Should students be taught to be first and foremost: scientists or mathematicians?

This answer addresses something very different from the other answer I posted on this question, which is why it merits its own answer: Almost every field in computer science is built on some ...
  • 6,227
5 votes
Accepted

Avoiding confusion about precedence

Actually, your tree explanation is fine, except that it is the low precedence operators closer to the root. In Java, the "." operator is the strongest/highest and the assignment operators are the ...
  • 35.1k
5 votes

Why do computer-science majors learn calculus?

Given all the answers, I'm kind of surprised I didn't see anyone mention this, but... Back in the 80's when I was taking CS (and likely somewhat in the vicinity of when your father took it), ...
  • 357
5 votes

Discrete function is also a math function?

Focus on the idea that the sets can be finite. They don't need to be defined by a formula. Any set of ordered pairs is a relation. If there is a unique second element for any given first element then ...
  • 35.1k
5 votes
Accepted

Software development vs universities and scientific papers

Short answer: yes. Disclaimer: I'm an Associate. Pr. of Computer Science in a University in France. We have several undergraduate and graduate programs that lead to bachelor and master's degree of ...
4 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

I would generalise this, because other symbols and terminology are also affected (">" or textual statements such as commands). Start by explaining that symbols and terms in each language have ...
  • 211
4 votes

How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

I've not tried the following, so I'm unable to vouch for their effectiveness, but if you're looking for suggestions: Avoid assigning variables directly (i.e. x = y) Hide the implementation in ...
4 votes

Avoiding confusion about precedence

You can use an analogy of priority queues (maybe a hospital, if it isn't too gruesome; perhaps a queue for ordering work tasks) A nurse doesn't need a patient to have some indicator that they are ...
  • 6,227
4 votes

Should students be taught to be first and foremost: scientists or mathematicians?

They should be taught first and foremost to be computer scientists. This is a bit like asking Should biologists be taught first and foremost to be physicists or chemists? Neither. Biology has ...
  • 4,684
4 votes

Should students be taught to be first and foremost: scientists or mathematicians?

CS is neither Maths nor Science. Therefore teaching them as if one or the other is probably misplaced. Maths are about understanding and advancing certain logical mental models. It uses abstraction ...
  • 35.1k
4 votes

Why do computer-science majors learn calculus?

Despite more than 30 years of programming professionally I have yet to use calculus for work. Does that mean it was a waste? No--my observation from school is that you only truly learn the material ...
4 votes

Discrete function is also a math function?

Actually they are not the same thing at all. In mathematics a function consists of a univalent map between a domain and a range this is a subset of a cartesian product or just as you have described, a ...

Only top scored, non community-wiki answers of a minimum length are eligible