On the advice of the following statement in the instructions for pset5:

"You may add functions to dictionary.c or to files of your own creation so long as all of your code compiles via make."

I decided to make a trie.h and trie.c file for my trie functionality. Everything compiles and passes all check50 checks (as well as my own manual checks)

to get check50 to work I ran it with extra arguments like this:

check50 2015.fall.pset5.speller dictionary.c dictionary.h trie.c trie.h Makefile

enter image description here

link to sandbox results

Before submitting I ran make clean (assuming the grading bot would compile)

My grade results came back 0.

My questions:

1. Can I submit pset5 like explained above or do I need to combine my code into dictionary.c? (note: everything compiles fine in the appliance)

2. Do I need to have the compiled speller executable inside the pset5.zip?

Additional info

My MakeFile changes:

# space-separated list of header files
HDRS = dictionary.h trie.h

# space-separated list of libraries, if any,
# each of which should be prefixed with -l

# space-separated list of source files
SRCS = speller.c dictionary.c trie.c

2 Answers 2


Check out this reddit post. It's from a year ago, (when pset6 was speller). The penultimate comment says:

Unfortunately, staff should have modified the instructions in the pset used for edX to remove that option. The auto-grader is not smart enough to know that you have added files and will simply fall over.

So yes,you need to roll everything into dictionary.c

  • yes but my project was actually graded as '0'. I am not waiting for it to be graded (even further, my pset6 has been graded without issue). Since I found no solution I have combined my separate files all into dictionary.c and resubmitted. We will see what happens.
    – Chris
    Commented Dec 18, 2015 at 14:58
  • 1
    Check out this reddit post (sp. 2nd to last comment). It's from a year ago, (when pset6 was speller). It sounds like you have taken the correct action. reddit.com/r/cs50/comments/2meeqo/… Commented Dec 18, 2015 at 15:20
  • So i can confirm. Combining everything into dictionary.c worked. everything graded properly. @Dino if you update your answer with the information in the comment you posted I could accept that as the answer
    – Chris
    Commented Dec 19, 2015 at 13:48
  • Hello, I think Im having the same problem. How did you combine everything into dictionary.c? Many thanks Commented Dec 27, 2015 at 4:32
  • arhhh still doesn't work! I have submitted this 8 times so far and there is no change to my grade from 0. check50 2015.fall.pset5.speller dictionary.c dictionary.h Makefile passes my submission. I have till the 31st at midnight and this is my last problem set! Commented Dec 27, 2015 at 21:13

I had an issue with this also. At first the green checks would not even work. I fixed that by moving the node struct declaration in the dictionary.h file from the top of that file to the bottom.

As for not submitting properly. I had a sloppy pset5 directory. I had something like pset5/pset5/other files. This happened in the process of downloading and unzipping the file at the beginning of this project.

Try cleaning up this directory and move any of the test files or initial zipped package out of the directory you are trying to zip for submission.

A clue I had a bad zip is that when I was uploading the progress bar would hang at 100%. I also didn't receive the email from cs50 bot telling me I had submitted a pset.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .