0% found this document useful (0 votes)
13 views

The Thinking of Computer Language Courses in China

The document discusses computer language courses in China. It covers the history of such courses, from early languages like BASIC and FORTRAN to more modern languages like C and Java. It also discusses issues with how these courses are currently taught in China and perceptions of them, noting many students don't understand the purpose of these courses.

Uploaded by

ragsmlrqf
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

The Thinking of Computer Language Courses in China

The document discusses computer language courses in China. It covers the history of such courses, from early languages like BASIC and FORTRAN to more modern languages like C and Java. It also discusses issues with how these courses are currently taught in China and perceptions of them, noting many students don't understand the purpose of these courses.

Uploaded by

ragsmlrqf
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

The 6th International Conference on

Computer Science & Education (ICCSE 2011)


August 3-5, 2011. SuperStar Virgo, Singapore ThC 5.20

The Thinking of Computer Language Courses in


China

Yu HE
School of Computer and Information Engineering
Beijing Technology and Business University
Beijing, China
[email protected]

Abstract—Computer Language Courses are one kind of and even assembly language. With the development of
computer course that is very important to foster Chinese computer science and technology, C, C++, Java languages
computer talents. The paper discusses author’s some puzzle and appear one after another. Among these languages, BASIC is
thinking about courses offered, teaching and contents of taught in the most so that it is said that the number of basic
textbooks in China. language books published in China are the largest in the
world. Previously, not only students majoring in science and
Index Terms—Learning Computer, Computer Language, engineering had to learn computer language courses, but also
Computer Program, Computer Programming, students in liberal arts. It’s said that students in Chinese, history
I. INTRODUCTION and other professional were also required to learn BASIC
language courses. And people always regarded "learning
As computers and its related product applications, such as computer" as "learning computer languages".
networking, communications, intelligence appliances etc, are
becoming increasingly popular and universal, combined with II. THE CONCEPT OF COMPUTER COURSES
the rapid development of computer science and technology, According to understanding from author, "computer
computer technology has permeate all walks of life and aroused language" is derived from the concept of "human language".
huge changes in our production, life, and even our thinking Strictly speaking, it seemed that the "computer programming
pattern. The computer has become indispensable to human language" is more accurate, while "computer language" is just
beings in modern society. It is inconceivable that how mankind an abbreviation.
can survive and develop in modern society if there is no
computer. In the eyes of author, many Chinese students do not figure
out the question why we learn "computer programming
In the past three decades, to keep up with the development language" courses from the beginning to the end. Moreover,
of the world, all Chinese schools and institutions almost have they also do not understand the purpose of studying these
set up and offered the various kinds of computer programming courses, and do not by far understand essential content of
language courses. Today most of majors in science and courses. They just learn passively in order to acquire credits,
engineering take computer programming language as because their teaching program includes these courses.
compulsory course, and economics, finance as well as other
professionals also take these lessons. Probably, many teachers who teach these courses are also
not quite clear why set up such courses, even among the
I remembered when personal computer just appeared in our teaching staffs that drew up teaching programs. Whether
country, and become increasingly popular in schools, offices, students or the teachers, they only consider obscurely that they
homes and among ordinary people, we all began to study should learn such courses, because they want to "learn
computer and formed upsurge for that. In this process, schools computer".
and agencies all provided "computer language" courses. For
students in universities, regardless of what majors they are in, As a teacher having been teaching such courses for many
they are required to attend computer classes. Those non-school years, I asked many students who have finished these courses
students who want to learn how to use and operate computer in school several very common, very simple but very important
are also required to study computer programming language. questions:
After all, computer is different from electric equipments like 1. What is called "computer"? Or what is "computer"? (This
TV, which you just need to buy back, open the box, plug in the "computer" refers to modern "electronic digital computer" that
power, press some buttons, and then can use easily. Before you we understand tacitly and is being widespread used now rather
master the computer, you need to study some related courses than mechanical computer or others. For convenience, we
first. called it "computer" for short in the following).
Early computer curriculums mainly focus on computer 2. What is "computer program"?
language courses, including FORTRAN, BASIC, PASCAL etc,

