From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are ...From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are not objects, etc. So, this paper designs a programming language, Shrek, which integrates many language features and constructions in a compact and consistent model. The Shrek language is a class-based purely object-oriented language. It has a dynamical strong type system, and adopts a single-inheritance mechanism with Mixin as its complement. It has a consistent class instantiation and inheritance structure, and the ability of intercessive structural computational reflection, which enables it to support safe metaclass programming. It also supports multi-thread programming and automatic garbage collection, and enforces its expressive power by adopting a native method mechanism. The prototype system of the Shrek language is implemented and anticipated design goals are achieved.展开更多
The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes libra...The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes library of finite element analysis program and Windows-type Graphical User Interfaces by VC + + and its MFC are developed. The reliability, reusability and extensibility of program are enhanced. It is a reference to develop the large-scale, versatile and powerful systems of object-oriented finite element software.展开更多
A visual object-oriented software for lane following on intelligent highway system (IHS) is proposed. According to object-oriented theory, 3 typical user services of self-check, transfer of human driving and automatic...A visual object-oriented software for lane following on intelligent highway system (IHS) is proposed. According to object-oriented theory, 3 typical user services of self-check, transfer of human driving and automatic running and abnormal information input from the sensors are chosen out. In addition, the functions of real-time display, information exchanging interface, determination and operation interweaving in the 3 user services are separated into 5 object-oriented classes. Moreover, the 5 classes are organized in the visual development environment. At last, experimental result proves the validity and reliability of the control application.展开更多
To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented progra...To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented programming. Combined with the computer graphicstechnology, the visual simulation of cold roll-forming is completed and the system is established.By analyzing common channel steel, the process is shown and explained including theory method, modeland result display. So the simulation system is already a kind of mature and effective tool toanalyze the process of cold roll forming.展开更多
Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of ob...Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques;however, many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.展开更多
Based on former studies on weather simulator modules in IPMist laboratory, study on visual programming of stochastic weather generator(VS-WGEN)was continued. In this study, Markov Chain, Monte Carlo, Fourier Series, a...Based on former studies on weather simulator modules in IPMist laboratory, study on visual programming of stochastic weather generator(VS-WGEN)was continued. In this study, Markov Chain, Monte Carlo, Fourier Series, and weak stationary process were used to generate the daily weather data in software Matlab 6. 0, with the data input from 40 years' weather data recorded by Beijing Weather Station. The generated data includes daily maximum temperature, minimum temperature, precipitation and solar radiation. It has been verified that the weather data generated by the VS-WGEN were more accurate than that by the old WGEN, when twenty new model parameters were included. VS-WGEN has wide software applications, such as pest risk analysis, pest forecast and management. It can be implemented in hardware development as well, such as weather control in weather chamber and greenhouse for researches on ecological adaptation of crop varieties to a given location over time and space. Overall, VS-WGEN is a very useful tool for studies on theoretical and applied ecology.展开更多
The purpose of this research is the design and implementation of a support system for learning programming. To archive this purpose, in this article, we propose a Puzzle Programming System that uses jigsaw puzzles as ...The purpose of this research is the design and implementation of a support system for learning programming. To archive this purpose, in this article, we propose a Puzzle Programming System that uses jigsaw puzzles as an example of the application of physical visualization, which visualizes logical constraints to physical ones. This Puzzle Programming System aims to teach basic programming concepts by presenting the invisible constraints of programming language syntax using the visual constraints of jigsaw puzzle pieces. This system runs on an Apple iPad and was developed using the Unity game engine. We used YAML as a data format for serializing structured data for data management. By inviting high school students to try out a prototype, we could confirm the usefulness of the Puzzle Programming System. The experimental evaluation results also shed light on aspects of the game that need to be redesigned and parts where the visual programming model needs to be modified and expanded.展开更多
UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual...UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual requirements on the basis of Natural Language Processing(NLP)and mapping rules for sentence pattern matching.First,classes are identified through entity recognition rules and candidate class pruning rules using NLP from requirements.Second,class attributes and relationships between classes are extracted using mapping rules for sentence pattern matching on the basis of NLP.Third,we developed an assistant tool integrated into a precision micro classroom system for automatic generation of class diagram,to effectively assist the teaching of object-oriented design and programing course.Results are evaluated with precision,accuracy and recall from eight requirements of object-oriented design and programing course using truth values created by teachers.Our research should benefit beginners of object-oriented design and programing course,who may be students or software developers.It helps them to create correct domain models represented in the UML class diagram.展开更多
Data are limitless. But those are usually not formed or created in our needs. Most of data providers deliver their data in Microsoft Excel spreadsheet, which is compatible with ArcGIS, the most widely used GIS (Geogr...Data are limitless. But those are usually not formed or created in our needs. Most of data providers deliver their data in Microsoft Excel spreadsheet, which is compatible with ArcGIS, the most widely used GIS (Geographic Information System) software in GIS sector. However, those table data contain much unnecessary information that do not need for a certain project. Using the raw data can increase processing times and reduce performance of geoprocessing tools. This study shows steps of how the raw data are being processed using ArcGIS ModelBuilder and Python script.展开更多
Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detecti...Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.展开更多
Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has succ...Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has successfully achieved cross link to offer much better flexibility and two-way link to realize forward and backward searching in hypermedia system navigation.A conditional relation on links has also been realized,that is very helpful for time sensitive multimedia information processing and multimedia object cooperation.展开更多
Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention.We find that projects written in visual programming languages like Scratch also...Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention.We find that projects written in visual programming languages like Scratch also have bugs and code smells that cannot be avoided automatically.Existing studies analyze these problems by converting code into Abstract Syntax Trees(ASTs)before analysis.This process is time-consuming and analyzing the AST directly can be complex.In this paper,we propose a novel code image-based static analysis approach for visual programming languages,which mines code patterns in images to pre-determine whether there are problems in projects without parsing them first.We train a code image object detection network to judge whether the input projects are likely to have bugs or smells.Further analysis is performed only on potentially problematic projects.Based on the proposals of the detection network,we analyze the key areas of the AST and identify the specific code problems.Experiments show that compared with others,our method can quickly determine code problems and accurately locate them.For the code image detection task,the improved model can achieve higher mean average precision(MAP)faster in the training phase,while the model is smaller and faster in inference.展开更多
In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat t...In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat treatment simulation was explored. The framework of simulating programs was outlined. The main C++ classes were developed, some important member functions were implemented. The present research work shows that using object-oriented method can greatly reduce the amount of coding. The programs are clear in conception, easy to test, modify and expand. By using the methodology introduced in this paper, one heat treatment process three dimensional simulation tool was developed.展开更多
This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class ...This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class hierarchy structure of object-oriented finite element structural analysis, and gives a part C+ + code description.展开更多
The approach of control software development based on simulation is discussed. A library of object classes for a flexible manufacturing system(FMS) simulation has been developed using the technology of object-oriented...The approach of control software development based on simulation is discussed. A library of object classes for a flexible manufacturing system(FMS) simulation has been developed using the technology of object-oriented programming. Using the library, the simulation software of a FMS which has the same manufacturing logic with the FMS control system can be easily constructed. A new approach in the development of FMS control software based on software reuse and an emulator of the blade FMS control system for testing control software have also been developed.展开更多
Modern satellite propulsion systems are generally designed to fulfill multiphase-missions.Traditional reliability modelling methods have problems of inadequate depict capacity considering complex systems such as satel...Modern satellite propulsion systems are generally designed to fulfill multiphase-missions.Traditional reliability modelling methods have problems of inadequate depict capacity considering complex systems such as satellite propulsion system.An extended object-oriented Petri net(EOOPN)method was proposed to facilitate the reliability modelling of satellite propulsion system in the paper.The proposed method was specified for modelling of phased mission system,and it could be implemented by generating combination of Petri net(PN)principles and object-oriented(OO)programming.The effectiveness of the proposed method was demonstrated through the reliability modelling of a satellite propulsion system with EOOPN.The major advantage of the proposed method is that the dimension of net model can be reduced significantly,and phased mission system at system,phase,or component levels can be respectively depicted.Furthermore,the state-space explosion problem is solved by the proposed EOOPN model efficiently.展开更多
Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore...Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore the design pattern.However,design patterns are essential to software engineering because they can solve common problems in software design and improve code reuse,readability,extensibility,and reliability.Our Object-oriented Software Construction Course is creative since it aims at cultivating students’object-oriented thinking as well as basic abilities required to construct high-quality,object-oriented software.Specifically,we exploit the 5E teaching principle during the education of this course,and present the whole pipeline in the paper.We also provide one case of the factory pattern to further demonstrate the implementation of the 5E teaching principle in the course.The effect of the 5E teaching principle has also been demonstrated.展开更多
An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing programs for production. Three-dimensional (3D) interactive anima...An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing programs for production. Three-dimensional (3D) interactive animations provide an effective means to engage the attention of the audience to learn programming language. Traditionally, creating 3D games had been difficult as it requires specialized programming skills. However, it had been proven that the state-transition diagram, which is the most fundamental principle for automata, is intuitively so comprehensive that even children can create programs for interactive animations and video games in the two-dimensional world. Islay3D is a programming environment for authoring interactive 3D animations based on this concept. In this paper, the Islay3D animation language is introduced, where a character is modeled as an object, and its behavior is defined in term of a set of state-transition diagrams. The interpretation of the state-transition diagrams to JavaScript is also presented. Finally, the web-based programming environment is introduced. With the web-based platform, the public will be able express their creativity in creating interactive 3D animations and video games easily from within their browser.展开更多
基金The National Science Fund for Distinguished Young Scholars (No.60425206)the National Natural Science Foundation of China (No.60633010)the Natural Science Foundation of Jiangsu Province(No.BK2006094)
文摘From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are not objects, etc. So, this paper designs a programming language, Shrek, which integrates many language features and constructions in a compact and consistent model. The Shrek language is a class-based purely object-oriented language. It has a dynamical strong type system, and adopts a single-inheritance mechanism with Mixin as its complement. It has a consistent class instantiation and inheritance structure, and the ability of intercessive structural computational reflection, which enables it to support safe metaclass programming. It also supports multi-thread programming and automatic garbage collection, and enforces its expressive power by adopting a native method mechanism. The prototype system of the Shrek language is implemented and anticipated design goals are achieved.
文摘The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes library of finite element analysis program and Windows-type Graphical User Interfaces by VC + + and its MFC are developed. The reliability, reusability and extensibility of program are enhanced. It is a reference to develop the large-scale, versatile and powerful systems of object-oriented finite element software.
文摘A visual object-oriented software for lane following on intelligent highway system (IHS) is proposed. According to object-oriented theory, 3 typical user services of self-check, transfer of human driving and automatic running and abnormal information input from the sensors are chosen out. In addition, the functions of real-time display, information exchanging interface, determination and operation interweaving in the 3 user services are separated into 5 object-oriented classes. Moreover, the 5 classes are organized in the visual development environment. At last, experimental result proves the validity and reliability of the control application.
基金This project is supported by Provincial Natural Science Foundation of Hebei (No.502214).
文摘To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented programming. Combined with the computer graphicstechnology, the visual simulation of cold roll-forming is completed and the system is established.By analyzing common channel steel, the process is shown and explained including theory method, modeland result display. So the simulation system is already a kind of mature and effective tool toanalyze the process of cold roll forming.
文摘Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques;however, many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.
基金supported jointly by the grant of Project“973”:Fundamental Studies on Invasion and Control of Extra Pest(2002CB111400)the grant of Key Project of Ministry of Science and Technology of China:Development of New Technologies for Pest Forecasting(2001BA50PB01).
文摘Based on former studies on weather simulator modules in IPMist laboratory, study on visual programming of stochastic weather generator(VS-WGEN)was continued. In this study, Markov Chain, Monte Carlo, Fourier Series, and weak stationary process were used to generate the daily weather data in software Matlab 6. 0, with the data input from 40 years' weather data recorded by Beijing Weather Station. The generated data includes daily maximum temperature, minimum temperature, precipitation and solar radiation. It has been verified that the weather data generated by the VS-WGEN were more accurate than that by the old WGEN, when twenty new model parameters were included. VS-WGEN has wide software applications, such as pest risk analysis, pest forecast and management. It can be implemented in hardware development as well, such as weather control in weather chamber and greenhouse for researches on ecological adaptation of crop varieties to a given location over time and space. Overall, VS-WGEN is a very useful tool for studies on theoretical and applied ecology.
文摘The purpose of this research is the design and implementation of a support system for learning programming. To archive this purpose, in this article, we propose a Puzzle Programming System that uses jigsaw puzzles as an example of the application of physical visualization, which visualizes logical constraints to physical ones. This Puzzle Programming System aims to teach basic programming concepts by presenting the invisible constraints of programming language syntax using the visual constraints of jigsaw puzzle pieces. This system runs on an Apple iPad and was developed using the Unity game engine. We used YAML as a data format for serializing structured data for data management. By inviting high school students to try out a prototype, we could confirm the usefulness of the Puzzle Programming System. The experimental evaluation results also shed light on aspects of the game that need to be redesigned and parts where the visual programming model needs to be modified and expanded.
基金This work is supported by the Collaborative education project of QST Innovation Technology Group Co.,Ltd and the Ministry of Education of PRC(NO.201801243022).
文摘UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual requirements on the basis of Natural Language Processing(NLP)and mapping rules for sentence pattern matching.First,classes are identified through entity recognition rules and candidate class pruning rules using NLP from requirements.Second,class attributes and relationships between classes are extracted using mapping rules for sentence pattern matching on the basis of NLP.Third,we developed an assistant tool integrated into a precision micro classroom system for automatic generation of class diagram,to effectively assist the teaching of object-oriented design and programing course.Results are evaluated with precision,accuracy and recall from eight requirements of object-oriented design and programing course using truth values created by teachers.Our research should benefit beginners of object-oriented design and programing course,who may be students or software developers.It helps them to create correct domain models represented in the UML class diagram.
文摘Data are limitless. But those are usually not formed or created in our needs. Most of data providers deliver their data in Microsoft Excel spreadsheet, which is compatible with ArcGIS, the most widely used GIS (Geographic Information System) software in GIS sector. However, those table data contain much unnecessary information that do not need for a certain project. Using the raw data can increase processing times and reduce performance of geoprocessing tools. This study shows steps of how the raw data are being processed using ArcGIS ModelBuilder and Python script.
文摘Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.
文摘Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has successfully achieved cross link to offer much better flexibility and two-way link to realize forward and backward searching in hypermedia system navigation.A conditional relation on links has also been realized,that is very helpful for time sensitive multimedia information processing and multimedia object cooperation.
基金supported by the National Natural Science Foundation of China(Nos.62272052 and 62172051).
文摘Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention.We find that projects written in visual programming languages like Scratch also have bugs and code smells that cannot be avoided automatically.Existing studies analyze these problems by converting code into Abstract Syntax Trees(ASTs)before analysis.This process is time-consuming and analyzing the AST directly can be complex.In this paper,we propose a novel code image-based static analysis approach for visual programming languages,which mines code patterns in images to pre-determine whether there are problems in projects without parsing them first.We train a code image object detection network to judge whether the input projects are likely to have bugs or smells.Further analysis is performed only on potentially problematic projects.Based on the proposals of the detection network,we analyze the key areas of the AST and identify the specific code problems.Experiments show that compared with others,our method can quickly determine code problems and accurately locate them.For the code image detection task,the improved model can achieve higher mean average precision(MAP)faster in the training phase,while the model is smaller and faster in inference.
文摘In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat treatment simulation was explored. The framework of simulating programs was outlined. The main C++ classes were developed, some important member functions were implemented. The present research work shows that using object-oriented method can greatly reduce the amount of coding. The programs are clear in conception, easy to test, modify and expand. By using the methodology introduced in this paper, one heat treatment process three dimensional simulation tool was developed.
文摘This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class hierarchy structure of object-oriented finite element structural analysis, and gives a part C+ + code description.
基金the High Technology Research and Development Programme of China
文摘The approach of control software development based on simulation is discussed. A library of object classes for a flexible manufacturing system(FMS) simulation has been developed using the technology of object-oriented programming. Using the library, the simulation software of a FMS which has the same manufacturing logic with the FMS control system can be easily constructed. A new approach in the development of FMS control software based on software reuse and an emulator of the blade FMS control system for testing control software have also been developed.
文摘Modern satellite propulsion systems are generally designed to fulfill multiphase-missions.Traditional reliability modelling methods have problems of inadequate depict capacity considering complex systems such as satellite propulsion system.An extended object-oriented Petri net(EOOPN)method was proposed to facilitate the reliability modelling of satellite propulsion system in the paper.The proposed method was specified for modelling of phased mission system,and it could be implemented by generating combination of Petri net(PN)principles and object-oriented(OO)programming.The effectiveness of the proposed method was demonstrated through the reliability modelling of a satellite propulsion system with EOOPN.The major advantage of the proposed method is that the dimension of net model can be reduced significantly,and phased mission system at system,phase,or component levels can be respectively depicted.Furthermore,the state-space explosion problem is solved by the proposed EOOPN model efficiently.
基金supported by Guangdong Hardware and System Teaching and Research Office(Quality Engineeringproject No.HITSZERP22002)+2 种基金Guangdong Province Education Science Planning Project(Higher Education Project,Project No.2022GXJK431)Harbin Institute of Technology(Shenzhen)Course Ideological and Political Project(Project No.HITSZIP21003)Construction Project of Teachers College of Harbin Institute of Technology(Shenzhen)(Project No.HITSZSFXY202201)。
文摘Most current object-oriented programming courses offered by domestic colleges and universities generally focus on the object-oriented programming language itself,i.e.,the programming grammar of the language,but ignore the design pattern.However,design patterns are essential to software engineering because they can solve common problems in software design and improve code reuse,readability,extensibility,and reliability.Our Object-oriented Software Construction Course is creative since it aims at cultivating students’object-oriented thinking as well as basic abilities required to construct high-quality,object-oriented software.Specifically,we exploit the 5E teaching principle during the education of this course,and present the whole pipeline in the paper.We also provide one case of the factory pattern to further demonstrate the implementation of the 5E teaching principle in the course.The effect of the 5E teaching principle has also been demonstrated.
文摘An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing programs for production. Three-dimensional (3D) interactive animations provide an effective means to engage the attention of the audience to learn programming language. Traditionally, creating 3D games had been difficult as it requires specialized programming skills. However, it had been proven that the state-transition diagram, which is the most fundamental principle for automata, is intuitively so comprehensive that even children can create programs for interactive animations and video games in the two-dimensional world. Islay3D is a programming environment for authoring interactive 3D animations based on this concept. In this paper, the Islay3D animation language is introduced, where a character is modeled as an object, and its behavior is defined in term of a set of state-transition diagrams. The interpretation of the state-transition diagrams to JavaScript is also presented. Finally, the web-based programming environment is introduced. With the web-based platform, the public will be able express their creativity in creating interactive 3D animations and video games easily from within their browser.