In computer engineering, introducing programming languages to novice students is a hard task to achieve. The logic and concepts of programming are not trivial to understand by students as they require a lot of practice. At An-Najah National University, the C programming course has been taught to students with various engineering disciplines as a mandatory course. On the purpose of enhancing the practical skills of students and improving the educational process of programming-based courses, we introduced an automated educational programming system which involves Virtual Programming Lab (VPL) tool. The system consists of two parts; the first part is designed to use well-formed, short and successive exercises. Whereas, the second part provides immediate formative feedback via using the automated assessment feature of VPL. This paper studies the impact of such an automated systems on the overall performance of students as well as instructors, which play a vital role on the success of programming-based courses. In addition, the paper studies how students perceive the automated system in the C programming course.