В «Виртуальную лабораторию CS50» и CS50 IDE встроено приложение check50. Оно проверяет некоторые программы на наличие ошибок, а вызвать его можно из командной строки.  

Если вы ещё не там, перейдите в рабочую директорию (для виртуальной лаборотарии это ~/dropbox/pset1, для CS50 IDE это ~/workspace/pset1), выполнив в терминале команду (для первого случая):

cd ~/dropbox/pset1

или для второго случая:

cd ~/workspace/pset1

Теперь выполните 

ls

вы увидите, по меньшей мере, файл hello.c. Убедитесь, что название файла выглядит именно так, а не, скажем, Hello.c или hello.C. Переименовать файл можно, выполнив команду 

mv source destination

где source — текущее имя файла, destination — новое имя файла.
mv (от англ. move) — утилита для переименования. Если вы случайно назвали файл Hello.c, наберите строку:

mv Hello.c hello.c

Убедившись, что файл точно называется hello.c, если вы уже компилировали программу с помощью команды make hello и увидели в консоли надпись hello, world после вызова команды ./hello, наступило время отправить её на проверку.

Для этого вызовем check50. Обратите внимание, что 2015.fall.pset1.hello — уникальный идентификатор для задачки “hello world”. 

check50 2015.fall.pset1.hello hello.c

Если программа выполнена правильно, вы увидите что-то в этом роде: 

Проверка на правильность - 1

Весёлые смайлики зелёного цвета означают, что тест пройден. Также можете видеть URL внизу вывода check50, но он нужен только сотрудникам (впрочем, если интересно, заходите!).

check50 запускает 3 теста: существует ли файл hello.c, компилируется ли hello.c и выдает ли приложение строку, в которой написан текст «hello, world\n».

Если вы увидите грустные красные смайлики, значит у вас баг.

Проверка на правильность - 2

Здесь check50 не нашел hello.c, и красный смайлик сигнализирует, что вы либо ошиблись в имени, либо загрузили файл не туда. Жёлтые «нейтральные» смайлы означают, что тесты не запустились. И откуда им запуститься, если программа не нашла файл, который нужно проверить?

Вот еще один вариант, который выскочит в том случае, если вы меняли текст, который должна вывести функция printf():

Проверка на правильность - 3

check50 сообщает, что ожидалась строка hello, world\n, но появилось что-то другое.