Tải bản đầy đủ (.pdf) (5 trang)

Lecture Notes in Computer Science- P40 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (185.9 KB, 5 trang )

184 W C. Chang and K C. Chen
share files with other members within a conversation. Files are shared using the
Shared Files collaboration channel visible within each conversation window.
Our tool has some elements that are differ from the above-mentioned tool. Now,
we will address some difference elements as follows:
(1) Voice communication: Besides text conversation, we also provide voice com-
munication mode to improve the efficiency of communication. Because users
communicate with each other in text mode, they may type too many word for
conversation, and they will waste too much time. For this reason, we join voice
communication mode to assist with text mode.
(2) Share information faster: Our tool can present users’ mutual editor panel more
immediately, and show each member's progress. It does not need to open other
windows or channels to share the progress and information presently in addi-
tion, and then it can be faster to discover and solve the problem.
Table 1. The comparison with other similar tools
Our
tool
NetBeans
Project
Developer
Collaboration
Tu r b o
C
Dev
C++
Visual
C++
C++
Builder
Programming
Editor


Has Has Has Has Has Has
Voice
communication
Has NONE NONE NONE NONE NONE
Text
communication
Has Has NONE NONE NONE NONE
Share
information
Has Has NONE NONE NONE NONE
Problem-
solving
Has Has NONE NONE NONE NONE

Following above topics, we compare our developed tool to other tools as show in
Table 1. The traditional programming editor only has editor; it doesn’t have voice and
text communication, and also can’t share information synchronously. We compare
some programming tools, such as Turbo C, Bloodshed Dev-C++, Microsoft Visual
C++ and C++ Builder. Turbo C is an Integrated Development Environment and com-
piler for the C programming language. It was first introduced in 1987 and was noted
for its integrated development environment, small size, extremely fast compile speed,
comprehensive manuals and low price. Bloodshed Dev-C++ is a full-featured Inte-
grated Development Environment (IDE) for the C/C++ programming language. It
uses Mingw port of GCC (GNU Compiler Collection) as it's compiler. Dev-C++ can
also be used in combination with Cygwin or any other GCC based compiler. Micro-
soft Visual C++ (often abbreviated as MSVC) is a commercial integrated develop-
ment environment (IDE) product engineered by Microsoft for the C, C++, and
C++/CLI programming languages. It has tools for developing and debugging C++
code, especially code written for the Microsoft Windows API, the DirectX API, and


Collaborative Learning Tool Applying to C Programming Language 185
the Microsoft .NET Framework. C++ Builder is a popular rapid application develop-
ment (RAD) environment produced by the CodeGear subsidiary of Borland for writ-
ing programs in the C++ programming language. C++ Builder combines the Visual
Component Library and IDE as found in Delphi with a C++ compiler. C++ Builder
includes tools that allow true drag-and-drop visual development, making program-
ming easier by incorporating a WYSIWYG GUI builder into its IDE. The NetBeans
project “Developer Collaboration” has editor and text communication, but it does not
have voice communication mode. Our developed tool can help learner solve their
problem and share their knowledge or information immediately.
5 Conclusion and Future Works
In this paper, we develop a tool to support group collaborative learning, which com-
bines voice and text communication mode to assist with the teamwork more effective.
Learners will learn more problem-solving skills and more knowledge of C program-
ming language when they interact with other users using our application. Through real
time discussion and information sharing, users are going to complete their homework
and project more and more.
Our tool has not passed the actual test and use of learners yet at present, we will
examine the influence on the user of the system in the future. We expect to test user's
satisfaction to the system through the way of user's questionnaire.
Acknowledgements
We would like to thank National Science Council and Chung Hua University. This
research was supported in part by a grant from NSC 96-2520-S-216-001 and CHU 96-
2520-S-216-001, Taiwan, Republic of China. We would like to thank Dr. Wong Wai-
Tak for his insightful comments and suggestions on an earlier version of this paper.
This paper owes much to the thoughtful and helpful comments of the reviewers.
References
1. Wong, W.T., Chou, Y.M.: An Interactive Bomberman Game-Based Teaching/Learning
Tool for Introductory C Programming. In: Hui, K c., Pan, Z., Chung, R.C k., Wang,
C.C.L., Jin, X., Göbel, S., Li, E.C L. (eds.) EDUTAINMENT 2007. LNCS, vol. 4469, pp.

