<p>It doesn't do ranking in any manner, but <a href="https://codingbat.com/" rel="nofollow noreferrer">CodingBat</a> permits you to create challenges with tests for your class in either Python or Java.</p>

<p>While the interface begins assuming that you will have one method, you can add as many methods as you wish.  However, you are limited to one class (so no inner classes), and you are forbidden Exceptions, so the projects would have to be fairly small in scope.</p>

CC BY-SA 4.0
2020-02-20T13:35:38.537Z
I guess I'd be very worried about the restrictions. They would seem to push one toward writing terrible code just to meet them. A program in Java with just one class is pretty much just a C program. This might be fine for the first week of class, I suppose.
Buffy
CC BY-SA 4.0
2020-02-20T16:05:01.923Z
@Buffy The program itself is supposed to be a lot of basic practice at writing tiny methods.  Basically, a way to build fluency for people who are having a lot of trouble.
Ben I.
CC BY-SA 4.0
2020-02-20T22:02:27.400Z
I think this kind of online system where code is judged by returning the right output for certain inputs is most suited for algorithmic problem-solving. For OOP tasks where you have to write a few classes with some simple methods, having the correct output for each input to one method doesn't mean that the rest of the classes or methods are implemented correctly. At the very least, writing sufficiently good tests for OOP exercises is harder and requires a more powerful format for tests to be written in.
kaya3
CC BY-SA 4.0
2020-02-21T04:01:13.500Z
@kaya3 I agree entirely.
Ben I.
CC BY-SA 4.0
2020-02-20T13:21:30.780Z
2020-02-20T13:21:30.780Z
Ben I.
<p>I've seen many platforms that allow companies to interview prospective developers by means of coding challenges, but those are always paid.</p>

<p>So I'm trying to find some tool where I can create my own exercises and test cases and tell my students to go solve the challenge and see if their code passes all tests, and then maybe get a rank list of whose code has better performance (in order to make it look like a "competition").</p>

<p>In the past I tried to host a contest through Hackerrank but it was too cumbersome and there was no way to hide lots of auto-generated code that would just confuse my students.</p>

<assessment>
Is there a free platform to host coding challenges within a class?
# Is there a free platform to host coding challenges within a class?

(Asked by: username_0 on 2020-02-19)

I've seen many platforms that allow companies to interview prospective developers by means of coding challenges, but those are always paid.

So I'm trying to find some tool where I can create my own exercises and test cases and tell my students to go solve the challenge and see if their code passes all tests, and then maybe get a rank list of whose code has better performance (in order to make it look like a "competition").

In the past I tried to host a contest through Hackerrank but it was too cumbersome and there was no way to hide lots of auto-generated code that would just confuse my students.

**Tags:** assessment


---

## 1 answers

### Answer by username_1 on 2020-02-20. Score: 4

It doesn't do ranking in any manner, but [CodingBat](https://codingbat.com/) permits you to create challenges with tests for your class in either Python or Java.

While the interface begins assuming that you will have one method, you can add as many methods as you wish. However, you are limited to one class (so no inner classes), and you are forbidden Exceptions, so the projects would have to be fairly small in scope.

> **Comments:**
> **username_2**: I guess I'd be very worried about the restrictions. They would seem to push one toward writing terrible code just to meet them. A program in Java with just one class is pretty much just a C program. This might be fine for the first week of class, I suppose.  
> **username_1**: @username_2 The program itself is supposed to be a lot of basic practice at writing tiny methods.  Basically, a way to build fluency for people who are having a lot of trouble.  
> **username_3**: I think this kind of online system where code is judged by returning the right output for certain inputs is most suited for algorithmic problem-solving. For OOP tasks where you have to write a few classes with some simple methods, having the correct output for each input to one method doesn't mean that the rest of the classes or methods are implemented correctly. At the very least, writing sufficiently good tests for OOP exercises is harder and requires a more powerful format for tests to be written in.  
> **username_1**: @username_3 I agree entirely.  

---

