The Fascinating Science of Programming Education

Computer programming

Computer programming is a process which leads from an original formulation of a computational problem to executable computer programs. Programs are a formal expression of algorithms, which are step-by-step instructions describing tasks that can be performed by a computer.

Some early programming languages were difficult or awkward to use, so another type of language called assembly language was developed that was more machine independent (the programmer had to write in human readable form). Programming requires substantial study of syntax rules for each specific programming language as well as knowledge about the application domain for which the program is written.

Korea

Programming education is an important key for success of a country in the digital economy. Korea has been undergoing a Computer Programming Education Reform Movement (CPERM) to promote programming education and programming career opportunities. A survey was conducted to identify research on computer programming education in Korean schools. The participants were 22 school-teachers, nine students, one teacher at an English club for elementary school children, and one parent who had enrolled their child in a coding class at an after-school center.

This article discusses the conclusions of the survey. The data shows that programming education in Korean schools is still a very recent phenomenon, but that there are some notable differences between various types of schools. The teachers, students and parents in the survey stressed that programming categories such as Computer Science and Programming are separate from each other and should not be taught together.

Currently, computer science is offered as an optional subject in elementary school, while programming is offered as an extra subject in middle school (grade 7). In recent years, although there has been some progress in programming education, it remains far less developed than computer science. Both computer science and programming education should promote interdisciplinary studies to achieve more positive effects on student achievement and career choices.

Compiler Design (Korean: 텍스트 디바인드 컴파일 설계 ) is a traditional journal of computer architecture and programming theory. It is published by the Computer Systems Laboratory in KAIST. A tradition at Compiler Design has been to include a review article in each volume on what was then the latest assembly language and high level language standards. The called “Compiler Review” articles have usually been written by members of the A-Group, and are often considered definitive articles for that language. Various versions of these have appeared in different volumes since 1991.

On June 20, 2005, the Korean Ministry of Education (MOE) required all elementary schools to implement a computer science curriculum. On November 1, 2005, MOE clarified that computer science will be an elective subject and the subject itself is not mandatory starting from 2008.

In 2014, the CS area in Korean National Standard Version 2 (KNSV2) has been defined as “Computer Science – Computer Programming” and the CS area in teaching materials is “Information Technology for Computer Programming”. The Ministry of Education has published a new version of textbooks for that elective subject.

The Ministry of Education has tried to make CS education in Korean elementary schools, but it is still very recent.

On 3rd Dec. 2007, The Ministry of Education issued the Rule on Information Technology for Elementary School Students and Teachers. It includes a part of Korean National Standard in CS area which is “Computer Science and Computer Programming” (CS/CP).

As of December 2012, around 90% (1467 out of 1563) schools are providing CS education according to this rule. However, the actual number is much higher due to the lack of accurate data collection.

The Ministry of Education has published a new version of textbooks for CS elective subject (CS/CP) since December 2012. The Korean National Standards Organization (KNISO) has also published new and revised textbook standards in 2011 and 2013 respectively.

In 2012,the Ministry of Education issued another rule to improve CS education in Korean junior high schools starting from 2014. The Rule increased the focus on programming education to make it compulsory to all students.

Japan

In Japan, programming education is very recent. In 2001, a guideline for teaching programming in elementary schools was published in order to standardize computer science and programming courses as well as to make them compulsory from 2010 onwards. In 2005, the guideline was revised and now the course is compulsory from 2007-2009. Programming education is compulsory since 2008 in junior high (middle school) level according to this rule (Japanese National Standard Version 2).

In 2008, the Ministry of Education (Japan) released a Computing Curriculum Framework for elementary school students. The framework lays out syllabi for four grades in elementary school: Grade 1 is for kindergartners, Grade 2 is for first grade students, Grade 3 is for second grade students and Grade 4 is for third grade students.

Each grade has the same curriculum which is divided into two areas: Computer Science and Programming. Computer Science focuses on CS1 and Computer Science 2 while Programming focuses on Programming 1 and Programming 2.

In 2007, a new computing curriculum was implemented in middle school level which is compulsory for all students starting from 2008. This time, computer science and programming are separated as two separate subjects called Computer Science (CS) and Programming (CP). Computer Science focuses on CS1 and Computer Science 2 while Programming focuses on Programming 1 and Programming 2.

In September 2010, it became mandatory for junior high school students to study CS or CP. On August 27, 2012, an organization representing Japanese computer science teachers published a Declaration of the “Guidelines on the Selection of Courses for Junior High School Students” in which it criticizes the way CS/CP is taught in junior high schools.

In November 2011, the Japan Ministry of Education (MEXT) announced that they would take steps to merge CS and CP into a single subject. In October 2012, MEXT introduced a prototype of a new textbook and released sample lesson plans for the new subject (the following video is in Japanese). The updated computing curriculum was implemented in 2014 after all textbooks were changed into the new one (Old CS1-4 textbooks remain optional).

The new curriculum consists of three areas: Programming 1/2, Computer Science 1/2 and Computing Studies. Each area has its own focus: Programming focuses on algorithm and programming practice while Computer Science focuses on system design and data structure. Computing Studies is about using computers such as word processor.

United States

In the United States computer science and programming are both only offered as electives in secondary schools. Programming is only available at the University level to students who major in computation sciences or computer engineering. However, there is no national standard for any of these subjects (computer science and programming).

