This is the sixth bimonthly 'What are you working On?' thread. Previous threads are here. So here's the question:
What are you working on?
Here are some guidelines:
- Focus on projects that you have recently made progress on, not projects that you're thinking about doing but haven't started.
- Why this project and not others? Mention reasons why you're doing the project and/or why others should contribute to your project (if applicable).
- Talk about your goals for the project.
- Any kind of project is fair game: personal improvement, research project, art project, whatever.
- Link to your work if it's linkable.
I'm not saying that knowing this stuff is completely unimportant, but rather than using knowledge of algorithms as a rough signal of someone's ability to do their (non-algorithms-related) job, it's better to measure it more directly.
Firstly, how can we do that ? There's no way we can grant each candidate an evaluation period that lasts two or three monhts -- which is what it'd take to measure his performance directly. So, we need some heuristics.
Secondly, "is the candidate CS-literate at all" is just the kind of heuristic that we can use for this. And, IMO knowing about binary search (not necessarily by name, especially if the candidate is not a native English speaker) is a great test for this heuristic. It's pretty much the CS equivalent of "can you form words into sentences".