Font Size: a A A

Research On Relationships Between Algorithms And Data Structures Used In Program Code Resources

Posted on:2014-06-12Degree:MasterType:Thesis
Country:ChinaCandidate:Z Y YuFull Text:PDF
GTID:2308330482483283Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Online Judge (OJ) Systems, as a platform for programming contest, play an important role in the programming contest and tutoring. Currently, many universities have developed their own online judge systems, which provide a large number of programming problems. Recently, there are a lot of problem-solving reports about programming problems, which are written by the contestants with rich programming experience, on the web. These problem-solving reports contain program code resources, which are used to solve programming problems.The program code resources and the programming problems are regarded as learning materials for student. Although the two kinds of resources are both on the web, but there is no concrete hyperlinks to connecte them together. They are not organized into learning materials available to facilitate students. If the program code resources and the programming problems are organized into learning materials according to different programming knowledge,so students can choose the suitable programming problems to train in terms of the programming knowledge, and also learn programming knowledge in the light of the given problem-solving reports. It will bring great conveniences for students’training and learning.Based on the National Natural Science Foundation of China (NSFC), we use ontology techniques to recognize the data structures and algorithms used in program code resources on the web, and then discovery the relationships between them. Finally, we orderly organize the program code resources and their respective programming problems into learning materials in terms of algorithms and data structures.This paper expands as follows:Firstly, we sort out their signal strings for the commonly used data structures and algorithms, and build a knowledge base of data structures and algorithms, which represented by ontology techquies and mainly consists of the descriptive knowledge and the inferential knowledge about the data structures and algorithms.Secondly, by matching with signal strings about data structures and algorithms in the knowledge base, we build the ontology individuals of program codes, which possess some properties relevant to signals in the knowledge base. We propose an approach to recognize data structures and algorithms used in program codes by ontology techniques.Thirdly, according to the rules in the knowledge base, we create some queries and use them to recognize the data structures and algorithms contained in the program codes. By recording the frequency of data structures and algorithms appearing simultaneously in the same codes, we discover a model of the relationships between data structures and algorithms.And then we do an experiment by selecting some program codes to verify the feasibility and the correctness of our method.Finally, we create a network connection prototype system, which links the program code resources and their respective programming problems on the web in terms of data structures and algorithms, together. The two kinds of resources form learning materials ordered by algorithms and data structures, which would help learners to study programming knowledge.
Keywords/Search Tags:Knowledge discovery, Ontology, Data structures, Program code resources, programming tutoring
PDF Full Text Request
Related items