978-1-4244-9718-8/11/$26.00 ©2011 IEEE 634


ThC 5.20

3. What is "computer programming"? III. THE AIM AND TEACHING OBJECT OF THIS COURSE
4. What is "computer programming language"? Why do so many schools set up and teach computer
language courses for so many majors, and why these students
For these easy questions that can be regarded as Elementary are required to learn computer language courses? In my
knowledge, a lot of students who have finished computer opinion, having understood several issues discussed in the
language courses still do not understand it, or only have previous section, you should easily understand these questions.
superficial knowledge of it. It’s a pity for our teaching and By rights, the main purpose of teaching computer language
students. courses is for training specialized talents who are engaged in
For above questions, we may use not strict but common R&D and maintenance of computer software in the future, and
words to answer questions as follows: these courses are indispensable to them. It is unimaginable that
how you can develop or maintain computer software without
1. As for the concept of computer, there is no unified knowledge about computer language. But if you just learn to
definition of it, but have many statements. We can understand how to use and operate a computer, you do not need this.
it like this opinion that the computer is one of the greatest
inventions in human history, and it is difficult to understand In real life, a lot of people hold opinion that the computer is
this magical machine-equipment for ordinary people. The a necessity in this era so that we must learn the computer to
computer has the ability of calculating at high-speed and meet the requirements from modern society, to keep up with
internal storage. Meanwhile, it is an automatic electronic- the times. Not only young people but also the older should
equipment controlled by computer programmed. The computer learn the computer, or else will be abandoned in this era.
can make sure every procedure following the programme, and There is an obvious concept difference between “learning
then process, store or sent input data in order to obtain output computer” we often talk and author’s opinion. The author
information we expect, which increase whole social thinks “learning computer” includes dual meanings
productivity rate, normalize all kinds of operations and
improve quality of life for people. 1. Learn to use computers;
2. The normal work of computer is based on the program, 2. Learn to design and manufacture of computer (software
which means that everything it does and every task it completes or hardware).
have to be scheduled by the procedure, being accomplished in a People often confuse opinions listed above just as people
certain sequence depending on the different situation. These usually confuse concepts between "learn to drive" and "Learn
procedures that draw up work steps and operation sequence for to repair the car" in daily life. Driving and repairing a car are
computers are called "computer program"; totally different, so the required knowledge, the cost of time
3. The computer works normally according to procedures and effort as well as the expense are not the same. Furthermore,
and sequence, that is, computer program, which is designed by the gains, the role knowledge will play and the purpose is also
software engineer in advance, or else the computer cannot do quite different. Thinking about time cost, we normally spend
anything. The intelligence of computer is probably not one or two months in learning driving and then take one or two
comparable to a primary school student. because it can only do months for practicing and mastering. However, one or two
some basic arithmetic addition and subtraction (including months, even one or two years are far from enough for learning
multiplication and division, due to multiplication and division designing or manufacturing vehicles. This example is similar
can be achieved through addition and subtraction)as well as to difference between “learn to use smart phone” and “learn to
some basic logic operations and others. All things finished by manufacture smart phone”.
the computer, including very complex tasks, eventually All in all, we can understand that "learning computer
transform into several basic operations such as addition, programming language" should be second condition, because
subtraction and logical operations. The methods and its main purpose is to design and manufacture (development or
architecture of computer program designing is known as maintenance) computers (software). Therefore, learning this
"computer programming". To achieve better effect, these course is just like manufacturing computer (normal work can’t
programs are often accomplished by professionals. be without software).Furthermore, on the one hand, in order to
4. A very important way to complete the computer "manufacture" the computer software, you need study some
programming is through certain language which can be other courses; have command of more related knowledge. Just
understood by the computer; perform the work assigned by learning the computer language course is not quite enough. On
human beings and exchange with human beings. Such language the other hand, computer language courses may lay an
is called "computer programming language", often referred to important foundation for other computer-related courses in
"computer language." It is considered as a means, a medium, a future.
bridge, between people and computers for exchanging Through above discussion, we can know that learning
information. The reason why the computer programming computer languages is not necessary for all people who want to
language is called “language" is that it is much like human "learn computer", but mainly to those who want to be engaged
language when human beings have mutual ideological and in "manufacturing" computers (particularly to those who will
emotional exchanges. The utilization of computer language will be engaged in development and maintenance of computer
generate computer program or software that is necessary for the software in the future). Most of people who just want to learn
normal work of computer. how to use a computer generally do not need to study such

