Theoretical branches in teaching computer science



Similar documents
E-LEARNING IN COMPUTER SCIENCE EDUCATION. Rostislav Fojtík and Hashim Habiballa

Guide to the MSCS Program Sheet

Bachelor s Programme in Analytical Finance, 180 credits

Science teachers pedagogical studies in Finland

CHEMICAL EDUCATION AND NEW EDUCATIONAL TECHNOLOGIES : AN INTER-UNIVERSITY PROGRAM FOR GRADUATE STUDIES

Curriculum for the basic subject at master s level in. IT and Cognition, the 2013 curriculum. Adjusted 2014

Master of Arts in Mathematics

Computer Science Information Sheet for entry in What is Computer Science?

Guide to the MSCS Program Sheet

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Study, Internship, and Examination Regulations. Academy Profession and Bachelor Degrees INTERNATIONAL BUSINESS COLLEGE MITROVICA

The University of North Carolina at Pembroke Academic Catalog

Bachelor of Science [Computing Science & Information Systems] Programme Document

Bachelor Program in Analytical Finance, 180 credits

UNIVERSITY OF AMSTERDAM FACULTY OF SCIENCE. EDUCATION AND EXAMINATION REGULATIONS Academic Year PART B THE MASTER S PROGRAMME IN LOGIC

Competencies of BSc and MSc programmes in Electrical engineering and student portfolios

An Introduction to Cambridge International Examinations Board Examination System. Sherry Reach Regional Manager, Americas

INTERBUSSINES ACADEMY LTD. Business Administration. Bachelor's Program

Learning Equity between Online and On-Site Mathematics Courses

Guide to the MSCS Program Sheet

Teaching of the subject IT/IS Project Management at Faculty of Business and Management. Lenka Smolikova

TEACHERS VIEWS AND USE OF EXPLANATION IN TEACHING MATHEMATICS Jarmila Novotná

MASTER S DEGREE PROGRAMME IN LEARNING, EDUCATION AND TECHNOLOGY (LET)

Guide to the MSCS Program Sheet

Case Based Scenarios: Evidence Based Teaching Learning Strategy in Nursing Education Pharmacology Course

AN INNOVATIVE INTEGRATED MATHEMATICS, SCIENCE, AND TECHNOLOGY EDUCATION TEACHER CERTIFICATION PROGRAM: CHARACTERISTICS AND FORMATIVE EVALUATION

BIMM Course Specification

COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND

3. Programme accredited by Currently accredited by the BCS. 8. Date of programme specification Students entering in October 2013

Study Program Handbook Mathematics

BIMM Course Specification

How To Teach Engineering Science And Mechanics

Study Program Handbook Computer Science

Postgraduate Studies MASTER S (2ND CYCLE) PROGRAM IN ENGLISH LANGUAGE TEACHING (ELT)

Programme Specification (Undergraduate) Date amended: 28 August 2015

Learning Objectives for Selected Programs Offering Degrees at Two Academic Levels

Bachelor s Programme in Agricultural and Environmental Management Study line: Environmental Management. Total Study description

Educational Media, Online Learning, Didactical Design, Master Program, Internet

Curricula for Chemical Engineering Degree Courses at Universities and Fachhochschulen (Universities of Applied Science)

Online Computer Science Degree Programs. Bachelor s and Associate s Degree Programs for Computer Science

ŠTUDIJNÝ ODBOR PRIEMYSELNÉ INŽINIERSTVO NA VYSOKÝCH ŠKOLÁCH FIELD OF STUDY INDUSTRIAL ENGINEERING AT SCHOOLS OF HIGHER EDUCATION

C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering

Zurich Universities of Applied Sciences and Arts. Master of Science in Facility Management

Prerequisite: High School Chemistry.

REGULATIONS FOR THE DEGREE OF MASTER OF EDUCATION (MEd)

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

SUBJECT-SPECIFIC CRITERIA

UNIVERSITY OF TRIESTE UNIVERSITY OF UDINE ACADEMIC REGULATIONS MASTER DEGREE PROGRAMMEME IN PHYSICS. Master Degree Programme Section LM-17

Master of Science in Computer Science Information Systems

EMS. National Presentation Grand-Duchy of L U X E M B 0 U R G

Chapter 2 Conceptualizing Scientific Inquiry

Curriculum for the Master s Programme at the Royal Danish Academy of Fine Art, School of Architecture

2. SUMMER ADVISEMENT AND ORIENTATION PERIODS FOR NEWLY ADMITTED FRESHMEN AND TRANSFER STUDENTS

Degree Regulations for the Master's Degree "Automation and Robotics" in the Faculty of Electrical Engineering and Information Technology of

American Academy of Forensic Sciences

GENERAL SYLLABUS FOR PhD PROGRAM IN SOCIAL ANTHROPOLOGY, STOCKHOLM UNIVERSITY *

A New MSc Curriculum in Computer Science and Mathematics at the University of Zagreb

DoQuP project. WP.1 - Definition and implementation of an on-line documentation system for quality assurance of study programmes in partner countries

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS. Gary Kader and Mike Perry Appalachian State University USA

Bachelor of Information Technology

DEPARTMENT OF MATHEMATICS AND STATISTICS GRADUATE STUDENT HANDBOOK. April 2015

Pre-Masters. Science and Engineering

American Academy of Forensic Sciences

Computational Engineering Programs at the University of Erlangen-Nuremberg

American Academy of Forensic Sciences

Bachelor Curriculum in cooperation with

Programme Specification

A STUDY OF WHETHER HAVING A PROFESSIONAL STAFF WITH ADVANCED DEGREES INCREASES STUDENT ACHIEVEMENT MEGAN M. MOSSER. Submitted to

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

Reasons for need for Computer Engineering program From Computer Engineering Program proposal

Applied Statistics and Data Analysis

Teaching Mathematics and Science in Romania - A Review

Students Approaches to Learning and Teachers Approaches to Teaching in Higher Education

Department of Mathematics

UNIVERSITY OF BELGRADE FACULTY OF PHILOSOPHY. Part two: INFORMATION ON DEGREE PROGRAMS

BS Environmental Science ( )

REVISED GRID FOR MICRO LEVEL APPROACH

DESIGN OF THE ENGINEERING AUGMENTED DEGREE PROGRAMME AT THE UNIVERSITY OF PRETORIA

Integration of New Technologies in Teaching and Learning of Accounting in Public Tertiary Institutions: A critical role of an Accountancy Educator

Universitatea de Medicină şi Farmacie Grigore T. Popa Iaşi Comisia pentru asigurarea calităţii DISCIPLINE RECORD/ COURSE / SEMINAR DESCRIPTION

Winter 2016 Course Timetable. Legend: TIME: M = Monday T = Tuesday W = Wednesday R = Thursday F = Friday BREATH: M = Methodology: RA = Research Area

CHAPTER 7 GENERAL PROOF SYSTEMS

Serbian teachers; teaching mathematics; computers;

Subject Examination and Academic Regulations for the Research on Teaching and Learning Master s Programme at the Technische Universität München

Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP.

Optimization of SQL Queries in Main-Memory Databases

UNIVERSITEIT VAN AMSTERDAM. Faculty of Science CERTIFICATION OF THE SUPPLEMENT. Purpose of this document. Student information

Bachelor of Bachelor of Computer Science

Transcription:

