Skip to main content

Questions tagged [didactics]

Didactic tools and methods particularly suitable for Computer Science education

Filter by
Sorted by
Tagged with
0 votes
0 answers
76 views

Why do I always have something missing in my understanding of topics which always lead me to solve problems incorrectly?

I am a computer science masters student, I come from a background of engineering and not CS. My problem is whenever I have a problem set, a programming task or an exam, I always try hard to understand ...
markeb's user avatar
  • 11
5 votes
2 answers
279 views

How to teach abstraction needed for programming?

I experience that my students are fixed to compute with concrete values and are not keen to think in terms of general solution like creating a mathematical function $f(n)$ , needed to write ...
Gergely's user avatar
  • 379
3 votes
0 answers
198 views

A case study for search techniques in AI

We are teaching an artificial intelligence class and we need a different case study other than geographical maps (the popular example is the map of Romania) to explain the difference between Breadth-...
Muaad ElSharif's user avatar
8 votes
3 answers
7k views

How to memorize Master Theorem?

I know the maths behind, I know if I do the algebra I can get the result of the 3 cases. I also have an intuition of the 3 cases: Quora However, I just cannot memorize this "simple" 3 cases whenever ...
shole's user avatar
  • 1,200
1 vote
2 answers
998 views

How to denote an array in writing paper

How can I represent an array when I am writing to show an algorithm in writing paper. Like Pi is represented by Greek letter. We use that Greek symbol to denote the value of Pi, Kind of like a pointer....
Randomizer420's user avatar
5 votes
2 answers
67 views

Need help understanding a derivation of "witnesses" for a Landau bound

So here's an excerpt from Foundations of Computer Science by Alfred Aho and Jeffrey Ullman[1]. I've also found basically the same material in a few other places, and also in my discrete math textbook, ...
greim's user avatar
  • 159
35 votes
2 answers
3k views

on "On the cruelty of really teaching computing science"

Dijkstra, in his essay On the cruelty of really teaching computing science, makes the following proposal for an introductory programming course: On the one hand, we teach what looks like the ...
Matthew Towers's user avatar
101 votes
5 answers
10k views

What are the reasons to learn different algorithms / data structures serving the same purpose?

I have been wondering about this question since I was an undergraduate student. It is a general question but I will elaborate with examples below. I have seen a lot of algorithms - for example, for ...
shole's user avatar
  • 1,200
6 votes
4 answers
182 views

A metaphor for recursive enumerability

In his commentary on a case involving pornography in 1964, U.S. Supreme Court Justice Potter Stewart sidestepped the question of defining what it meant for a work to be pornographic, but then said "I ...
Rick Decker's user avatar
  • 14.9k
1 vote
0 answers
49 views

Markov algorithm: pick rule first, then position, or the other way around?

A Markov algorithm is a string rewriting system (well, not a set of rules but a list of rules since they need to be ordered) with a strategy for applying rules that ensures determinism. I think the ...
d8d0d65b3f7cf42's user avatar
15 votes
6 answers
8k views

What parts of linear algebra are used in computer science?

I've been reading Linear Algebra and its Applications to help understand computer science material (mainly machine learning), but I'm concerned that a lot of the information isn't useful to CS. For ...
Kelmikra's user avatar
  • 726
4 votes
2 answers
1k views

What's the big deal with the knapsack problem?

In my CS course, we are covering things from one topic to another in sort of a sensible manner. For example, binary search tree -> 234-tree -> red-black tree -> heap -> greedy algorithms -> dynamic ...
Olórin's user avatar
  • 859
9 votes
4 answers
5k views

Teaching Recursion

I'm a teacher assistant in my university and my next topic is recursion. what way is the best to teach recursion so that the student can grasp the concept easily and can think recursively? I was ...
Amen's user avatar
  • 173
129 votes
15 answers
16k views

How to fool the "try some test cases" heuristic: Algorithms that appear correct, but are actually incorrect

To try to test whether an algorithm for some problem is correct, the usual starting point is to try running the algorithm by hand on a number of simple test cases -- try it on a few example problem ...
D.W.'s user avatar
  • 162k
4 votes
2 answers
197 views

what would be the drawbacks of lecturing two programming languages simultaneously?

One colleage came with the idea/comment that it would be useful to lecture two programming languages, eg. Java and Scheme, at the same time while lecturing an Introduction to Programming course aimed ...
Layla's user avatar
  • 413
11 votes
1 answer
457 views

Tips for teaching using Live Coding

I am involved in a first year programming and algorithms course. In a recent lecture, I decided to present the material using live coding, which essentially meant that I sit behind the keyboard and ...
Dave Clarke's user avatar
  • 20.2k
31 votes
3 answers
10k views

Teaching NP-completeness - Turing reductions vs Karp reductions

I'm interested in the question of how best to teach NP-completeness to computer science majors. In particular, should we teach it using Karp reductions or using Turing reductions? I feel that the ...
D.W.'s user avatar
  • 162k
3 votes
1 answer
1k views

How to represent OOP concepts in algorithms in a standard way?

I have usually been using the Cormen algorithm format to teach some introductory courses in Programming. I mean something like this: ...
Layla's user avatar
  • 413
5 votes
9 answers
19k views

Explaining why FFT is faster than DFT for the general public?

How would you explain why the Fast Fourier Transform is faster than the Discrete Fourier Transform, if you had to give a presentation about it for the general (non-mathematical) public?
user1095332's user avatar
15 votes
4 answers
10k views

Quicksort explained to kids

Last year, I was reading a fantastic paper on “Quantum Mechanics for Kindergarden”. It was not easy paper. Now, I wonder how to explain quicksort in the simplest words possible. How can I prove (or ...
Jonathan Prieto-Cubides's user avatar
25 votes
4 answers
3k views

How to fool the plot inspection heuristic?

Over here, Dave Clarke proposed that in order to compare asymptotic growth you should plot the functions at hand. As a theoretically inclined computer scientist, I call(ed) this vodoo as a plot is ...
Raphael's user avatar
  • 72.7k
15 votes
3 answers
4k views

Logic gates from everyday materials

Logic gates are an abstract device which can be implemented with electromagnetic relays, vacuum tubes, or transistors. These implemenations have been successful in computing in part because of ...
Jason Kleban's user avatar
20 votes
4 answers
9k views

What is an intuitive way to explain and understand De Morgan's Law?

De Morgan's Law is often introduced in an introductory mathematics for computer science course, and I often see it as a way to turn statements from AND to OR by negating terms. Is there a more ...
Ken Li's user avatar
  • 3,088