Do I need to know how to program before starting?
No. The usual starting point is zero: variables, conditions, loops, and functions are explained from the beginning. If you have already touched some code, it's worth reviewing the syllabus so you don't repeat content you already handle. What is required is consistency in writing and correcting exercises, because sustained practice matters more than initial speed.