int. j. math. educ. sci. technol., 2004 vol. 35, no. 6, 829 841 Theoretical branches in teaching computer science HASHIM HABIBALLA Department of Computer Science, Faculty of Science, University of Ostrava, 30.dubna 22, 701 03 Ostrava 1, The Czech Republic E-mail: habiballa@volny.cz TIBOR KMETˇ Department of Computer Science, Faculty of Natural Sciences, Constantine the Philosopher University of Nitra, Slovak Republic (Received 21 October 2003) The present paper describes an educational experiment dealing with teaching the theory of formal languages and automata as well as their application concepts. It presents a practical application of an educational experiment and initial results based on comparative instruction of two samples of students (n ¼ 56). The application concept should improve the efficiency of the teacher s activity and professional education at the tertiary level. It could be used in disciplines having a strong logical structure and formalization. The concept is aimed at higher educational objectives such as understanding, application, analysis and synthesis. The students are presented with practical examples from their professional life algorithmization, compilers etc. This educational method is especially recommended for teachers (in-service education) and practically oriented professionals (distance education). The results and conclusions are included in the teaching process at the Department of Computer Science University of Ostrava. 1. Introduction starting point of the experiment Computer science as a separate branch of science has a relatively short history. Though its areas of interest are closely related to mathematics and technical subjects, its didactic system has not been well developed yet. It differs from the above-mentioned branches in a solid basis of forms, methods and other pedagogical items for the preparation of professionals and teachers. The fundamental problems of teaching computer science are contained in the following questions (from the educational point of view, reflecting the situation in the Czech Republic): 1. What is computer science? Is it rather a mathematical or a technical discipline? 2. At which stage of education should it be taught in primary, secondary and tertiary education? 3. How does computer technology, algorithmization and theoretical (mathematical) computer science function and interact? International Journal of Mathematical Education in Science and Technology ISSN 0020 739X print/issn 1464 5211 online # 2004 Taylor & Francis Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207390412331271267

830 H. Habiballa and T. Kmetˇ If we briefly answer these questions, we can form some research hypotheses presented later in this paper. Computer science contains a wide range of topics from technically oriented subjects to mathematically based subjects. Nonprofessionals usually use applied products of computer science editors, databases, networks, etc. But all of these products are built using a solid theoretical background. Databases are developed using query languages, which are based on exact definitions of formal languages. Application programs are written through programming languages and tools that are also closely connected to these branches, namely the theory of formal languages, the theory of algorithms, logic, and so on. Thus we can consider computer science as a technical discipline with a deep mathematical basis [1]. There is public debate about teaching and education at different levels, varying from a completely practical opinion to a strongly theoretical one. The former advises not to go beyond the use of computers, application programs and other technological items, both in primary and secondary education. The latter suggests teaching by practical instruction in primary education, and basing secondary education on algorithmization, problem-solving using programming techniques, and other more theoretical (mathematical) issues. This paper endorses the latter approach. As mentioned before, all products have their algorithmical and theoretical basis. If we want to teach computer science as a subject having equal importance to other subjects at the secondary level, this fact cannot be omitted. For example, chemistry not only presents practical experiments with various substances, but it also contains the theoretical study of physical substances, reactions, calculations, etc. Let us now consider the highest stage of education, i.e. tertiary education. Teaching computer science (ISCED 5A, 5B) at this level includes the preparation of practically oriented professionals (bachelor s courses), theoretically based professionals (master s courses) and courses for teacher s degrees. In all these studies it is important to implement the theoretical disciplines of computer science. As is evident from the earlier text, such disciplines have a key role for an adequate education. This means an enormous burden both for the teacher and students, as the theoretical background is really difficult to understand [2 4]. Teachers preparation has two forms pre-service (standard undergraduate) and in-service (graduated and experienced teachers of other scientific and technical subjects such as physics, chemistry, mathematics or technical education). They are offered in-service education, which represents an additional three-year university study (comparable with the teacher s master s degree in one specialization). Such studies may also be offered in the form of distance education. Students of this type of teachers study vary in age, and the problems with the theoretical disciplines experienced by young undergraduates are increased. To cope with the theoretical basis the higher didactic objectives understanding, application, analysis and synthesis have to be fulfilled. It is useless to base the teaching of these disciplines purely on memorisation since they have a strong logical and algorithmical structure. However, pre-research carried out at the University of Ostrava shows that students have serious problems with logical learning. The main obstacle lies in the excessively formalized methodology (which is unfortunately typical in these disciplines), which makes finding applications of the theoretical basis very difficult: finding practical examples is almost impossible.

