The Art and Science of C: A Library Based Introduction to Computer Science