Pure Versus Applied Informatics A. J. Cowling Department of Computer Science University of Sheffield
Structure of Presentation Introduction The structure of mathematics as a discipline. Analysing Pure and Applied Informatics The structure of informatics as a discipline; Curriculum models - particularly CS2008. Distinguishing Pure and Applied Informatics Possible disadvantages; Effects on disciplines within informatics; The overall scope of informatics; Impacts on curriculum structures. Summary and Conclusions
Mathematics As A Discipline 1 Brief History Before World War 2: Science and Engineering as different discipline areas, mathematics a single discipline, but closely linked to theoretical physics; After World War 2: mathematics began to split into several disciplines, pure mathematics, applied mathematics, probability, statistics; Relationships with Other Disciplines Applied mathematics closely linked to engineering, which was broadening from just applied science, to also focus on professional practice; Statistics being increasingly applied in social sciences.
Mathematics As A Discipline 2 Discipline Structure A spectrum from pure mathematics to disciplines that apply it. Applied Mathematics Engineering Applied in Underpins Pure Mathematics Applied in Statistics Social Sciences
Pure & Applied Informatics 1 Similar Structures for Informatics Applications of informatics in other disciplines: Computer Engineering (CE), Software Engineering (SE), Business applications within Information Systems (IS) and Information Technology (IT); Theoretical core of informatics: models of information and computation, essentially pure informatics; Applied theoretical informatics: modelling actual computational structures; Applications of informatics: artificial structures, because informatics is an artificial science, used in building systems (in engineering or business).
Pure & Applied Informatics 2 First Discipline Structure Also a spectrum from pure material to systems applications. H/w & S/w Engineering Pure Theory Applied Theory Applications Underpins Defines Applied in Information Systems
Curriculum Models 1 Computer Science Curriculum 2008 (CS2008) Defines two structures: body of knowledge areas, units & topics, packages of courses; The body of knowledge underpins the learning outcomes. The Curriculum and the Discipline Structure Knowledge areas in CS2008 covers the whole spectrum: pure theory, applied theory, applications and engineering, except for the Computational Science (CN) area; Distinguishing applications from engineering artefacts needs criteria; Matches the distinction between software engineering (SE) and software development (SD).
Curriculum Models 2 Software Development and Software Engineering Based on a model of developing skills in software engineering; The model identifies four stages: programming, software development, software engineering, industrial scale SE. Software Development Scope restricted to simple systems, and their structures; Scope restricted to meeting functional requirements: ie developing a system that does the required functions. Software Engineering Scope extends to quality of processes and of products.
Curriculum Models 3 CS2008 Foundations and Hardware Areas Knowledge Area Discrete Structures (DS) Pure Theory Applied Theory Applications Engineering Logic, set theory, graph theory Recursive structures, proof techniques Collection structures Selection of collection structures Architecture Digital logic, data Architecture I/O interface Selection of and representation, styles, instruction Organization execution of formats (AR) programs structures, mem. structures, distributed architectures hardware architectures, hw/sw co-design Net-Centric Computing (NC) Communication theory Fault tolerance, data compression methods Network structures, protocols Selection of protocol features and protocol stacks
Curriculum Models 4 Dependencies Within CS2008 Knowledge Areas These knowledge areas can be split into four groups: each group depends on the ones above it; Discrete Structures (DS) is the fundamental theory; There are two areas that cover core hardware concepts: Architecture and Organization (AR), and Net-Centric Computing (NC), the software-related areas all depend on these; There are three areas that cover core programming concepts: Programming Fundamentals (PF), Algorithms and Complexity (AL), and Programming Languages (PL); The remaining eight areas cover various aspects of building applications systems in software.
Curriculum Models 5 CS2008 Fundamental Programming Areas Knowledge Area Programming Fundamentals (PF) Pure Theory Applied Theory Applications Engineering Theory of computation, information and algorithms Programming paradigms, properties of algorithms Programming styles, secure programming algorithms algorithms styles Selection of programming paradigms and styles Algorithms and Complexity (AL) Theory of computation, computability Problem decomposition, analysis of algorithms Classes of algorithms Selection of classes of algorithms Programming Languages (PL) Language and automata theory, type theory Language features, translation Language paradigms Selection of languages
Curriculum Models 6 CS2008 Software Systems Applications Areas 1 Knowledge Area Operating Systems (OS) Human- Computer Interaction (HC) Graphics and Visual Comp. (GV) Intelligent Systems (IS) Pure Theory Applied Theory Applications Engineering Theories of computation & concurrency Psychology and human factors Linear algebra, coordinate geometry, colour perception Theories of search spaces, statistical models of learning Principles of memory, devices, files, security Communication methods, quality of communication Rendering methods, animation methods Reasoning methods, agent models Filing systems, security, scheduling Widgets and widget sets, disability support, interface builders Rendering & VR systems, game engines Knowledge & rule bases, inference engines, planning Selection of OS and features Selection of interface designs Selection of rendering and animation methods Design of KBS
Curriculum Models 7 CS2008 Software Systems Applications Areas 2 Knowledge Area Pure Theory Applied Theory Applications Engineering Information Management (IM) Social and Professional Issues (SP) Software Engineering (SE) Computational Science (CN) Information theory, relational data theory Principles of law and ethics Principles of system models Theory of data representation, comp. maths. Relational data, indexing, hypermedia & retrieval models Systems and legal and social standards System modeling, design & project management Approximation, parallelization, simulation Database structures, query languages, data mining systems Requirements for security, privacy and IP Development tools and processes Simulation systems Selection of DB models, structures and methods Social assessment of systems Assessment of risk, security, correctness and reliability
The Discipline of Informatics 1 Second Discipline Structure Based on the CS2008 groups of areas Hardware H/w & S/w Engineering Theory Underpins Underpin Applied in Applications Programming Information Systems
The Discipline of Informatics 2 Similarities Between the Models Pure Informatics relates to the first three groups: Theory, Hardware and Programming; Applied informatics relates to the rest: the CS2008 knowledge areas forming the applications group. Possible Disadvantages of This Distinction If it simply split introductory and advanced material: but this does not apply to most of the knowledge areas; If the applications courses were too heavily artefact-based: since they should focus on how pure informatics material is applied, but this does need to include study of relevant artefacts.
The Discipline of Informatics 3 Non-CS Parts of Informatics Informatics includes other disciplines as well as CS: CE, SE, IS and IT; Each of these has a similar core to CS: in particular, they all include pure informatics, as defined here; Their relationships are concerned with the non-core areas: primarily, the areas defined here as applied informatics, plus some units from the NC and OS areas, which span multiple layers of product abstractions, and so need a variety of learning outcomes; They also span a dimension from theory to practice: which is within each point in the previous discipline models.
The Discipline of Informatics 4 The Spectrum of Theory and Practice Point Description 1 Mathematical or observational theories 2 Modelling languages 3 Generic models 4 Specific models 5 Practices for applying models Point 1 is for the very general theories of pure informatics; Point 2 the more specific theories of applied informatics: eg for OS theories of resources and allocations, for IM models of relational data and document sets, etc; Points 3 to 5 are for systems handled in SE, CE, IS and IT.
The Discipline of Informatics 5 The Scope of Informatics Mathematics relates to other disciplines: engineering, social sciences; But these are not part of mathematics: Informatics has similar relationships: to CE and SE, and to IS and IT; But these are all claimed as part of informatics: and it is extending to the life sciences as well, through computational biology. Separating Pure and Applied Informatics Pure informatics fits the mathematical paradigm; Applied informatics fits the science paradigm; Engineering and business applications have their own paradigms.
Curriculum Structures Cores of Pure and Applied Informatics The core of pure informatics is already well established: ideally, some should be in the high school curriculum; The core of applied informatics needs to be defined: arguably, consists of software development; These two cores should be introduced in parallel. Splitting Up Knowledge Areas Some CS2008 areas cover a wide range of material: particularly NC and OS; They might benefit from separating pure and applied aspects; This might help to clarify what is core for CS, SE, IS & IT.
Summary and Conclusions Distinguishing Pure and Applied Informatics This can be done from the CS2008 model: theory, hardware & programming form pure informatics, applications knowledge areas form applied informatics; The relationships between these have been analysed; And the relationships with CE. SE, IS & IT. The Value of This Distinction Identifies the need for two parallel cores: the conventional one for pure informatics, software development for applied informatics; Identifies dependencies within some knowledge areas; Identifies dependencies between knowledge areas.
The End Thanks for your attention!! Any Questions?