Theoretical branches in teaching computer science 831 For these reasons the authors propose a didactic experiment by means of which they prove the use of an application concept when teaching the theoretical aspects of computer science (described below). The experiment involves the comparative education of two groups (standard and experimental) using a special approach, tools and methods. It is based on the constructivist approach [5] to teaching. It is suggested that the proposed methodology can improve the skills of all participants at university level. 2. Application concept Theoretical computer science covers the key areas of knowledge important for the correct understanding of computer science as a whole. Mathematical logic enables one to analyse complex problems and to utilize deductive calculus to model thinking. The theory of algorithms represents a basis for the solvability of problems. There is a logical connection between the above mentioned branches and the theory of formal languages and automata that provides a formalization of the concept of grammar language acceptor. This knowledge enables one to establish essential relations between algorithmical tools and their structure. Together with the syntactical analysis and compilers it helps students to fully understand programming languages and their design and implementation. Since these topics are difficult for learners to understand, the right methods and content of courses are extremely important. In this paper we present a didactic method by means of which the student s knowledge and motivation for further studies of theoretical branches of the subject can be improved. This method is presented below as a special topic belonging to the theory of formal languages as given above. It analyses the problem of language and grammar and its recognition. There are many different ways to teach the theory of languages and automata, from a purely mathematical (algebraic) manner, based on strict mathematical structures, to practically oriented education given by the needs of real life. Table 1 shows an analysis of the advantages and disadvantages of these approaches. The pure algebraic approach starts from a strict definition of concepts, followed by theorems and proofs that do not care about applicability. This type of education is rather formal, but may offer a solid theoretical basis. Nevertheless, such an approach is attractive only to a small group of students. The practical algebraic type uses more examples of the defined notions, e.g. several transformations of non-deterministic finite automata to deterministic ones. Type Methods Advantages Disadvantages Pure algebraic Practical algebraic Engineering Application Definition theorem proof Theory and examples Theory and tools used in practice Intuitive concept, theory, implementation Scientific system, precision Scientific system, more comprehensible Well applicable in practice, motivation Linking with common sense, motivation, flexibility Low motivation, hard, unpractical Unpractical Lack of essence, low flexibility Arguable applicability, lower scientific system Table 1. Approaches in teaching theory of formal languages and automata.

832 H. Habiballa and T. Kmetˇ Intuitive concept of language Intuitive concept of grammar Intuitive concept of acceptor Formalisation Regular, context-free languages (generative grammars) Theory Design Deterministic CF languages Real-life application Programming languages (parts) General parsing methods Motivation LL, LR languages Recursive descent parsing Parsers of syntactic structures Theoretical knowledge Knowledge for profession Generalized student s view to formal languages Figure 1. Applied learning in theory of formal languages. This approach may attract more students, but it is still not practical, and is attractive only to a limited number of learners. The engineering approach is practical, utilizing both theoretical knowledge and reflecting real-life needs. Several tools are shown, e.g. for the construction of a parser yacc, LL-gen etc. Such an approach is very practical, however, the theoretical basis may get lost and students do not necessarily understand core concepts. The final approach, based on intuitive thinking and implementation of theory, avoids these imperfections. Instead of using finished products students are led to rely on creative thinking, e.g. to construction compilers on the basis of context-free grammars. Figure 1 illustrates the course of learning; it reveals how to design a language and implement a parser. Interesting demonstrations of such an approach are found on web pages [6, 7]. The use of the SCHEME language [8, 9] is another interesting example of the integration of algorithmization and theory. 3. Programming didactic tools and its examples The application concept uses programming didactic tools. These tools should provide not only an illustrative and interactive tool for the theoretical education, but they should also fulfil the application concept, providing students with a view on theoretical themes through the implementation of algorithms thus reaching higher educational objectives. These tools were created within the framework of the research as diploma theses and seminar papers. Some of them are thoroughly prepared and are very effective for learning. As the pre-research showed, students prefer algorithmization and programming techniques. A deeper analysis of the significance of project-oriented learning was made by Clark [10]. These tools

