Automating the process of measuring complexity of Java programming assignment - Md. Rejab, Mawarny; Romli, Rohaida (Universiti Utara Malaysia, 2005)
Programming is a complex intellectual activity and a core skill for first year IT students. Several researches have shown that most students often write programs without considering the quality of the program. Due to this matter, an automatic assessment system has become one of the most important tools to evaluate and grade programming assignment including judgments of the quality of programming solutions.Besides considering the correctness of the output program, the automatic assessment system also focuses on the complexity factor in ensuring the consistency and accuracy of the hand-marking programming assignments and improve the quality of students’ programming solution.This study is proposed as an effort to assist lecturers of the Introductory Java Programming course in evaluating and grading program assignments by considering the complexity factor.Besides selected traditional software metrics such Lines Of Code and Cyclomatic Complexity, several object-oriented metrics are adopted to measure the program complexity namely, Respond For a Class (RFC), Number of properties (SIZE2), Number of classes (NCL), Operation Complexity (OpCom), Operation Argument Complexity (OAC) and Attributes Complexity (AC). Specific score and weight will be given for each selected metric as a measurement of the program complexity.The summary of report that contains a complexity analysis and complexity mark awarded to the student will be generated automatically using a developed prototype.Thus, this approach will be implemented to provide a tool in order to improve the process of evaluating the Introductory of Java programming assignment for the Faculty of Information Technology.