Mastering programming fundamentals poses a significant challenge for students, especially in demanding higher education environments. This pilot study investigates the effectiveness of a web-based system, SoftwareSkills, designed to enhance programming proficiency among second-year bachelor students. SoftwareSkills leverages, active practice, and self-monitoring to support programming practice. Thirty-six students (n=36) participated in a quasi-experimental design, divided into independent exploration and instructional session groups. User interaction data, exercise performance, and behavioural patterns were analysed. The study revealed four distinct learning strategies: reviewing skill masteries, dedicating sufficient time to each question, striving for mastery, and adapting spaced practice. However, some students exhibited rapid responses and minimal practice, suggesting a need for deeper learning strategies. These findings highlight the suitability of self-regulated learning and deliberate practice in programming education. Future work will involve first and second-year programming students and integrate AI-driven personalised learning features to optimise the learning experience. This research contributes insights into effective practices and the potential of technology-aided learning to support student success in programming education.