You can download the assignment instructions by clicking on this link
Algorithm Accuracy and Runtime
To help debug your program, below are some accuracies I measured on the four data sets using different training percentages for both ID3 and C4.5 (without rule pruning) implemented in Python. These results are averaged over 30 random seeds. My implementation takes between 2-3 minutes to classify OpticalDigit, and around 1 minute for Hypothyroid.
Note: last year, the students' implementations of C4.5 did not achieve such high accuracy on OpticalDigit, instead being near 0.6-0.65. So your performance may vary. However, I think most of their solutions treated each attribute as nominal instead of continuous, which might explain the majority of the difference in the accuracies.