433–444. Springer, Heidelberg (2007)
2. Kao, F.C., Feng, T.H., Kuo, C.L.: The Design of Internet Collaborative Learning System
Structure with the Integration of 3D Virtual Instruments. In: 4th IEEE International Work-
shop on Technology for Education in Developing Countries(TEDC 2006), Iringa, pp. 71–
75 (2006)
3. Luo, S., Sun, S., Pan, Y.: An Object-Oriented Integrated Knowledge Approach to Internet-
Based Product Collaborative Conceptual Design. In: 9th International Conference on
Computer Supported Cooperative Work in Design, vol. 2, pp. 1129–1134 (2005)
4. Björck, U.: Theoretical foundations of Computer Supported Sustainable Learning Proc-
esses (CSSLP). In: Nuldén, U., Hardless, C. (eds.) CSCL, A Nordic Perspective. Papers
From the Nordic Workshop on Computer Supported Collaborative Learning, Göteborg,
Sweden, pp. 11–17 (1999)
186 W C. Chang and K C. Chen
5. Caballe, S.: On the Advantages of Using Web & Grid Services for the Development of
Collaborative Learning Management Systems. In: First International Conference on Com-
plex Intelligent and Software Intensive Systems (CISIS 2007), Vienna, pp. 263–270
(2007)
6. Turani, A., Calvo, R.: Sharing Synchronous Collaborative Learning Structures using IMS
Learning Design. In: 7th International Conference on Information Technology Based
Higher Education and Training (ITHET 2006), Ultimo, NSW, pp. 25–34 (2006)
7. Yu, D., Chen, X.: Supporting Collaborative Learning Activities with IMS LD. In: 9th In-
ternational Conference on Advanced Communication Technology (ICACT 2007), Gang-
won-Do, vol. 1, pp. 316–320 (2007)
8. Hong, H.C., Chen, Y.C.: Design and Implementation of a Web-based Real-time Interac-
tive Collaboration Environment. In: Ninth IEEE Workshop on Future Trends of Distrib-
uted Computing Systems (FTDCS 2003), pp. 295–300 (2003)
9. Wijekumar, K.J.: Implementing Collaborative Learning Research in Web-Based Course
Design and Management Systems. In: IEEE International Conference on Advanced Learn-
ing Technologies, Madison, WI, pp. 86–89 (2001)
10. Deshpande, N., de Vries, B., van Leeuwen, J.P.: Building and Supporting Shared Under-

standing in Collaborative Problem-solving. In: Ninth International Conference on Informa-
tion Visualisation (IV 2005), pp. 737–742 (2005)
11. Liu, Z., Jin, H., Fang, Z.: Collaborative Learning in E-Learning based on Multi-Agent Sys-
tems. In: 10th International Conference on Computer Supported Cooperative Work in De-
sign, Nanjing, pp. 1–5 (2006)
12. Asensio, J.I., Dimitriadis, Y.A., Heredia, M., Martinez, A., Alvarez, F.J., Blasco, M.T.,
Osuna, C.A.: Collaborative Learning Patterns: Assisting the Development of Component-
Based CSCL Applications. In: 12th Euromicro Conference on Parallel, Distributed and
Network-Based Processing (EUROMICRO-PDP 2004), pp. 218–224 (2004)
13. Howell, K.: First Computer Languages. J. Computing Sciences in Colleges archive, Con-
sortium for Computing Sciences in Colleges, USA 18(4), 317–331 (2003)
14. Ge, Z., Hillenbrand, M., Müller, P.: Facilitating the Interoperability among Different VoIP
Protocols with VoIP Web Services. In: First International Conference on Distributed
Frameworks for Multimedia Applications (DFMA 2005), pp. 39–44 (2005)
15. Butcher, D., Li, X., Guo, J.: Security Challenge and Defense in VoIP Infrastructures. IEEE
Transactions on Systems, Man, and Cybernetics-Part C: Application and Reviews 37(6),
1152–1162 (2007)
16. Ko, C.S.: Voice Application On Multi-Player Online Game. Chung Hua University,
Hsihchu, Taiwan [text in Chinese] (2007)
17. Liu, H., Mouchtaris, P.: Voice over IP signaling: H.323 and beyond. IEEE Communica-
tions Magazine 38, 142–148 (2000)
18. Chen, C.H.: VoIP Support on Massive Multi-player Online Game Architecture. Chung
Hua University, Hsihchu, Taiwan [text in Chinese] (2006)
19. Voice Over IP 101 Understanding the Basic Networking Functions, Components, and Sig-
naling Protocols in VoIP Networks, pp. 9-11(2007),
solutions/literature/white_papers/200087.pdf
20. OpenH323 Project,
21. NetBeans Collaboration Project,

F. Li et al. (Eds.): ICWL 2008, LNCS 5145, pp. 187–195, 2008.

© Springer-Verlag Berlin Heidelberg 2008
Design and Implementation of an Internet-Based
Platform for C Language Learning
*

