Learning assembly first is unusual, but it'll force you to have very good attention to detail, because the smallest mistakes will often result in a crash. It's nice to learn how to write your subroutines so that they can be called from C too. The pointer arithmetic that gives beginner C programmers trouble will in some ways be more straightforward when viewed from an assembly perspective.