Days before, Professor Huang told me that he was going to open two new courses about Python (Python Programing) and Haskell (Programming Language) in Queens College and Graduate Center of City University of New York. Liang was a genius in Algorithm Coding Competitions (I think every students who attended ACM-ICPC, OI or Topcoder in China know him since he is one of the authors of the famous ‘Black-Book’) I was also a ACMer. During the competitions, we were both gained much from practice coding on Online Judges. So he wanted to know which OJs support Python and Haskell, so that he coud ask his students to train themselves on them.
I list some OJs below that I know that support these two languages. If you know others, tell me, please 😀
Timus Online Judge: supports C, C++, C#, Pascal, Go, Python, Ruby, Haskell, Scala; This is one of the best OJs; from Russian; Old; very hard.
Zejiang University Online Judge: supports C/C++, Python and Scheme.
Codeforces: supports many languages, traditional ones, and Haskell, Python, Ocaml, Scala, Go; a combination of OJ and Topcoder; from easy problems to very hard ones.
Topcoder: a famous competitive algorithm platform, they hold SRM (single round match) almost every week; supports C++, Java, Python.
HackerRank: supports traditional languages, and Erlang, Groovy, JS, Haskell, Lua, PHP, Python, Scala; a famous Indian OJ, mainly for job seekers.
There are also two new kind of OJs, Project Euler and Rosalind. Each of their problems provides a input file. You could write your program on your computer by any languages, run on the input file and then submit an output file. What’s more interesting, problems in Project Euler are all math problems while problems from Rosalind are all from BioInfo domain. You could learn new knowledge from other domains while doing coding practice.
Last but not least, Python Challenge is an awesome place to train tricky skills in Python.