Theoretical branches in teaching computer science 833 enable a two-way transfer of knowledge students are able to solve theoretical tasks and they also improve their programming skills. As the studies presented in [11] indicate, information acquired by one s own activity can be memorized better. The present research asserts that for computer scientists, this activity is based on the analysis of a problem, algorithmization and implementation. When a student is not only forced to learn a large amount of definitions, theorems and proofs, but he/she is also led to apply these to concrete situations, his/her knowledge will be deeper and more durable. Programming didactic tools are not only classic teachware instruments. The main difference lies in usage of their programming (internal) realisation that helps students understand the essence of procedures used. The basic conditions to be fulfilled are the following: 1. It is an application realized on a personal computer (or a similar programmable instrument). 2. The application solves a certain theoretical task and enables students to interactively solve tasks and change parameters at their own request. 3. It has documentation that offers students an independent activity and can also provide many examples. 4. Procedures for solving the above mentioned problems can be analysed by the internal algorithmical solution. They could be changed or used to solve similar problems. To fulfil all these conditions is difficult. Condition 4 can be implemented by the explication of algorithms. 4. Examples of tools 4.1. Pregjaut This application enables one to perform and display details about transformations of regular expressions to automata (non-deterministic, deterministic, normalized). Students use a program for checking examples and the progress of transformations. It is accompanied by its source code (written in Object-Pascal language) and divided into several units that implement functions for syntactical analysis with error detection, transformations of automata, graphical environment, etc. They can be used for the student s own activity creation of compilers, explication of transformation algorithms and many others. Users can understand the power of regular expression, its equivalence and relation to automata. 4.2. GramAut Probably the best developed tool is the diploma thesis, titled GramAut (Grammars and Automata) [12] performing the construction and transformations of regular and context-free grammars and corresponding automata. This application provides implementation of almost every item of the curriculum. It is used not only for the basic parts of the introductory courses on the theory of languages but also for advanced courses concerning deterministic LL and LR languages and theory of compilers. There are many other tools, applications and implementations of algorithms and procedures explained in the theoretical education. It is beyond the scope of this article to describe in depth all of these instruments. The reader should obtain only an overview of the principal ideas of these tools. An example of

834 H. Habiballa and T. Kmetˇ Figure 2. Application GERDS. Figure 3. Application GramAut. such an application for automated deduction (GERDS) mathematical logic and its usage in education was presented in [13]. (See figures 2 and 3.) 5. Educational experiment The research experiment described is a pedagogical experiment, and was carried out at the Department of Computer Science, University of Ostrava, Czech Republic among undergraduates studying computer science professional courses (Mgr., MSc. equiv.) specialized for information systems, (Bc., BSc equiv.)

Theoretical branches in teaching computer science 835 specialized for applied computer science as well as teacher courses with specialization for computer science (Mgr., MEd equiv.). From the professional point of view, teacher studies are similar to BSc studies and that is why students of these classes were included into the BSc group. The experiment was performed within the framework of teaching the basic notions of the theory of languages, named Regular and Context Free Languages I. Two comparative samples of students were selected, an experimental group (E) and a control group (C). The experimental sample was taught applying the application concept while the control sample was taught applying standard methods as described above (the definition theorem proof system without any emphasis on higher educational objectives). The hypotheses of the research were specified in detail using educational research literature [14, 15] (as given below). Every lesson was thoroughly prepared (methods, forms, tools) and tests to verify their output knowledge were set up. The results of these tests were processed using statistical data analysis methods, testing of hypotheses and analysis of variance. The main obstacle we came across within the experiment was the number of students that could be examined. In order to secure a certain consistency in the experiment, it was necessary to examine groups of only about 30 students in every sample. This follows from the fact that it is hard to obtain a large consistent group of students at the tertiary level of education (at non-technical universities). They cannot come from different universities since the curricula of professional studies differ (in contrast to that at the secondary level). For example, students from technically oriented branches of studies cannot be compared with theoretically educated professionals and teachers. Thus, the validity of the experiment was maintained since a minimum number of students were maintained and also the methods used to test and analyse data are robust. This experiment will continue into a second stage (advanced courses) and it will also be applied when teaching other theoretical disciplines of computer science (mathematical logic is under preparation). The output tests are prepared using non-standardized, cognitive tests [16]. Test questions are grouped according to three criteria (educational objectives, tasks, and theoretical topics). Consequently, these criteria are examined separately in order to be able to draw conclusions from the experiment. Also a didactic analysis of the curriculum is prepared. Essential differences between the experimental and check samples lie in the methods, forms and tools used in the teaching process. The experimental sample of students is expected to be well motivated as they use programming didactic tools, examples from real life and a projective method of education. The test is supposed to check on the theoretical knowledge, the ability to analyse problems using the theory of languages and how to apply the theoretical knowledge in practice. 6. Results of the experiment The first stage of the experiment was carried out in winter semester 2002/2003. Both the experimental and control sample consisted of 28 students. Theoretically based professional students (MSc) and application based professionals and teacher students (BSc, MEd) were equally included. The teaching methods applied in the experiment were as described in previous sections of this report. Output tests were evaluated using a maximum 25 points. Open questions (transformations and

836 H. Habiballa and T. Kmetˇ calculations) contained in it were rigorously evaluated (using reference points). The second phase of the experiment showed similar conditions and results. 6.1. Data normality and equality of variances Important criteria for the application of variance analysis are data normality and equality of variances (figure 4). All normality tests have confirmed the hypothesis that data are normal. All the usual tests confirmed the equality of variance (all tests were carried out using the NCSS97 statistical software). The Levene test on normality assumption showed borderline results but the hypothesis concerning equality was not rejected. Tests of Assumptions Test Prob Decision Assumption value level (005) Skewness normality of residuals 17450 0080991 Accept Kurtosis normality of residuals 05256 0599197 Accept Omnibus normality of residuals 33211 0190033 Accept Modified-Levene equal-variance test 37240 0058896 Accept The results of the statistical analysis of variance for individual hypotheses are the following: Hypothesis 1: The total knowledge of students in the experimental (E) and control (C) sample is identical. Hypothesis 2: The total knowledge in samples E and C does not depend on the students course (BSc., MEd versus MSc). Hypothesis 3: The total knowledge does not depend on the interaction of sample type and course. Results of hypotheses 1 3 (more expressive is the MS Excel output): The results were as follows (table 2). Students in the control sample gained an average result of 1648 points and those in the experimental sample gained an average result of 1909 points: i.e. the experimental sample showed better results, on average by 261 points. This result is also statistically significant (at usual level Histogram of C5 Histogram of C6 10 0 12 0 7 5 9 0 Count 5 0 Count 6 0 2 5 3 0 0 0 0 0 5 0 10 0 15 0 20 0 25 0 12 0 15 5 19 0 22 5 26 0 C5 C6 Figure 4. Histograms of scores in samples C and E.

Theoretical branches in teaching computer science 837 Factor C E Total BSc, MEd Count 14 14 28 Sum 230 2705 5005 Average 1642857 1932143 17875 Variance 2299451 7831044 1701157 MSc Count 14 14 28 Sum 2315 264 4955 Average 1653571 1885714 1769643 Variance 8825549 5978022 8524802 Total Count 28 28 Sum 4615 5345 Average 1648214 1908929 Variance 1532374 6704696 ANOVA Source SS DF MS F P-value F crit. Course 0446429 1 0446429 0039135 0843952 4026631 Samples 9516071 1 9516071 8342104 0005634 4026631 Interaction 1142857 1 1142857 0100187 0752873 4026631 Total 5931786 52 1140728 6899286 55 Table 2. Analysis of variance results. of 5%) since the p-value of an F-test on variance analysis is about 0006. Thus, the hypothesis concerning the identity of results in samples C and E may be strictly rejected. However, hypotheses 2 and 3 are accepted their test values do not attain critical values in the F-test. The hypothesis that the tested knowledge depends neither on the course ( p ¼ 084) nor on the interaction of samples and course ( p ¼ 075) can be accepted. Further, additional hypotheses based on the described diversification of test questions by three criteria can be formulated. Hypothesis 4: The test results in sample C and E are identical for the following types of task:. 4.1: knowledge reproduction. 4.2: simple and complex operations and computations. 4.3: creative thinking Hypothesis 5: The following educational objectives are fulfilled identically in samples E and C:. 5.1: understanding. 5.2: application. 5.3: analysis. 5.4: synthesis Hypothesis 6: In the particular topics of the theory the test results are identical in sample C and E:

838 H. Habiballa and T. Kmetˇ Hypothesis Max. Ave. K Success (%) E Success (%) Diff. p-value Statistical significance (5% level) 1-total result 25 1648 6592 1909 7636 261 0005634 Yes 4.1-reproduction 5 305 6100 436 8720 131 0000412 Yes 4.2-operations 14 1007 7193 1041 7436 034 0563713 No 4.3-creative think 6 336 5600 432 7200 096 000512 Yes 5.1-understanding 5 371 7420 395 7900 024 0563966 No 5.2-application 10 704 7040 868 8680 164 661E-05 Yes 5.3-analysis 6 325 5417 45 7500 125 0004482 Yes 5.4-synthesis 4 248 6200 196 4900 052 0156537 No ( ) 6.1-basic notions 4 371 9275 4 10000 029 0014706 Yes 6.2-fin. automata 6 4 6667 517 8617 117 0000184 Yes 6.3-reg. lang. 7 329 4700 432 6171 103 0031257 Yes 6.4-properties 8 548 6850 559 6988 011 0860358 No Table 3. Hypotheses statistical significance. 25 20 15 10 Sample E Sample C 5 0 1-agg. knowledge Figure 5. 4.1- reproduction 4.2- operations 4.3-creative thinking Types of tasks in total knowledge.. 6.1: basic notions of the theory of formal languages. 6.2: finite automata and closure operations. 6.3: regular expressions and languages. 6.4: properties of regular languages To test these hypotheses, analysis of variance was again used, and the results are summarized in table 3. As is evident from the table, students in sample E showed better results on all types of task, but a statistically significant difference can be found only for reproduction and creative thinking. Operations and transformations do not show any significant results. For the application concept the creative thinking of students is especially important. From the viewpoint of the educational objective of application the results proved to be better in sample E. Students from sample C attained better results only in problems concerning the educational objective of synthesis. This is a logical conclusion, as the time spent on application exercises could not be used for learning proofs and the theoretical properties of formalized theory. Students from sample E attained significantly better results in topics (6.1, 6.2 and 6.3) and again their results were better (but not significantly so) in proving

Theoretical branches in teaching computer science 839 25 20 15 10 Sample E Sample C 5 0-5 1-agg. knowledge Figure 6. 5.1- understand. 5.2- application 5.3- analysis 5.4- synthesis Educational objectives in total knowledge. 25 20 15 10 Sample E Sample C 5 0 1-agg. knowledge Figure 7. 6.1-basic notions 6.2-fin. automata 6.3-reg. lang. 6.4- properties Topics of theory in total knowledge. Characteristics of application concept Provably positive Neutral (not proved) Potentially negative Tasks Creative thinking Operations, reproduction Objectives Application and analysis (suitable for practice) Understanding Content Notions, computations, Complex properties usage of notions Synthesis (formal deduction of theory) Table 4. Characteristics of application concept. formalized properties. Graphical representations of the results are given in figures 5 7. 7. Conclusions Both phases of the experiment showed strong and weak aspects of the application concept in teaching theoretical computer science (especially the theory of formal languages and automata). The application concept showed statistically better results, especially in creative thinking, application and analysis, while the educational objective of synthesis was better fulfilled in the control

840 H. Habiballa and T. Kmetˇ sample using the classical approach. This conclusion is readily apparent and has an impact on integration of the teaching process. The characteristic features of the application concept are formulated in Table 4. The principles of the integration of positive and negative characteristics lie in a different approach to teaching, which can be subdivided into two basic types: horizontal differentiation and vertical differentiation. The former sorts students into theoretically and practically oriented groups rather than splitting courses into a series of different consecutive courses. Its pure form is time-consuming and this imperfection could be removed if students having different orientations were taught exercises separately, while lectures are common for all students. The vertical differentiation splits the content of courses into introductory and advanced courses. Such a solution is not so time-consuming, but requires the specification of key themes, which is very difficult. It is almost impossible to perform such specification without deforming the educational process (application oriented). This approach could be used for future teachers (MEd) and practically oriented professionals (BSc), especially if introducing distance education (or combined education) into in-service preparation of computer science teachers (BSc distance education programmes have already been installed at the University of Ostrava). This paper should be perceived as probing the possibilities of the application concept. An important issue is the applicability to other disciplines of theoretical computer science as well as in other branches of science with strong formalization and strong logical structure, which are hard to explain. The future steps of the present research are as follows:. continuous research into the application concept (experiments, creation of application programming tasks, didactic tests, interpretation of errors);. implementation of the concept in other branches of computer science (mathematical logic, theory of algorithms, etc.);. development of distance education supporting materials (tests, interactive tools);. integration of selected problems of theoretical computer science in secondary and post-secondary education (ISCED 3,4); the secondary level teachers from the Ostrava region cooperate in implementing suitable problems from the theoretical computer science into programming seminars. References [1] BOOTH, S., 2001, Comput. Sci. Educ., 11(3), 169 88. [2] CFE, 2001, Investigating the Influence of Standards: A Framework for Research in Mathematics. Science, and Technology Education, Center for Education, The National Academies Press. [3] CSMEE, 2000, Educating Teachers of Science, Mathematics, and Technology: New Practices for the New Millennium. Center for Science, Mathematics, and Engineering Education, The National Academies Press. [4] EVANS, W., FLOWER, J., and HOLTON, D., 2001, Int. J. Math. Educ. Sci. Technol., 32, 161 73. [5] BEN-ARI, M., 2001, J. Comput. Math. Sci. Teaching, 20(1), 45 73. [6] KASTENS, U., 2002, Demonstration of parsing methods, http://www.uni-paderborn. de\fachbereich\ag\agkastens\compiler\parsdemo\index.html [7] LEWIS, F. D., 2002, Recursive Descent Parsing, http://cs.engr.uky.edu\lewis\essays\ compilers\rec-des.html.

Theoretical branches in teaching computer science 841 [8] WAGENKNECHT, CH., and FRIEDMAN, D. P., 1998, Comput. Sci. Educ., 8(3), 197 227. [9] DEVEDZIC, V., and DEBENHAM, J., 1998, An Intelligent Tutoring System for Teaching Formal Languages. Lecture Notes in Computer Science 1452, Springer. [10] CLARK, M. A. C., and BOYLE, R. D., 1999, Comput. Sci. Educ., 9(3), 200 14. [11] FREDMANN, P., 1971, Erfahrungen von Morgen, Wien. [12] HRIVNAK, J., 2001, Formal languages and automata, Thesis, University of Ostrava. [13] HABIBALLA, H., 2002b, Implementation of the non-clausal resolution theorem prover in education of theoretical computer science. Proceedings of Information and Communication Technology in Education 2002. Ostrava, pp. 203 10. [14] WILKINSON, L., 1998, Am. Psychol., 54, 594 604. [15] CFE, 2002, Scientific Research in Education, Center for Education, The National Academies Press. [16] RUDNER, L. M., and SCHAFER, W. D., 1999, How to write a scholarly research report. Practical Assessment, Research and Evaluation, 6(13), Available online at http:// pareonline.net/getvn.asp?v=6&n=13