Automatic Generation and Assessment of Student Assignments for Parallel Programming Learning. The course of parallel programming is becoming more and more important for the education of students majoring in computer science. However, it is not easy to learn parallel programming well due to its high theory and practice requirements. In this paper, we design and implement an automatic assignment generation and assessment system to help students learn parallel programming. The assignments can be generated according to user behaviors and thus able to guide students to learn parallel programming step by step. Besides, it can automatically generate an overall assessment of student assignments by using fuzzy string matching, which provides an approximate reference score of objective questions. Subjective questions can be assessed directly by comparing the answer to the reference answer. This system also provides a friendly user interface for students to complete online assignments and let teachers manage their question database. In our teaching practice, students can learn parallel programming more effectively with the help of such an assignment generation and assessment system.

Analysis and Visualization of Patterns in Answers to Programming Problems It is not an easy task for teachers to make studentsu0027 answers for programming exercises. In scoring such a student program, the teacher needs to evaluate not only the degree of program achievement but also which way the program achieve the requirements. In order to solve such problems, we propose a supporting method to evaluate the program using prog2vec, which is software that converts a program into its feature vector representation. Specifically, our method estimates whether a programming problem needs certain ways to achieve its purpose or not. The input of the method is a set of the programs that are made as answer for the problem. If the method estimates that specific ways are needed to achieve the given problem, it also visualizes these programing ways in structural graph representation. In this way, our proposed method helps teachers that have a lot of and various answers for a programming problem to define evaluation criteria for those answers.