Hacker News new | ask | show | jobs
by lliwta 4333 days ago
Both of the statements in that link are just tautologies...

You can teach computer science without teaching coding. And you can write algorithms without testing them on a computer.

So the tautology that "you can't code if you can't code" isn't a particularly important pedagogical insight when it comes to teaching CS, since CS != coding.

> Of course it isn't a stumbling block, logical thinking is required for both, which would also explain why they are both difficult.

Right. And I'm saying that, in my experience teaching, it's better to teach CS and then let programming be something that kind of just falls out of that naturally, as opposed to focusing on programming itself.

1 comments

> Both of the statements in that link are just tautologies...

I do not understand, and there are four statements, not two.

> Right. And I'm saying that, in my experience teaching, it's better to teach CS and then let programming be something that kind of just falls out of that naturally, as opposed to focusing on programming itself.

Where did I say that the focus should purely be on programming?

> Where did I say that the focus should purely be on programming?

If you'd be okay with teaching a CS course without programming, we might be talking past one another.

> I do not understand, and there are four statements, not two.

I'm confused. Maybe you posted the wrong link?

Here are the two comments from the linked post:

> If you cannot code, you cannot check that your ideas work out on a computer.

This is only true when it just reduces to "if you cannot code, you cannot code".

Taken literally, the statement is just blatantly false. You could use a computer to figure out properties of your algorithm or for designing an algorithm without actually implementing and running the algorithm; e.g. for getting closed forms of sums, or for finding/verifying the convergent behavior of a series which the algorithm relies on.

So the statement really is only true if it's a tautology.

> I don't see how that relates to my comment, I specifically referred to 'writing' an algorithm, as in implementing the algorithm in code, not devising the algorithm in the first place.

'writing' an algorithm = implement the algorithm in code

So, substituting into your original statement:

"I fail to see how you could implement the algorithm in code if you don't know how to code."

which is a tautology.

> I'm confused. Maybe you posted the wrong link?

No, you're just confused. You mentioned the two statements in that link, but you have only described one. The other statement you referred to is from my original comment.

Do you have a point, or are you just being pedantic? That is, is there some essence of your position which I haven't adequately addressed? If so, what is that essence?

FWIW Your original statement is referentially transparent wrt the meaning of 'writing' an algorithm ("I specifically referred..."). You were clarifying what you meant by this phrase. So the substitution of your intended meaning into your original statement is justified; in fact, is the entire purpose of your clarification. Otherwise you're just giving a definition with absolutely no context or purpose.

> That is, is there some essence of your position which I haven't adequately addressed? If so, what is that essence?

That essence is something you and I have in common. I believe this thread sprouted because of how my original comment was interpreted. I think you are the first HN reader to actually give a decent word for word analysis of my comments. A lot of the time I just have to endure obvious misinterpretations, elaborations, misquotes or sometimes just plain fabrications. It's good to come across someone who takes time to read boring old English.