Monday, May 11, 2015

Programming contest related sites

This is a compilation of resources for my son who has just started learning programming at the age of 7. 
  1. Timus Online Judge
  2. Topcoder algorithms tutorials
  3. Data structures and algorithms links
  4. Sphere Online Judge
  5. USA Computing Olympiad and Training 
  6. International Olympiad in Informatics
  7. UVA Online Judge
  8. Sites with programming problems to practice with:
    1. https://codility.com/programmers/lessons/
    2. http://codeforces.com/ 
    3. http://e-maxx.ru/algo/
    4. http://www.codechef.com/
    5. https://www.hackerrank.com
    6. http://www.topcoder.com/
    7. https://projecteuler.net/archives 
    8. http://icpcres.ecs.baylor.edu/worldfinals/problems
  9. Bios of programmers who have won in programming contests:
    1. http://www.quora.com/Gennady-Korotkevich and http://en.wikipedia.org/wiki/Gennady_Korotkevich 
    2. http://www.quora.com/Richard-Peng-1 
    3. http://www.quora.com/Mark-Gordon-6
    4. http://www.quora.com/Jacob-Plachta
    5. http://www.quora.com/Brian-Bi
    6. http://www.quora.com/USA-Computing-Olympiad-USACO
    7. http://www.quora.com/ACM-ICPC-1
    8. http://www.quora.com/Competitive-Programming 
  10. Video:
    1. http://www3.cs.stonybrook.edu/~algorith/video-lectures/
    2. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/ 
  11. Blogs and Articles:
    1. http://tcnickolas.blogspot.com/2015/03/cognitive-biases-in-competitive.html 
    2. http://www.quora.com/How-does-one-prepare-for-the-IOI-Aiming-for-gold
    3. http://web.stanford.edu/~liszt90/acm/notebook.html
    4. http://zobayer.blogspot.in/
    5. http://comproguide.blogspot.in/
    6. http://petr-mitrichev.blogspot.com/

Advice: 
If I am to start programming now, I would do it this way
  1. Solve 200 most solved problems on SPOJ or UVA, Problem by problem. In 2 months.
    (This will teach all standard problems, algorithms and implementation skills)
  2. Solve problems from CodeChef and CodeForces for 2 months.
    (This will teach variations, we can read others solutions and learn better ways. Skip easy problems)
  3. Solve problems from TopCoder for 2 months.
    (This will teach  Dynamic Programming. Div 1 500p)
  4. Check past ACM ICPC Regional's Problems
    (Great quality problems)

No comments:

Popular micro services patterns

Here are some popular Microservice design patterns that a programmer should know: Service Registry  pattern provides a  central location  fo...