There are no nationally recognized curricula for either subject and since there are few colleges that offer them, CS and CP courses vary greatly from one institution to another (Berkeley, UC Davis, Cornell University). With regards to CS education in US schools, many US high schools do not offer it even as an elective subject. The Computer Science Education Act was made into law by President Barack Obama on December 8, 2011. It is intended to enhance and strengthen the role of computer science in K-12 education in the US.

Unlike many other nations, Computer science education is a relatively new subject in the US. It was first offered in only 16 states by 1991, but is now offered in 45 states, as well as the District of Colombia. Besides the National Science Foundation’s CS10K Project (which aims to develop innovative curricula and teaching strategies in K-12 CS education), many other organizations such as Code.org are also working towards enhancing CS education in the U.S.

Although most U.S. states have now joined the movement towards greater computer science education in high schools, very few universities also offer CS degrees. Many universities offer graduate-level Computer Science and related degrees such as Computer Engineering or Information Systems, but not at the undergraduate level.

In a report released by the National Academies of Sciences in 2013, it concluded that “The United States’ capacity to produce computer science graduates is being surpassed by other nations”. The report also warned about a looming skills shortage for engineers and scientists in the U.S. that could be detrimental to the country’s economic security and national competitiveness in an era when technology is becoming increasingly important to its infrastructure, economy and public safety.

Germany

In Germany, computer programming education is compulsory for all students in secondary schools. It forms part of the mathematics coursework. The focus of the study is on programming languages and discrete mathematics. The coursework begins with a survey about the history of computing, basic computer systems and software engineering.

The second part of the course focuses on procedural programming, object-oriented programming and higher-order functions. Students are taught to program using a variety of languages such as HLA, Ada or C#.

In Germany, the Bachelor’s degree in Computer Science (KompSci) is an academic degree that combines computer science with other fields such as mathematics, physics, electrical engineering or economics (Bachelor “in” KompSci). Since 2013 it has been possible for students to specialize in Computer Science at universities and colleges in Germany.

Australia

In Australia, computer science is taught as part of the tertiary Bachelor of Information Technology (BIT) degree at tertiary level (it is compulsory). The focus of the study is on programming languages and discrete mathematics. It encompasses logic, programming languages, databases and algorithms.

Students learn to program using a variety of languages such as C#, Java or COBOL. A major focus is on object-oriented programming and software engineering.

Since 2013 it has been possible for students to specialize in Computer Science at universities and colleges in Australia.

France

The main French scientific organization is called AFIA (Association Française d’Informatique et de Mathématiques Appliquées). Graduates from a “Licence” are called “Ingénieur Diplômé d’Etudes Supérieures” (IDE), and can work in all positions of the field. Graduates from a “Master” are called “Ingénieur Diplômé de l’École Polytechnique” (IDE Polytechnique), and can work in research and development.

Polytechnique’s alumni are called “Polytechniciens” (often abbreviated to “PT”). There are about 300,000 alumni. Polytechniciens have created companies such as: Alcatel Bell, Alcatel-Lucent and LG Electronics. Other notable Polytechnicien alumni includes René Magritte, Christian de Villeneuve, Jacques Cartier and Paul Langevin.

The official slogan of the Polytechnique is “”patente, art et technique”” (“patent art and technology”), meaning “science, art and technology”.

Russia

Programming is one of the most popular subjects of study in secondary school and universities in Russia. Every student who enters a secondary school or university takes 4 courses. These courses are: math, history, Russian language and programming; the number represented by “4” can vary from 2 to 3 depending on the region or institution. The teaching of programming is done using a variety of languages such as Pascal, Java or C++.

Russia is one of the countries where computer science and programming education is the most widespread. Its popularity is due to a historical misunderstanding: Russia didn’t have an official system of education until 1804, and in 1884, when international congresses were proposed to organize a universal system of education, Russian scholars didn’t agree with the proposal. The first polytechnic school was opened in Russia only in 1880.

In Moscow it was called “School for the study of systems” and in St. Petersburg it was called “School for the study of machines”. Programming wasn’t taught because computers didn’t exist yet at that time (1880). Nowadays, Russia has many professors who teach programming as part of their university courses.

Sweden

Computer science is one of the four subjects taught in almost all schools in Sweden. The other subjects are, mathematics, science and Swedish language. The teaching is done using the C++ programming language and allows for a very close connection to how computers work and their operation.

Switzerland and Liechtenstein

In Switzerland, computer science has been taught since 1981 at secondary school level. Coursework was previously done through a series of projects made by students with different levels of difficulty, although this has not been the case for more than 10 years.

China

In China, computer programming education is very interesting. As we enter the 21st century, the development of China’s information technology industry has been increasingly dynamic. In 1994, China became a core member of International Organization for Standardization (ISO).

One-third of their total population are under the age of 18 years old. The main goal for computer programming education in China is to create human resources who can meet the needs in working in industries like: Information Technology and other fields that require creativity and analysis skills.

In recent years, many freshmen have to choose one or two courses related to IT at university entrance examinations and only a small number of students with excellent grades can choose not select IT related courses.

Conclusion

Computer science is a field with growing demand. Due to the growing number of jobs in the industry, an increasing number of educational institutions are starting to offer computer science courses. Computer programming education is compulsory for high school students in Germany and can be compulsory in other countries too.

Computer science is a great field of study for those who have an interest in the way computers work and how they can be used to solve complex problems.

If you want a full-time job after graduation, you need to know which languages are the most in demand. Although there is no definitive list out there, PC Ocular magazine has already collected the most popular programming languages in an article published in our website.

Benkő Attila is a Hungarian senior software developer, independent researcher and author of many computer science related papers.

Leave a Reply