Font Size: a A A

Ontology-Based Associative Research For The Algorithmic Structure Between Programming Resources

Posted on:2014-12-08Degree:MasterType:Thesis
Country:ChinaCandidate:G YangFull Text:PDF
GTID:2308330482983286Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the rapid development of computer technology, the programming teaching have received more and more attention in many schools. ACM International Collegiate Programming Contest (ACM/ICPC) as a new way of nurturing the top students in computer science has received positive response in universities. Now, many ACM programming players accumulate their own usually solving ideas of problems, and upload those problem-solving on their blog to share for programming enthusiasts. Those reports are scattered on the web, but some of them are very similar. Repetitive learning can not bring substantial progress.Nowdays, some overachievers summarize the ways of solving problems according to their experience, and many beginners follow the footsteps of the overachievers to advance. But there are numerous problems on the web, it is difficult for individual human to study all of them. Therefore, it’s necessary to analyze the problem-solving report in an effective method, including the problem-solving ideas and progrmming codes. Eventually we should better establish the link between solving ideas and programming codes, and between soving ideas and programming codes to form a three-dimensional organism. It is more effective for education and personalized learning.The paper analysis programming codes and problem-solving ideas in reports of problem-solving, as follows:1) Processing of JAVA programming code. First, due to the flexibility of the JAVA, it would be more trouble to send it to the machine directly for processing. We convert it into one-to-one correspondence with the syntax tree by lexical analysis and syntactic analysis, it would be convenient to deal. Second, we want the machine to process the data automatically according to the semantics, but syntax tree has no clear semantic tags. So we combine ontology technology with semantic tags to use ontology represent JAVA program code. Third, JAVA programming codes represented by ontology, we can write code to retrieve the desired algorithm structure. But it is too much trouble, we use ontology query statements to describe the algorithm structure to query algorithms, and these queries are generated automatically based on the code or pseudo-code. The syntax rules of ontology query language are suitable to describing the algorithm structure, and ontology query language has a strong reasoning ability to provide good support for recognition algorithm. Finally, we use ontology query language to describe the algorithm for finding similar algorithm to establish contact among algorithms based on the query results.2) Processing of problem-solving ideas. Many students participated in the ACM contest, and massive problems and reports of problem-solving exist on the web. Some students in the research group classify problem solving reports according to the programming knowledge expert library, but the predefined expert library has some limitations. First, we use the techniques of the natural language to processe problem-solving reports, and get the names of the algorithms automatically to form the knowledge base for classification. Many statements which are used for describing the algorithm have a certain mode. We use the Stanford University Chinese tokenizer and parser tools to analysis and process these statements according to the particular mode, and obtain the names of the algorithms automatically to form the knowledge base. With the knowledge base, we can find the algorithms which contained in the knowledge base in solving ideas, and establish contact among solving ideas depending on the specific algorithm. Problem-solving reports and programming codes are a one-to-one correspondence, we can find the corresponding codes of its problem-solving ideas based on a problem-solving idea, and establish contact between solving ideas and programming codes.
Keywords/Search Tags:Ontology, Algorithm Recognition, Connection, Network, Programming Resources
PDF Full Text Request
Related items