Their analysis in terms of chess pieces also helps: <a href="https://code.google.com/codejam/contest/3264486/dashboard#s=a&a=3" rel="nofollow">https://code.google.com/codejam/contest/3264486/dashboard#s=...</a>
I was also confused about algorithmic skill and software engineering skills. But I got clarification after working in industry for a while.<p>1) Most of the software engineering work is product development, just wrapping already existing algorithm and optimized computer program into apis and test and maintain it.<p>2) There are very few software engineering work involving writing algorithm and optimized computer program.<p>One example, everyone here might have just used mysql database. But if you look into the code, you might see there are complex data structure, and algorithm are being used.<p><a href="https://github.com/mysql/mysql-server" rel="nofollow">https://github.com/mysql/mysql-server</a><p>Its a good thing to solve these kind of algorithmic problems.
Now I just need to understand flow networks: <a href="https://en.m.wikipedia.org/wiki/Flow_network" rel="nofollow">https://en.m.wikipedia.org/wiki/Flow_network</a>