635
ThC 5.20

courses. Or else it is surely time waste. Most of them can learn theory, software engineering. For example, if you want to be
some skills of computer operation, or some application qualified for designing computer software in practical work,
software which can help to deal with their job and stuff in their you should at least know some knowledge know as "software
lives. This is enough to meet their needs. It is time-consuming engineering". Personnel actually engaged in software
and laborious to study hard how to design computer software, development, particularly in more complicated software
and the result is fruitless and disappointed. Only if you really development, must have a profound understanding about it.
need some more computer language knowledge to facilitate Modern computer software become increasingly complex and
your work, or you are particularly interested in it, you can learn huge, if do not understand software engineering knowledge,
related knowledge in order to compile some special programs you will cannot draw up a software, even a simple software.
(software). Practice tells us, if you would like to compile a software, you
need to learn some more the basic knowledge of software
Further discussion about the above issues, as for those engineering, which is summary of experience and lessons
students who learn computer language courses, those teachers summed up by thousands software developers since the
teaching computer courses, and more importantly, those who emergence of computer software. For example, a computer
draw up teaching schedules, they should understand the software is not just composed of several lines of code, it require
purpose and requirements of setting up, teaching and learning a lot of work to do, such as some necessary research, feasibility
such courses. analysis, system analysis, system design, detailed design,
IV. THE CONTENT OF THESE COURSES writing the module code, debugging, testing, but also need to
maintain a long time, and compile the manual documents and
I presented my personal perceptions of teaching and so on. Although the development of small software often does
learning "computer programming language" in the above not require such rigorous and cumbersome process, or so many
contents, now we discuss about some views about the contents steps, but such training and our awareness of this is necessary,
of these courses in the following. and the effect we get would be significantly different.
If you agree with the previous ideas presented by the author But at present most of our textbooks about computer
towards teaching and learning computer language curriculum, languages introduced a little or nothing of knowledge in this
then consider: since the foremost purpose of teaching computer area. If were a student major in computer science, you will
language courses is bringing up special talents engaging in study some follow-up computer language courses in the next
development and maintenance of computer software in the few semesters, learn many important and necessary knowledge,
future, not for training those who just have ability of simple and receive some necessary training. But it is not so lucky for
computer operations, and then its contents also should to be many other majors, because there are rarely computer language
compiled for this purpose accordingly. courses opening up for them in future. This is disadvantageous
Now many of textbooks about computer languages in China to them. At least after they finished learning computer language
are mainly introduce grammar, syntax knowledge of the course, their knowledge system is still deficient. Therefore, the
computer language, which are written in great detail, and these effect they get from learning computer language classes may
contents are taught in classes. It is true that this have some not be very satisfactory. For example, many students
advantages to self-study students, but in the process of teaching completing computer language courses most probably do not
such courses, after students finished such courses, in the know what computer software is testing, let alone let them test
process of the application of their knowledge of such courses, a software developed by themselves or others. So how can they
you will find out there is an important problem: it is far from ensure their software have no problem? How can we guarantee
enough that just learning the content of the current textbook, that our software have no defects? Although, in theory, the
students need operative abilities cultivation and sufficient computer software quality cannot be assured by testing, but it is
practical experience as well. a very important and indispensable tool so far. One of the most
basic qualities that computer software developers must have is
When teaching these courses, most likely we will find that acquaintance and skilled in the computer software testing in
most of students cannot write software, even most simple order to validate and improve their software.
software, after finished courses. They may choose the correct
answer from A, B, C, D in the examination, but when they are Informed people would say that just a computer language
required to write a small program, they may do not know where course cannot include so much content, because class hour will
to start. One reason for this might be: they did not know and not permit it, and there is no requirement in syllabus. But the
have not been received additional training on the development question is there is no follow-up computer course for all majors
of computer software, did not know where to start to write the opening up computer language course now, and then how can a
computer software, how to transform the real, concrete computer language course generated effect that should have?
problems into computer software codes to finish their work, did How to achieve its intended purpose better? What is the
not know how to use knowledge learned in the computer necessary to open up and teach such courses? More
language lessons to solve the practical and specific problem. specifically, will such learning allows these students to compile
a really useful software?
There are many problems here, practicing less, lacking
experience, lacking of other relevant knowledge and so on. V. THE SET OF THESE COURSES
Only to learn computer language knowledge is not enough. With the development of computer science and technology,
There is some more knowledge or courses we should learn, for particularly in research areas such as computer software theory
example, data structures, operating systems, the database

