Developing Scientific Computing Software: Current Processes And

Total Page:16

File Type:pdf, Size:1020Kb

Developing Scientific Computing Software: Current Processes And DEVELOPING: SGIENffl&Pifli|ii^Mp| CURRENT PROCESSES" WMWiiiiia DEVELOPING SCIENTIFIC COMPUTING SOFTWARE MASTER OF APPLIED SCIENCE(2008) McMaster University COMPUTING AND SOFTWARE Hamilton, Ontario TITLE: Developing Scientific Computing Software: Current Processes and Future Directions AUTHOR: Jin Tang, M.M. (Nanjing University) SUPERVISOR: Dr. Spencer Smith NUMBER OF PAGERS: xxii, 216 n Abstract Considerable emphasis in scientific computing (SC) software development has been placed on the software qualities of performance and correctness. How ever, other software qualities have received less attention, such as the qualities of usability, maintainability, testability and reusability. Presented in this work is a survey titled "Survey on Developing Scien tific Computing Software, which is apparently the first conducted to explore the current approaches to SC software development and to determine which qualities of SC software are in most need of improvement. From the survey. we found that systematic development process is frequently not adopted in the SC software community, since 58% of respondents mentioned that their entire development process potentially consists only of coding and debugging. Moreover, semi-formal and formal specification is rarely used when developing SC software, which is suggested by the fact that 70% of respondents indicate that they only use informal specification. In terms of the problems in SC software development, which are dis covered by analyzing the survey results, a solution is proposed to improve the quality of SC software by using SE methodologies, concretely, using a modified Parnas' Rational Design Process (PRDP) and the Unified Software Development Process (USDP). A comparison of the two candidate processes is provided to help SC software practitioners determine which of the two pro cesses fits their particular situation. To clarify the discussion of PRDP and USDP for SC software and to help SC software practitioners better under- iii stand how to use PRDP and USDP in SC software, a completely documented one-dimensional numerical integration solver (ONIS) example is presented for both PRDP and USDP. IV Acknowledgements It is a pleasure to thank the many people who made this thesis possible. First of all, I would like to express my sincere thanks and deep appre ciation to Dr. Spencer Smith, my supervisor, for his constant support and encouragement. With his enthusiasm, his inspiration, and his efforts to ex plain things clea-rly a,nd simply, he helped to make scientific computing fun for me. Throughout my thesis-writing period, he provided encouragement, good teaching and lots of great ideas. This thesis would not be what it is without his great help. I also would like to thank Dr. Wassyng and Dr. Down for reviewing of this thesis and giving me valuable feedbacks and suggestions. I wish to thank my student colleagues and friends (alphabetically) ZhaoChuan Gao, Herman Guo, Dai Tri Man Le, Shu Wang, Wen Yu and Viola Zhou and many others for their help and friendship. Lastly, and most importantly, I wish to thank my parents and grand parents for their support, encouragement and endless love. Also, I am grateful to my sister, Min Tang. Her coming to Canada makes my life more colorful in Canada. I hope that she has a successful career in Canada as she did in China. Hamilton, Ontario, Canada Jin Tang May, 2008 v vi Contents Abstract iii Acknowledgements v List of Figures xv List of Tables xxi 1 Introduction 1 1.1 Improving the Quality of SC Software . 3 1.2 Overview of SC Software 6 1.2.1 Definition of SC . 7 1.2.2 SC Software Categories ... 7 1.2.3 Development Process for SC Software . 9 1.2.4 Characteristics of SC Software . 11 1.3 Research Purpose and Scope ... 13 1.4 Research Methods . 13 2 Software Engineering Methodologies 17 vn 2.1 Software Development Process Model 19 2.1.1 The Waterfall Model 20 2.1.2 Evolutionary Development 22 2.2 Modified Parnas' Rational Design Process (PRDP) . 24 2.2.1 Commonality Analysis (CA) 25 2.2.2 Software Requirement Specification . 26 2.2.3 Module Guide (MG) . 27 2.2.4 Module Interface Specification (MIS) 28 2.3 Unified Software Development Process (USDP) 28 2.3.1 Characteristics of USDP . 29 2.3.2 The Unified Modeling Language (UML) . 31 2.3.3 The Object Constraint Language (OCL) ... 33 2.4 Software Reuse ... .33 2.4.1 Component-based Software Engineering (CBSE) .... 34 2.4.2 Mathematical Software Libraries 36 2.4.3 Design Patterns 37 2.5 Software Tools . 38 3 Survey on Developing Scientific Computing Software 43 ... 3.1 Goal of the Survey .... ... 46 3.2 .... Questionnaire Design . 51 3.2.1 .... Question Design . 51 3.2.2 Question Types ... .... 52 ... 3.3 ... Survey Process ... .55 3.3.1 Pilot Test 56 viii 3.3.2 Online Survey . ... 57 4 Survey Data Analysis 59 4.1 . Sampling Design . 60 4.1.1 Sampling Strategies . ... 61 4.1.2 Error Analysis . 63 4.2 Data Preparation . 66 4.3 Target Population and Characteristics of Respondents 68 4.4 Survey Results ... 70 4.4.1 Software Development Process . 75 4.4.2 Requirements 81 4.4.3 Design . ... 84 4.4.4 Coding 89 4.4.5 Testing . 92 4.4.6 Maintenance . .... 95 4.4.7 Documentation . 96 5 Proposed Methodologies for Developing ONIS 101 5.1 ONIS Introduction . 104 5.2 USDP vs. PRDP .... .105 5.2.1 Common Characteristics of USDP and PRDP . 105 5.2.2 Differences Between USDP and PRDP 106 5.3 Software Requirements Specification (SRS) . Ill 5.3.1 Approach Used in ONIS . 112 5.3.2 PRDP vs. USDP for SRS ... 112 ix 5.4 Software Design 113 5.4.1 Problems in Software Design 114 5.4.2 Approaches Used in ONIS 115 5.4.3 USDP vs. PRDP 121 125 5.5 Recommendation . 6 Conclusions 127 6.1 Concluding Remarks 128 6.2 Future Work .135 References . 136 A Survey on Developing Scientific Computing Software 145 A.l Survey Questionnaire .... 145 A. 1.1 Survey Invitation Email . 145 A. 1.2 Survey Questions . 146 A. 2 Pilot Test Guidelines 157 A. 2.1 Introduction ... 157 A. 2. 2 Process . 157 . A. 2. 3 Email Invitation . 158 A. 2. 4 Feedback Questions . 159 A.3 Pilot Test Report 160 A. 3.1 . Introduction . 160 A. 3. 2 Methodology .160 A. 3. 3 Analysis and Recommendation .160 A. 3.4 Fill-in Questions . 163 x A. 4 . Conclusion .... Modified Parnas' Rational Design Process B.l SRS for ONIS . B.l.l Introduction . ... 2 . B.l. General System Description ... B.l. 3 Specific System Description B.l.4 Data Constraints . B.l. 5 Non-functional Requirements B.l. 6 Solution Validation Strategies . B.l. 7 Other System Issues B.1.8 Traceability Matrix B.l. 9 Values of Auxiliary Constants B.2 Module Guide for ONIS B.2.1 Introduction B.2. 2 Connection Between Requirements and Desi B.2. 3 Anticipated Changes . B.2.4 Unlikely Changes B.2. 5 Module Decomposition B.2. 6 Traceability Matrix . ... B.2. 7 Use Hierarchy between Modules B.3 MIS for ONIS .... B.3.1 Introduction .... B.3.2 Template Used in MIS .... B.3. 3 Module Hierarchy . xi 195 B.3.4 MIS of Master Control Module 197 B.3. 5 MIS of Input Data Module B.3.6 MIS of Output Show Module 201 B.3.7 MIS of Parser Module 203 B.3.8 MIS of Algorithm Module 207 B.4 Testing Report for ONIS 211 .... 211 B.4.1 Introduction . B.4.2 Unit Testing 212 B.4.3 System Testing 214 B.4.4 Traceability Matrix 220 B.4. 5 Results and Analysis 221 C Unified Software Development Process 223 C.l SRS for ONIS 224 C.l.l Introduction . 224 C.1.2 General System Description 225 C.1.3 Specific System Description 226 C.1.4 Non-functional Requirements 227 C.1.5 Functional Requirements . 227 C.1.6 Solution Validation Strategies 232 C.1.7 Other System Issues . 233 C.l. 8 Traceability Matrix 234 C.1.9 Values of Auxiliary Constants 234 C.2 SDS for ONIS 235 C.2.1 Introduction 235 xii C.2. 2 Anticipated Changes C.2.3 Unlikely Changes C.2. 4 Terminology Definition C.2. 5 Connection Between Requirement and Desi C.2. 6 Analysis Model C.2.7 Design Model C.2. 8 Class Description C.2. 9 Dynamic Modeling of Behaviour . C.2. 10 Sequence Diagram of ONIS . C.2. 11 Exception Handling xm xiv List of Figures 1.1 Work Flow for the Development of Physical Model Simulation Software 10 1.2 Work Flow for the Development of Scientific Multipurpose Tools 11 2.1 The Software Life Cycle 21 2.2 Component-based Software Engineering . 35 4.1 Sample Population . 70 4.2 Education Background (Based on 166 Respondents) 72 4.3 Working Experience in SC field (Based on 165 Respondents) . 73 4.4 Working Experience in Programming (Based on 165 Respondents) 73 4.5 The Relationship between People's Working Experience and Software Size (Based on 165 Respondents) 74 4.6 Group Size (Based on 165 Respondents) 75 4.7 Difference in Group Size between Industry and Academia (Based on 165 Respondents) 75 4.8 Software Sizes (Based on 141 Respondents) 76 4.9 Project Plan (Based on 130 Respondents) . 77 xv . 77 4.10 Project Plan with Group Size (Based on 130 Respondents) 78 4.11 Process Models (Based on 132 Respondents) 4.12 Time Distribution with Confidence Interval (Based on 132 Re spondents) .... 80 4.13 Time Distribution in Academia and Industry (Based on 132 .
Recommended publications
  • The Guide to Available Mathematical Software Problem Classification System
    The Guide to Available Mathematical Software Problem Classification System Ronald F. Boisvert, Sally E. Howe and David K. Kahaner November 1990 U.S. DEPARTMENT OF COMMERCE National Institute of Standards and Technology Gaithersburg, MD 20899 100 U56 //4475 1990 C.2 NATIONAL, INSrrnJTE OF STANDARDS & TECHNOLOGY / THE GUIDE TO AVAILABLE MATHEMATICAL SOFTWARE PROBLEM CLASSIFICATION SYSTEM Ronald F. Boisvert Sally E. Howe David K. Kahaner U.S. DEPARTMENT OF COMMERCE National InstHute of Standards and Technology Center for Computing and Applied Mathematics Gaithersburg, MO 20899 November 1990 U.S. DEPARTMENT OF COMMERCE Robert A. Mosbacher, Secretary NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY John W. Lyons, Director 2 Boisvert, Howe and Kahaner own manuals or on-line documentation system. In order to determine what software is avail- able to solve a particular problem, users must search through a very large, heterogeneous collection of information. This is a tedious and error-prone process. As a result, there has been much interest in the development of automated advisory systems to help users select software. Keyword search is a popular technique used for this purpose. In such a system keywords or phrases are assigned to each piece of software to succinctly define its purpose, and the set of aU such keywords axe entered into a database. Keyword-based selection systems query users for a set of keywords and then present a fist of software modules which contain them. A major difficulty with such systems is that users often have trouble in providing the appropriate keywords for a given mathematical or statistical problem. There is such a wealth of alternate mathematical and statistical terminology that it would be a rare occurrence for two separate knowledgeable persons to assign the same set of keywords to a given software module.
    [Show full text]
  • A Comparison of Six Numerical Software Packages for Educational Use in the Chemical Engineering Curriculum
    SESSION 2520 A COMPARISON OF SIX NUMERICAL SOFTWARE PACKAGES FOR EDUCATIONAL USE IN THE CHEMICAL ENGINEERING CURRICULUM Mordechai Shacham Department of Chemical Engineering Ben-Gurion University of the Negev P. O. Box 653 Beer Sheva 84105, Israel Tel: (972) 7-6461481 Fax: (972) 7-6472916 E-mail: [email protected] Michael B. Cutlip Department of Chemical Engineering University of Connecticut Box U-222 Storrs, CT 06269-3222 Tel: (860)486-0321 Fax: (860)486-2959 E-mail: [email protected] INTRODUCTION Until the early 1980’s, computer use in Chemical Engineering Education involved mainly FORTRAN and less frequently CSMP programming. A typical com- puter assignment in that era would require the student to carry out the following tasks: 1.) Derive the model equations for the problem at hand, 2.) Find an appropri- ate numerical method to solve the model (mostly NLE’s or ODE’s), 3.) Write and debug a FORTRAN program to solve the problem using the selected numerical algo- rithm, and 4.) Analyze the results for validity and precision. It was soon recognized that the second and third tasks of the solution were minor contributions to the learning of the subject material in most chemical engi- neering courses, but they were actually the most time consuming and frustrating parts of computer assignments. The computer indeed enabled the students to solve realistic problems, but the time spent on technical details which were of minor rele- vance to the subject matter was much too long. In order to solve this difficulty, there was a tendency to provide the students with computer programs that could solve one particular type of a problem.
    [Show full text]
  • Software for Numerical Computation
    Purdue University Purdue e-Pubs Department of Computer Science Technical Reports Department of Computer Science 1977 Software for Numerical Computation John R. Rice Purdue University, [email protected] Report Number: 77-214 Rice, John R., "Software for Numerical Computation" (1977). Department of Computer Science Technical Reports. Paper 154. https://docs.lib.purdue.edu/cstech/154 This document has been made available through Purdue e-Pubs, a service of the Purdue University Libraries. Please contact [email protected] for additional information. SOFTWARE FOR NUMERICAL COMPUTATION John R. Rice Department of Computer Sciences Purdue University West Lafayette, IN 47907 CSD TR #214 January 1977 SOFTWARE FOR NUMERICAL COMPUTATION John R. Rice Mathematical Sciences Purdue University CSD-TR 214 January 12, 1977 Article to appear in the book: Research Directions in Software Technology. SOFTWARE FOR NUMERICAL COMPUTATION John R. Rice Mathematical Sciences Purdue University INTRODUCTION AND MOTIVATING PROBLEMS. The purpose of this article is to examine the research developments in software for numerical computation. Research and development of numerical methods is not intended to be discussed for two reasons. First, a reasonable survey of the research in numerical methods would require a book. The COSERS report [Rice et al, 1977] on Numerical Computation does such a survey in about 100 printed pages and even so the discussion of many important fields (never mind topics) is limited to a few paragraphs. Second, the present book is focused on software and thus it is natural to attempt to separate software research from numerical computation research. This, of course, is not easy as the two are intimately intertwined.
    [Show full text]
  • RESOURCES in NUMERICAL ANALYSIS Kendall E
    RESOURCES IN NUMERICAL ANALYSIS Kendall E. Atkinson University of Iowa Introduction I. General Numerical Analysis A. Introductory Sources B. Advanced Introductory Texts with Broad Coverage C. Books With a Sampling of Introductory Topics D. Major Journals and Serial Publications 1. General Surveys 2. Leading journals with a general coverage in numerical analysis. 3. Other journals with a general coverage in numerical analysis. E. Other Printed Resources F. Online Resources II. Numerical Linear Algebra, Nonlinear Algebra, and Optimization A. Numerical Linear Algebra 1. General references 2. Eigenvalue problems 3. Iterative methods 4. Applications on parallel and vector computers 5. Over-determined linear systems. B. Numerical Solution of Nonlinear Systems 1. Single equations 2. Multivariate problems C. Optimization III. Approximation Theory A. Approximation of Functions 1. General references 2. Algorithms and software 3. Special topics 4. Multivariate approximation theory 5. Wavelets B. Interpolation Theory 1. Multivariable interpolation 2. Spline functions C. Numerical Integration and Differentiation 1. General references 2. Multivariate numerical integration IV. Solving Differential and Integral Equations A. Ordinary Differential Equations B. Partial Differential Equations C. Integral Equations V. Miscellaneous Important References VI. History of Numerical Analysis INTRODUCTION Numerical analysis is the area of mathematics and computer science that creates, analyzes, and implements algorithms for solving numerically the problems of continuous mathematics. Such problems originate generally from real-world applications of algebra, geometry, and calculus, and they involve variables that vary continuously; these problems occur throughout the natural sciences, social sciences, engineering, medicine, and business. During the second half of the twentieth century and continuing up to the present day, digital computers have grown in power and availability.
    [Show full text]
  • Course Description for Computer Science.Pdf
    COURSE DESCRIPTIONS FOR COMPUTER SCIENCE The Department of Mathematics and Computer Science requires that, prior to enrolling in any departmental course, students should earn a grade of “C” or better in all course prerequisites. CSDP 100 Computer Science Orientation Credit 1 This course is a survey of Computer Science with special emphasis on topics of importance to computer scientists. It also provides an exploration of skills required and resources available to students majoring Computer Science. Topics include nature of problems, hardware, human factors, security, social, ethical and legal issues, familiarization of various aspects of computing and networks. This course must be taken by all Computer Science major and minor students. CSDP 120 Introduction to Computing Credit 3 This course is for students new to Computer Science. The goal is to introduce students to different general computing aspects of the computer systems. Course topics include overview of the history of computing machines, computing codes and ethics, computing algorithms, programming languages, and mathematical software packages. Prerequisite: High school mathematics. CSDP 120 does not satisfy the General Education Area III Requirement. CSDP 121 Microcomputer Applications Credit 3 This course is designed for non-technical majors in different applications of modern computing systems. The course surveys computing hardware and software systems and introduces students to the present state-of-the-art word processing, spreadsheet, and database software. Applications to other disciplines, such as medicine, administration, accounting, social sciences and humanities, will be considered. Prerequisite: High School Mathematics. CSDP 121 does not satisfy the General Education Area III Requirement. CSDP 150 Office Automation Workshop Credit 1 This course is an introduction to current progress in word processing and/or office automation.
    [Show full text]
  • Sage: Unifying Mathematical Software for Scientists, Engineers, and Mathematicians
    Sage: Unifying Mathematical Software for Scientists, Engineers, and Mathematicians 1 Introduction The goal of this proposal is to further the development of Sage, which is comprehensive unified open source software for mathematical and scientific computing that builds on high-quality mainstream methodologies and tools. Sage [12] uses Python, one of the world's most popular general-purpose interpreted programming languages, to create a system that scales to modern interdisciplinary prob- lems. Sage is also Internet friendly, featuring a web-based interface (see http://www.sagenb.org) that can be used from any computer with a web browser (PC's, Macs, iPhones, Android cell phones, etc.), and has sophisticated interfaces to nearly all other mathematics software, includ- ing the commercial programs Mathematica, Maple, MATLAB and Magma. Sage is not tied to any particular commercial mathematics software platform, is open source, and is completely free. With sufficient new work, Sage has the potential to have a transformative impact on the compu- tational sciences, by helping to set a high standard for reproducible computational research and peer reviewed publication of code. Our vision is that Sage will have a broad impact by supporting cutting edge research in a wide range of areas of computational mathematics, ranging from applied numerical computation to the most abstract realms of number theory. Already, Sage combines several hundred thousand lines of new code with over 5 million lines of code from other projects. Thousands of researchers use Sage in their work to find new conjectures and results (see [13] for a list of over 75 publications that use Sage).
    [Show full text]
  • Mathematics in Computer Science Curricula
    Mathematics in Computer Science Curricula Jeannette M. Wing School of Computer Science Carnegie Mellon University Pittsburgh, PA Sixth International Conference on Mathematics of Program Construction July 2002, Dagstuhl, Germany Prelude: Three Observations • Linear Algebra and Probability & Statistics are increasingly important to Computer Scientists. • As Computer Science matures, more mathematics enters CS curricula in different guises. • As Computer Science matures, more course material covering mathematically-based concepts moves from the graduate to the undergraduate level. Math in CS Curricula 2 Jeannette M. Wing Computing at Carnegie Mellon CMU Fine Arts Social Sciences Science School of Engineering Business Public Software Design Psychology Biology Computer Mechanical Policy Engineering Drama Philosophy Math Science Electrical Institute Statistics Human Learning and Computer Computer Robotics Discovery Science Interaction Linguistics Software Engineering Languages Technology Entertainment Neural Cognition Supercomputing Pitt Math in CS Curricula 3 Jeannette M. Wing Some Numbers • 160 faculty • 200 courses offered • 270 doctoral students in 6 Ph.D. programs • 200 masters students in 8 MS programs • 540 bachelors students in 1 BS program • “Computer” Mellon University (4000 undergrad, 2500 grad) • 100 CS minors • 400 additional computer or IT-related undergrad majors • 350-450 computer or IT-related masters students CMU named “Most Wired Campus” by Yahoo Internet Life Math in CS Curricula 4 Jeannette M. Wing Mathematics for Program Construction Why in CS? Courses (UG) Algebraic structures: Data Structures Discrete groups, rings, fields, graphs, … data structures Algorithms Algebraic properties: algorithms Prog. Languages Math commutativity, associativity, state machines Object-Oriented Prog. idempotency, … Compilers Combinatorics: counting, Machine Architecture summation, permutation, … Operating Systems Logics: propositional, predicate Prog. Principles invariants logics; first-order, higher-order, … Functional Prog.
    [Show full text]
  • How Maple Compares to Mathematica
    How Maple™ Compares to Mathematica® A Cybernet Group Company How Maple™ Compares to Mathematica® Choosing between Maple™ and Mathematica® ? On the surface, they appear to be very similar products. However, in the pages that follow you’ll see numerous technical comparisons that show that Maple is much easier to use, has superior symbolic technology, and gives you better performance. These product differences are very important, but perhaps just as important are the differences between companies. At Maplesoft™, we believe that given great tools, people can do great things. We see it as our job to give you the best tools possible, by maintaining relationships with the research community, hiring talented people, leveraging the best available technology even if we didn’t write it ourselves, and listening to our customers. Here are some key differences to keep in mind: • Maplesoft has a philosophy of openness and community which permeates everything we do. Unlike Mathematica, Maple’s mathematical engine has always been developed by both talented company employees and by experts in research labs around the world. This collaborative approach allows Maplesoft to offer cutting-edge mathematical algorithms solidly integrated into the most natural user interface available. This openness is also apparent in many other ways, such as an eagerness to form partnerships with other organizations, an adherence to international standards, connectivity to other software tools, and the visibility of the vast majority of Maple’s source code. • Maplesoft offers a solution for all your academic needs, including advanced tools for mathematics, engineering modeling, distance learning, and testing and assessment. By contrast, Wolfram Research has nothing to offer for automated testing and assessment, an area of vital importance to academic life.
    [Show full text]
  • Reversible Thinking Ability in Calculus Learn-Ing Using Maple Software: a Case Study of Mathematics Education Students
    International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-3878,Volume-8, Issue- 1C2, May 2019 Reversible Thinking Ability in Calculus Learn-ing using Maple Software: A Case Study of Mathematics Education Students Lalu Saparwadi, Cholis Sa’dijah, Abdur Rahman As’ari, Tjang Daniel Chandra Abstract: Along with the rapid advancement of technology, the it is done manually. To overcome this, we need a technology lecturers are demanded to be able to integrate technological tool that can facilitate and help students without manual developments in the teaching process. Calculus as a subject calculations that are sometimes less accurate. One of the matter in mathematics education study program which is full of learning technologies that can be utilized is maple software algebraic symbols and graph simulation requires visualization media. Maple software is one of the most appropriate technology [3]. Maple is software that can be used not only as a tools which can be used in teaching Calculus for mathematics calculating tool but also as a tool for creating graphics, education students. The linkage of graphic visualization of determining the derivative of a function and so on. derivative and anti-derivative functions can be understood The use of learning technologies, such as Maple, is only a through reversible thinking. Thus, this study aimed at identifying supporting tool for students to show the results obtained students’ reversible thinking abilities of mathematics education from manual calculation. The results obtained from manual study programs Calculus learning by using Maple. The research design used was a case study. The results of this study indicate calculation can be reviewed based on the results obtained that reversible thinking abilities can be identified when students from the Maple software [4].
    [Show full text]
  • WHAT SOFTWARE to USE in the TEACHING of MATHEMATICAL SUBJECTS? Štefan Berežný
    Volume 8, Number 1, 2015 WHAT SOFTWARE TO USE IN THE TEACHING OF MATHEMATICAL SUBJECTS? Štefan Berežný Abstract: We can consider two basic views, when using mathematical software in the teaching of mathematical subjects. First: How to learn to use specific software for the specific tasks, e. g., software Sta- tistica for the subjects of Applied statistics, probability and mathematical statistics, or financial mathematics. Second: How to learn to use the software that is available to us to solve specific math- ematical problems from different areas of mathematics and applied mathematics. My article describes the practical use of the software in the teaching of mathematical subjects and my experience with its use by the students and the pedagogues. In our computer laboratory our students use the following software: MS Office (MS Excel), LibreOffice (LO Calc), MATLAB 2010b, Octave, wxMaxima, and LATEX. We use this software in the following mathematical subjects: Operational Analy- sis, Linear and Quadratic Programming, Numerical Mathematics, Applied Statistics, Queuing Theory, and Fundamentals of the LATEX. Eight years of experience with the usage of these programs have shown us, how we can improve the teaching process of the mathematical subjects at the technical universities with freely available software. Keywords: Teaching, Software, Mathematical Subjects 1 Introduction It is difficult to decide what kind of software is the most suitable to use for teaching mathematical subjects at technical universities. The best software should be applicable not only for specific tasks but also students should be able to use it in various subjects It is important for students to have an easy access to get this software for studying it at home instead of limited usage of this software on the computers in PC laboratories.
    [Show full text]
  • Mathematical Software Tools Applicable to Remote Learning and Scientific Research in Case of Isolation
    INTERNATIONAL SCIENTIFIC JOURNAL "MATHEMATICAL MODELING" WEB ISSN 2603-2929; PRINT ISSN 2535-0986 Mathematical software tools applicable to remote learning and scientific research in case of isolation Svilen Rachev1, Milena Racheva1, Andrey Andreev1,2, Dobrin Ganchev1 Technical University of Gabrovo, Bulgaria1 Bulgarian Academy of Science, Sofia, Bulgaria2 [email protected] Abstract: This paper is devoted to some up-to-date computational tools, which are on-line available and appropriate to remote learning as well as to scientific research implementation relevant to mathematics and their applications. The following aspects are concerned and discussed: some of the opportunities and benefits afforded by the software tools which are taken into consideration; necessary requirements which have to be met in order to use these tools; some disadvantages and drawbacks which may arise. Comparison of fees and prices for different mathematical software tools is done. For purpose of illustration realistic examples are also given. Keywords: MATHEMATICAL SOFTWARE, COMPUTER ALGEBRA SYSTEMS, FREE SOFTWARE, CLOUD COMPUTING 1. Introduction implementation and an environment in which the language to be used. Nowadays, the mathematical software tools used in research This means that, using CAS, one may manipulate mathematical and engineering play a crucial role in the development of expressions in a way as if he do it manually. technology, education and science. For example, the treatment of complex numerical analysis with the aid of mathematical software Computer algebra systems can be conditionally divided into two is currently used in all branches of physical, medical and social types: sciences. For that matter, by means of Computer aided design (CAD) software the level of scientific research and in particular of specialized, which are devoted to a specific part of engineering science can be significantly improved.
    [Show full text]
  • Mathematics and Engineering in Computer Science
    NBSIR 75-780 Mathematics and Engineering in Computer Science Christopher J. Van Wyk Institute for Computer Sciences and Technology National Bureau of Standards Washington, D. C. 20234 August, 1975 Final Report U S. DEPARTMENT OF COMMERCE NATIONAL BUREAU OF STANDARDS NBSIR 75-780 MATHEMATICS AND ENGINEERING IN COMPUTER SCIENCE Christopher J. Van Wyk Institute for Computer Sciences and Technology National Bureau of Standards Washington, D. C. 20234 August, 1975 Final Report U.S. DEPARTMENT OF COMMERCE, Elliot L. Richardson, Secretary James A. Baker, III, Under Secretary Dr. Betsy Ancker-Johnson, Assistant Secretary for Science and Technology NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Acting Director I I. Introduction The objective of the research which culminated in this document 'was to identify and characterize areas of mathematics and engineering v/hich are relevant to computer science. The descriptions of technical fields were to be comprehensible to laymen, yet accurate enough to satisfy technically knowledgeable personnel, and informative for all readers. The division of the fields, shown in the table of contents, is somewhat arbitrary, but it is also quite convenient. A short expla- nation might be helpful. The mathematical fields can be grouped by noting the importance of a field to computer science, and, to a lesser extent, the existence of the field independent of computer science. For example. Boolean algebra and information theory could (and did) exist without computers being available. On the other hand, most problems in artificial intelligence or optimization, once they reach even moderate complexity, must be solved with a computer, since hand solution would take too much time.
    [Show full text]