In present educational era, teaching programming to the undergraduates is challenging. For an instructor, focusing on each of the aspect of programming like coding language, logical reasoning, debugging errors, troubleshooting code and problem solving is very daunting task. So, educational researchers are identifying ways to easily identify the student’s struggles during programming so that timely assistance can be provided. Using programming platforms or software, a lot of programming data is generated in the form of activity logs or clickstream data. Using machine learning along with data analytics over this programming data can reveal programming patterns of students that may help in early interventions. This study focusses on identifying programming patterns of the students through clustering and groups the students into three major categories namely low performers, strugglers, and high scorers. Further, relevant features like test case success, code compile success and failure, finish test etc. that majorly contribute towards the student programming scores are identified through regression analysis. Through this research, educators can early categorize the students based on their programming patterns and provide timely intervention when necessary, ensuring that no student gets left behind in the fast-paced world of programming education.