636
ThC 5.20

and practice, automatic programming, nowadays there have addition, there are many interfaces used to connect the module
been appeared some more convenient, more intuitive software written in some other computer languages, such as FORTHAN,
dedicated to specific area. It is a kind of application software, C, C++, Java, and you can use these interfaces to call external
with the secondary development capacity. In other words, this routines, or to do multi-language programming. Learning these
type of application software can be extended with new modules software is a really good option for science and engineering,
which can be written in language provided by its own. When economics, finance majors, and even primary and secondary
using this software language to compile new software modules, students studying Mathematics and Physics.
to add new features, you will find that it is more convenient,
more practical, more well-directed and easier to learn. If there I believe that for those non-computer majors, studying this
exists a related demand, learning directly such software software may be better than learning pure computer courses,
language directly is must be more time saving than learning and it will be more useful and more helpful, and their
pure computer language, and spend less effort, having better enthusiasm for learning will be greatly enhanced. If need more
results, and it is not necessary to open up pure computer and better ability in programming, they can learn more
language courses. programming knowledge afterwards, learn or self-learn some
related elective courses, gain experience through practice. Even
For example, some scientific computing software that is for computer science students, they also can study such courses
increasingly popular in recent years, such as MATLAB, is as elective courses. So they can learn some enlightenment
taught to science and engineering students in the United States knowledge of computer software development. And according
and Canada. There is a variety of similar software, such as to the author's teaching practice, the teaching results are very
Scilab (which is the same type of software MATLAB, and significant.
sharing a same source of MATLAB. MATLAB is a
commercial software, Scilab is a free software). MATLAB is VI. CONCLUSION
an application software, but it is also can be seen as a designing Today, the world has entered into the information era. In
computer program software for its programming functions. It is order to train more computer professionals, we should pay
not only suitable for college students, graduates, engineers and more attention to computer language courses, because it is play
technicians, and it is also helpful for Primary and middle an important role on development of Chinese computer
school students to learn mathematics, physics. The impact on industry.
all these people can compare with the impact of calculator on
the people who need math calculation. This software has the As a teacher having been teaching such courses for a long
ability to solve mathematical problems, elementary addition, time, I always pay attention to its development. Particularly for
subtraction, multiplication, in addition, and you can also use it such courses provided in colleges and universities and the
to solve the mathematics of calculus problems (Limit, the contents of textbooks, I presented several views based on my
derivative, quadrature, etc.), linear and nonlinear equations, and own teaching experience for many years. I hope it can arouse
matrix-related problems (such as a matrix determinant, matrix attention and have widespread discussion. Everyone can
inverse, matrix addition, subtraction, multiplication, etc.), to express his opinions, and make contribution to the development
solve differential equations, etc.; Not just for the numerical of Chinese computer education.
calculation, it also can solve symbolic computation; Besides
REFERENCES
the traditional scientific computing, it also can do a lot of
graphics work, can do computer simulation and control, [1] Tan haoqiang, Programming in C(3rd Edition), Tsinghua University
Press, Beijing, 2005.7.
communications and so many kinds of work. This software not
[2] Zheng Li, Programming in C++(3rd Edition), Tsinghua University Press,
only can be used directly with the existing functionality, but Beijing, 2005.5.
also can be used to do second development, which means it can
[3] Wang Lizhu, Data Structures with C and C++(3rd Edition), Tsinghua
compile a software. You also can add new features to this University Press, Beijing, 2008.3.
software, expanding the depth and breadth of its application. In

637

You might also like