A taxonomy for computer science (original) (raw)
Related papers
A more formal approach to "computer science: principles
Proceeding of the 44th ACM technical symposium on Computer science education - SIGCSE '13, 2013
We report on a course, entitled "How Computers Work: Logic in Action", which we have offered the past few years at the University of Oklahoma, and which will be offered soon at the University of Wyoming. Intended for non-CS majors, this course is our answer to the question, What would you teach if you had only one course to help students grasp the essence of computation and perhaps inspire a few of them to make computing a subject of further study? Assuming no prior knowledge of computers or mathematics beyond high school algebra, the course is compatible with the Computer Science: Principles approach proposed by the College Board, although it is a significant departure from the pilot courses that are currently following this approach.
Foundations of Computing and Decision Sciences, 2019
In this article I defend the thesis that modern computer science has a significant philosophical potential, which is expressed in a form of worldview, called here informational worldview (IVW). It includes such theses like: a) each being contains a certain informational content (which may be revealed by computer science concepts, such as code or algorithm), b) the mind is an information processing system (which should be modeled by means of data processing systems), c) cognition is a type of computation. These (pre)philosophical theses are accepted in many sciences (e.g. in cognitive science), and this is both an expression and strengthening of the IWV. After a general discussion of the relations between philosophy, particular sciences and the worldview, and then the presentation of the basic assumptions and theses of the IWV, I analyze a certain specification of thesis b) expressed in the statement that “the mind is the Turing machine”. I distinguish three concepts of mind (static,...
Basic Concepts of Computer Science
Programming Smalltalk – Object-Orientation from the Beginning, 2015
The concept of an algorithm, the concept of a programing language, and the concept of a user interface By ©Caleb McIvor 2014
Philosophy of Computer Science: A Course Outline
2005
There are many branches of philosophy called “the philosophy of X”, where X = disciplines ranging from history to physics. The philosophy of artificial intelligence has a long history, and there are many courses and texts with that title. Surprisingly, the philosophy of computer science is not nearly as welldeveloped. This article proposes topics that might constitute the philosophy of computer science and describes a course covering those topics, along with suggested readings and assignments.
ON THE THEORETICAL FOUNDATIONS OF COMPUTER SCIENCE. AN INTRODUCTORY ESSAY
GRIN Verlag Publications., Munich, Germany, E-book, 22 pages, ISBN #, 9783668980433, July, 2019, https://m.grin.com/document/491407, 2019
The paper presented an analytical exposition, critical context and integrative conclusion on the discussion on the meaning, significance and potential applications of theoretical foundations of computer science with respect to Algorithms Design and Analysis; Complexity Theory; Turing Machines; Finite Automata; Cryptography; and Machine Learning. An algorithm is any well-defined computational procedure that takes some value or sets of values as input and produces some values or sets of values as output. A Turing machine consists of a finite program, called the finite control, capable of manipulating a linear list of cells, called the tape, using one access pointer, called the head.Cellular automata is an array of finite state machines (inter-related). A universal Turing machine U is a Turing machine that can imitate the behavior of any other Turing machine T. Automata are a particularly simple, but useful, model of computation which were were initially proposed as a simple model for the behavior of neurons. A model of computation is a mathematical abstraction of computers which is used by computer scientists to perform a rigorous study of computation. An automaton with a finite number of states is called a Finite Automaton (FA) or Finite State Machine (FSM). The Church-Turing Thesis states that the Turing machine is equivalent in computational ability to any general mathematical device for computation, including digital computers. The important themes in Theoretical Computer Science (TCS) are efficiency, impossibility results, approximation, central role of randomness, and reductions (NP-completeness and other intractability results).
Foundations of computer science
ACM SIGCSE Bulletin, 1996
Computer science as a discipline is changing rapidly. New developments in software and hardware are changing the way we write programs, design systems, and create applications. The role of the first year curriculum in computer science is to lay the foundations for becoming a professional in the field. We examine the ways in which the changing nature of computer science influences our teaching methods, our view of which concepts are fundamental, and the overall sense of what it takes to become a successful computer scientist. We propose a first year curriculum model that has a strong emphasis on design, on programming in a structured project based environment, and on the extensive use of tools, libraries, and templates. We illustrate this model by describing a collection of graphicsbased exercises that apply computing across the disciplines.
Computer science: the emergence of a discipline
Communications of the ACM, 1987
The continued rapid development of computer science will require an expansion of the science base and an influx of talented new researchers. Computers have already altered the way we think and live; now they will begin to elevate our knowledge of the world.
Foundations of computer science: what are they and iiuvviju wi~ tl~;;~l
Computer science as a discipline is changing rapidly. New developments in software and hardware are changing the way we write programs, design systems, and create applications. The role of the first year curriculum in computer science is to lay the foundations for becoming a professional in the field. We examine the ways in which the changing nature of computer science influences our teaching methods, our view of which concepts are fundamental, and the overall sense of what it takes to become a successful computer scientist. We propose a first year curriculum model that has a strong emphasis on design, on programming in a structured project based environment, and on the extensive use of tools, libraries, and templates. We illustrate this model by describing a collection of graphicsbased exercises that apply computing across the disciplines.
The Role of Theory in Computer Science
2016
Computer science is the study of computers and programs, the collections of instructions that direct the activity of computers. Although computers are made of simple elements, the tasks they perform are often very complex. The great disparity between the simplicity of computers and the complexity of computational tasks offers intellectual challenges of the highest order. It is the models and methods of analysis developed by computer science to meet these challenges that are the subject of theoretical computer science. Computer scientists have developed models for machines, such as the random-access and Turing machines; for languages, such as regular and context-free languages; for programs, such as straight-line and branching programs; and for systems of programs, such as compilers and operating systems. Models have also been developed for data structures, such as heaps, and for databases, such as the relational and object-oriented databases. Methods of analysis have been developed to study the efficiency of algorithms and their data structures, the expressibility of languages and the capacity of computer architectures to recognize them, the classification of problems by the time and space required to solve them, their inherent complexity, and limits that hold simultaneously on computational resources for particular problems. This book examines each of these topics in detail except for the first, analysis of algorithms and data structures, which it covers only briefly. This chapter provides an overview of the book. Except for the mathematical preliminaries, the topics introduced here are revisited later.