или нужно сначала построить сплайн, а потом его продифференцировать?
Нужно. Поскольку сам по себе "сплайн" -- понятие бескрайнее. В том смысле, что граничные условия можно добавлять очень-очень разными способами, исходя из очень разных соображений, да и условия эти могут быть не обязательно граничными. Не говоря уж о том, что и дефект можно выбирать не обязательно единичный. Сама же по себе задача на построение сплайна (в отличие от интерполяционной) заведомо недоопределена.