Jianxin Wang, Ling Chen, and Weiwei Zhou
School of Information Science and Engineering, Central South University,
ChangSha, 410083, China
,chenboo_cn@126com
Abstract. A designing model and implementing method of an Internet-based
system for C Language Learning is proposed in the paper, which based on .NET
platform. The communication between the system and the compiler of C Lan-
guage is implemented by using redirect technology. More powerful compile and
logic error-check function are provided in the system, which adopts C#
Multi-thread technology and synchronous control theory. Object-Oriented de-
sign methods and C# Reflection technology are used to solve the problem of
dynamic test-case scheduling, which makes the system be extensible and robust.
In the platform, users can learn C language knowledge and do C program. Es-
pecially, they can find out the logic errors which are bugs and can not be dis-
covered by the compiler in programs. Once the users can gain access to the
Internet, they can get hints and extra help easily through the interactive system at
anytime and in anyplace.
Keywords: logic error checking; compile error checking; distance education; C
language learning.
1 Introduction
Long-distance education is a teaching channel in full swing in the world which breaks
through time limit by using computer technology and the Internet [1]. One key point to
the success of distance education is Internet-based learning platforms. As far as we
know, developing interactive systems of time-free, resource-sharing, system-opening
and Internet-based is a hot research at present [2]. These platforms make the

long-distance education be effective. So the design and development of virtual learning
platform is a necessary part of distance education system [3].
Furthermore, C language is a required course for computer professionals. Though it is
powerful and flexible, but it’s difficult to learn [4]. Especially in long-distance education,
the teachers are unable to face-to-face teach students. Meanwhile, in computer pro-
gramming, a compile error occurs when the compiler encounters some problems in the


*
This work was partially supported by the National Natural Science Foundation of China
(60673164), Provincial Natural Science Foundation of Hunan (06JJ10009), Program for New
Century Excellent Talents in University (NCET-05-0683), the Program for Changjiang
Scholars and Innovative Research Team in University No. IRT0661.
188 J. Wang, L. Chen, and W. Zhou
code. And a logic error is a bug that causes the program to operate incorrectly or achieve
the function incompletely. As a C-language learner, lacking of programming experience,
the student will lose learning interest easily because of the huge number of compile and
logic errors. Besides, the compile errors provided by TC are not all exact. They always
contain many correlate errors. And the logic errors are hard to be solved. They usually
hide in deep and can not be discovered by compiler. These factors make learning C
language be difficult.
In recent years, different types of learning platforms used to distance education are
being researched and designed. An Internet-based system for Java language learning is
proposed in Ref. [6], which can compile the student’s program and view the error
messages through the student’s workplace in the online system. A component-based
Virtual Laboratory Platform is introduced in Ref.[7] and [8]. It uses Java Bean to im-
plement the virtual experimental equipments, which improves the developing effi-
ciency and achieves the software reuse. Ref.[9] and [10] proposes an interactive
learning environment for teaching and learning of computer programming. Although
these platforms are interactive and timely, they only offer a simple compiling and

debugging environment, but without logic error-check function. If learners meet logic
errors and difficult compile errors, the systems are unable to provide effective help.
Therefore, an Internet-based system for C Language Learning is proposed in this
paper
which provides more powerful compile and logic error-check function. The
system is robust, timely and extensible. It can improve the teaching and learning of
computer programming in distance education.
The remainder of this paper is structured as follows. In section 2, we introduce the
system architecture and function. Section 3 describes the design and implementation of
compile Error-check. Section 4 shows the design and implementation of logic error-check.
Section 5 gives an example in the system, and the last section is the conclusion.
2 System Architecture and Function
The Internet-based Platform for C Language Learning is composed of two parts: the
client and the server. Its architecture is shown in Figure 1. The client mainly provides C
language learning and doing programming environment, which based on .NET plat-
form. The server based on .NET and SQL Server 2005, it is mainly responsible for
managing users, documents and databases and achieving logic error-check function.
The server contains three databases: User DB, Test-case DB and Question DB. These
databases are managed by DB management module in standard.
The system module is shown in Figure 2. The client contains user login, compile and
logic error-check, TC programming and auxiliary modules. The server contains user
management, DB management, logic error-check service and auxiliary service mod-
ules. The compile error-check model offers programming environment and powerful
compile error-check function. The logic error-check model provides safety-test, com-
piling and debugging for the .C source files received from the client, which is imple-
mented by redirect technology and DB management technology. The auxiliary module
in client mainly provides a large number of learning materials and tools, which will be
updated timely. And the multithreading and process management, document man-
agement and interface management are offered by the auxiliary service module.

×