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 and 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; Easy problems to very hard problems.
HackerRank: supports traditional ones and Erlang, Groovy, JS, Haskell, Lua, PHP, Python, Scala; a famous India OJ, mainly for finding jobs.
There are also two new kind of OJs, Project Euler and Rosalind. Each of their problems provide a input file. You could write your program on your computer by any languages, run on the input file and then submit output files. What’s more interesting, problems in Project Euler are all mathematical problems while problems from Rosalind are all BioInfo problems. 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