232 relations: A* search algorithm, Abstract data type, Abstract syntax tree, Abstraction layer, Academic Press, Academic term, ACM Fellow, Ada (programming language), Adriaan van Wijngaarden, Alexander Stepanov, ALGOL, ALGOL 58, ALGOL 60, Algorithm, Alpen-Adria-Universität Klagenfurt, American Academy of Arts and Sciences, Amsterdam, Association for Computing Machinery, Athens University of Economics and Business, Austin, Texas, B (programming language), Banker's algorithm, BASIC, BCPL, Bell System Technical Journal, Bertram Raphael, Bertrand Meyer, Bjarne Stroustrup, Bram Jan Loopstra, British Computer Society, Brown University, Burroughs Corporation, By-law, C (programming language), C++, Call stack, Carel S. Scholten, Carroll Morgan (computer scientist), Centrum Wiskunde & Informatica, Classical music, Classification yard, Cohesion (computer science), Communicating sequential processes, Communications of the ACM, Comparison sort, Compiler, Computer, Computer language, Computer program, Computer programming, ..., Computer science, Computing, Concern (computer science), Concert, Concurrency (computer science), Concurrent algorithm, Concurrent computing, Conditional (computer programming), Considered harmful, Correctness (computer science), Coupling (computer programming), Critical section, Czechs, David Alan Grier (writer), David Gries, David Parnas, Deadlock, Deadlock prevention algorithms, Dekker's algorithm, Dijkstra Prize, Dijkstra's algorithm, Dijkstra–Scholten algorithm, Dining philosophers problem, Discipline (academia), Distinguished Fellow of the British Computer Society, Distributed algorithm, Distributed computing, Donald Knuth, Douglas T. Ross, Dr. Dobb's Journal, Eindhoven, Eindhoven University of Technology, Electronics, Email, European Association for Theoretical Computer Science, Fault tolerance, Festschrift, Formal verification, Fortran, Fountain pen, Garbage collection (computer science), Garmisch-Partenkirchen, Goto, Graph theory, Groningen, Guarded Command Language, Harlan Mills, Harry H. Goode Memorial Award, Heapsort, Heuristic (computer science), Honorary degree, IEEE Computer Society, Infix notation, Information engineering, Information hiding, Institute of Electrical and Electronics Engineers, International Symposium on Distributed Computing, IS-IS, Jackson structured programming, Jan L. A. van de Snepscheut, Java (programming language), Kristen Nygaard, Larry Constantine, Leiden, Leiden University, Leslie Lamport, Lifestyle (sociology), List of algorithms, List of C-family programming languages, List of essayists, List of important publications in computer science, List of important publications in concurrent, parallel, and distributed computing, List of important publications in theoretical computer science, List of pioneers in computer science, Lock (computer science), Loyola University Chicago, Macintosh, Massachusetts Institute of Technology, Mikkel Thorup, Minimum spanning tree, Modula-2, Montblanc (company), Mordechai Ben-Ari, Mutual exclusion, NATO Software Engineering Conferences, Nico Habermann, Niklaus Wirth, Nils John Nilsson, Nuenen, Object-oriented programming, Ole-Johan Dahl, On the Cruelty of Really Teaching Computer Science, Open Shortest Path First, Operating system, Operator-precedence parser, Parallel computing, Pascal (programming language), Pen, Per Brinch Hansen, Peter E. Hart, Peter J. Denning, Peter Naur, Predicate transformer semantics, Prim's algorithm, Programmer, Programming language, Programming language implementation, Programming language theory, Programming paradigm, Pythagorean theorem, Queen's University Belfast, Ralph-Johan Back, Recursion (computer science), Refinement calculus, Resource contention, Reverse Polish notation, Riemann hypothesis, Robert C. Prim, Rotterdam, Royal charter, Royal Netherlands Academy of Arts and Sciences, Royalty payment, Self-stabilization, Semaphore (programming), Separation of concerns, Service-oriented architecture, Shlomi Dolev, Shortest path problem, Shunting-yard algorithm, SIGCSE, Simplicity, Simula, Sleeping barber problem, Smoothsort, Software, Software architecture, Software crisis, Software design, Software development, Software development process, Software engineer, Software engineering, Software maintenance, Software metric, Sorting algorithm, Springer Science+Business Media, SRI International, Stored-program computer, Structured analysis, Structured analysis and design technique, Structured programming, Structured systems analysis and design method, Surgery, Symposium on Principles of Distributed Computing, Synchronization (computer science), Systems science, Tape drive, Texas, Textbook, The Computer Journal, THE multiprogramming system, The New York Times, Theodorus Dekker, Theorem, Theoretical computer science, Theoretical physics, Thread (computing), Tony Hoare, Trade, Trade secret, Turing Award, Typewriter, United Nations, University of Amsterdam, University of Texas at Austin, Vladimir Lifschitz, Vojtěch Jarník, While loop, Wolfgang Amadeus Mozart, Word processor (electronic device), World Wide Web, Writer's block. Expand index (182 more) » « Shrink index
In computer science, A* (pronounced as "A star") is a computer algorithm that is widely used in pathfinding and graph traversal, which is the process of plotting an efficiently directed path between multiple points, called "nodes".
In computer science, an abstract data type (ADT) is a mathematical model for data types, where a data type is defined by its behavior (semantics) from the point of view of a user of the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations.
In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language.
In computing, an abstraction layer or abstraction level is a way of hiding the implementation details of a particular set of functionality, allowing the separation of concerns to facilitate interoperability and platform independence.
Academic Press is an academic book publisher.
An academic term (or simply "term") is a portion of an academic year, the time during which an educational institution holds classes.
ACM Fellowship is an award and fellowship that recognises outstanding members of the Association for Computing Machinery (ACM).
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
Adriaan "Aad" van Wijngaarden (2 November 1916 – 7 February 1987) was a Dutch mathematician and computer scientist, who is considered by many to have been the founding father of informatica (computer science) in the Netherlands.
Alexander Alexandrovich Stepanov (Алекса́ндр Алекса́ндрович Степа́нов), born November 16, 1950 in Moscow, is a Russian computer programmer, best known as an advocate of generic programming and as the primary designer and implementer of the C++ Standard Template Library, which he started to develop around 1992 while employed at HP Labs.
ALGOL (short for "Algorithmic Language") is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.
ALGOL 58, originally known as IAL, is one of the family of ALGOL computer programming languages.
ALGOL 60 (short for Algorithmic Language 1960) is a member of the ALGOL family of computer programming languages.
In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.
The Alpen-Adria-Universität Klagenfurt (AAU), or University of Klagenfurt, is a federal Austrian university and the largest research and higher education institution in the Austrian province Carinthia.
The American Academy of Arts and Sciences is one of the oldest learned societies in the United States of America.
Amsterdam is the capital and most populous municipality of the Netherlands.
The Association for Computing Machinery (ACM) is an international learned society for computing.
Athens University of Economics and Business (AUEB; Οικονομικό Πανεπιστήμιο Αθηνών, Oikonomiko Panepistimio Athinon, abbrev. ΟΠΑ, OPA) was founded in 1920 in Athens, Greece.
Austin is the capital of the U.S. state of Texas and the seat of Travis County, with portions extending into Hays and Williamson counties.
B is a programming language developed at Bell Labs circa 1969.
The Banker algorithm, sometimes referred to as the detection algorithm, is a resource allocation and deadlock avoidance algorithm developed by Edsger Dijkstra that tests for safety by simulating the allocation of predetermined maximum possible amounts of all resources, and then makes an "s-state" check to test for possible deadlock conditions for all other pending activities, before deciding whether allocation should be allowed to continue.
BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use.
BCPL ("Basic Combined Programming Language"; or 'Before C Programming Language' (a common humorous backronym)) is a procedural, imperative, and structured computer programming language.
The Bell System Technical Journal was a periodical publication by the American Telephone and Telegraph Company (AT&T) in New York devoted to the scientific and engineering aspects of electrical communication.
Bertram Raphael (born 1936) is an American computer scientist known for his contributions to artificial intelligence.
Bertrand Meyer (born 21 November 1950) is a French academic, author, and consultant in the field of computer languages.
Bjarne Stroustrup (born 30 December 1950) is a Danish computer scientist, who is most notable for the creation and development of the widely used C++ programming language.
Bram Jan Loopstra (1925 – 1979) was a Dutch computing pioneer who worked at the Mathematisch Centrum, Amsterdam and then at Electrologica with Adriaan van Wijngaarden, Carel S. Scholten and Gerrit Blaauw.
Sir Maurice Wilkes served as first President of BCS in 1957. The British Computer Society (BCS) is a professional body and a learned society that represents those working in Information Technology, both in the United Kingdom and internationally.
Brown University is a private Ivy League research university in Providence, Rhode Island, United States.
The Burroughs Corporation was a major American manufacturer of business equipment.
A by-law (bylaw) is a rule or law established by an organization or community to regulate itself, as allowed or provided for by some higher authority.
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
C++ ("see plus plus") is a general-purpose programming language.
In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program.
Carel S. Scholten (Amsterdam, 1925 – 2009) was a physicist and a pioneer of computing.
Charles Carroll Morgan (born 1952) is an American computer scientist who moved to Australia in his early teens.
The Centrum Wiskunde & Informatica (abbr. CWI; English: "National Research Institute for Mathematics and Computer Science") is a research center in the field of mathematics and theoretical computer science.
Classical music is art music produced or rooted in the traditions of Western culture, including both liturgical (religious) and secular music.
A classification yard (American and Canadian English) or marshalling yard (British, Hong Kong, Indian, Australian and Canadian English) is a railway yard found at some freight train stations, used to separate railway cars onto one of several tracks.
In computer programming, cohesion refers to the degree to which the elements inside a module belong together.
In computer science, communicating sequential processes (CSP) is a formal language for describing patterns of interaction in concurrent systems.
Communications of the ACM is the monthly journal of the Association for Computing Machinery (ACM).
A comparison sort is a type of sorting algorithm that only reads the list elements through a single abstract comparison operation (often a "less than or equal to" operator or a three-way comparison) that determines which of two elements should occur first in the final sorted list.
A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).
A computer is a device that can be instructed to carry out sequences of arithmetic or logical operations automatically via computer programming.
A computer language is a method of communication with a computer.
A computer program is a collection of instructions for performing a specific task that is designed to solve a specific class of problems.
Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.
Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.
Computing is any goal-oriented activity requiring, benefiting from, or creating computers.
In computer science, a concern is a particular set of information that has an effect on the code of a computer program.
A concert is a live music performance in front of an audience.
In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome.
In computer science, a concurrent algorithm is one that can be executed concurrently.
Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).
In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language, which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false.
Considered harmful is a part of a phrasal template used in the titles of at least 65 critical essays in computer science and related disciplines.
In theoretical computer science, correctness of an algorithm is asserted when it is said that the algorithm is correct with respect to a specification.
In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are;ISO/IEC/IEEE 24765:2010 Systems and software engineering — Vocabulary the strength of the relationships between modules.
In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior, so parts of the program where the shared resource is accessed are protected.
The Czechs (Češi,; singular masculine: Čech, singular feminine: Češka) or the Czech people (Český národ), are a West Slavic ethnic group and a nation native to the Czech Republic in Central Europe, who share a common ancestry, culture, history and Czech language.
David Alan Grier is a writer active in the field of technology and social policy.
David Gries (born 26 April 1939 in Flushing, Queens, New York) is an American computer scientist at Cornell University, United States primarily known for his books, The Science of Programming (1981) and A Logical Approach to Discrete Math (1993, with Fred B. Schneider).
David Lorge Parnas (born February 10, 1941) is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today.
In concurrent computing, a deadlock is a state in which each member of a group is waiting for some other member to take action, such as sending a message or more commonly releasing a lock.
In computer science, deadlock prevention algorithms are used in concurrent programming when multiple processes must acquire more than one shared resource.
Dekker's algorithm is the first known correct solution to the mutual exclusion problem in concurrent programming.
The Edsger W. Dijkstra Paper Prize in Distributed Computing is given for outstanding papers on the principles of distributed computing, whose significance and impact on the theory and/or practice of distributed computing has been evident for at least a decade.
Dijkstra's algorithm is an algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks.
The Dijkstra–Scholten algorithm (named after Edsger W. Dijkstra and Carel S. Scholten) is an algorithm for detecting termination in a distributed system.
In computer science, the dining philosophers problem is an example problem often used in concurrent algorithm design to illustrate synchronization issues and techniques for resolving them.
An academic discipline or academic field is a branch of knowledge.
Distinguished Fellow of the British Computer Society (DFBCS) is an award and fellowship granted by the British Computer Society for members of the computing profession who have made an outstanding contribution to the advancement of computing.
A distributed algorithm is an algorithm designed to run on computer hardware constructed from interconnected processors.
Distributed computing is a field of computer science that studies distributed systems.
Donald Ervin Knuth (born January 10, 1938) is an American computer scientist, mathematician, and professor emeritus at Stanford University.
Douglas Taylor "Doug" Ross (21 December 1929 – 31 January 2007) was an American computer scientist pioneer, and Chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the father of Automatically Programmed Tools (APT) a language to drive numerically controlled manufacturing.
Eindhoven is a municipality and city in the south of the Netherlands, originally at the confluence of the Dommel and Gender streams.
The Eindhoven University of Technology (Technische Universiteit Eindhoven, abbr. TU/e) is a university of technology in Eindhoven, Netherlands.
Electronics is the discipline dealing with the development and application of devices and systems involving the flow of electrons in a vacuum, in gaseous media, and in semiconductors.
Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices.
The European Association for Theoretical Computer Science (EATCS) is an international organization with a European focus, founded in 1972.
Fault tolerance is the property that enables a system to continue operating properly in the event of the failure (or one or more faults within) some of its components.
In academia, a Festschrift (plural, Festschriften) is a book honoring a respected person, especially an academic, and presented during their lifetime.
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.
A fountain pen is a nib pen that, unlike its predecessor, the dip pen, contains an internal reservoir of liquid ink.
In computer science, garbage collection (GC) is a form of automatic memory management.
Garmisch-Partenkirchen is a ski town in Bavaria, southern Germany.
GoTo (goto, GOTO, GO TO or other case combinations, depending on the programming language) is a statement found in many computer programming languages.
In mathematics, graph theory is the study of graphs, which are mathematical structures used to model pairwise relations between objects.
Groningen (Gronings: Grunnen) is the main municipality as well as the capital city of the eponymous province in the Netherlands.
The Guarded Command Language (GCL) is a language defined by Edsger Dijkstra for predicate transformer semantics.
Harlan D. Mills (May 14, 1919 – January 8, 1996) was Professor of Computer Science at the Florida Institute of Technology and founder of Software Engineering Technology, Inc.
The Harry H. Goode Memorial Award is an IEEE Computer Society annual awards in honor of Harry H. Goode for achievements in the information processing field which are considered either a single contribution of theory, design, or technique of outstanding significance, or the accumulation of important contributions on theory or practice over an extended time period, the total of which represent an outstanding contribution.
In computer science, heapsort is a comparison-based sorting algorithm.
In computer science, artificial intelligence, and mathematical optimization, a heuristic (from Greek εὑρίσκω "I find, discover") is a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution.
An honorary degree, in Latin a degree honoris causa ("for the sake of the honor") or ad honorem ("to the honor"), is an academic degree for which a university (or other degree-awarding institution) has waived the usual requirements, such as matriculation, residence, a dissertation and the passing of comprehensive examinations.
IEEE Computer Society (sometimes abbreviated Computer Society or CS) is a professional society of IEEE.
Infix notation is the notation commonly used in arithmetical and logical formulae and statements.
Information engineering (IE) or information engineering methodology (IEM) is a software engineering approach to designing and developing information systems.
In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed.
The Institute of Electrical and Electronics Engineers (IEEE) is a professional association with its corporate office in New York City and its operations center in Piscataway, New Jersey.
The International Symposium on Distributed Computing (DISC) is an annual academic conference for refereed presentations, whose focus is the theory, design, analysis, implementation, and application of distributed systems and networks.
Intermediate System to Intermediate System (IS-IS) is a routing protocol designed to move information efficiently within a computer network, a group of physically connected computers or similar devices.
Jackson structured programming (JSP) is a method for structured programming based on correspondences between data stream structure and program structure.
Johannes Lambertus Adriana van de Snepscheut (12 September 195323 February 1994) was a computer scientist and educator.
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
Kristen Nygaard (27 August 1926 – 10 August 2002) was a Norwegian computer scientist, programming language pioneer and politician.
Larry LeRoy Constantine (pronounced Constanteen; born 1943) is an American software engineer, professor in the Center for Exact Sciences and Engineering at the University of Madeira Portugal, and considered one of the pioneers of computing.
Leiden (in English and archaic Dutch also Leyden) is a city and municipality in the province of South Holland, Netherlands.
Leiden University (abbreviated as LEI; Universiteit Leiden), founded in the city of Leiden, is the oldest university in the Netherlands.
Leslie B. Lamport (born February 7, 1941) is an American computer scientist.
Lifestyle is the interests, opinions, behaviours, and behavioural orientations of an individual, group, or culture.
The following is a list of algorithms along with one-line descriptions for each.
Due to the success of the C programming language and some of its derivatives, C-family programming languages span a large variety of programming paradigms, conceptual models, and run-time environments.
This is a list of essayists—people notable for their essay-writing.
This is a list of important publications in computer science, organized by field.
This is a list of important publications in concurrent, parallel, and distributed computing, organized by field.
This is a list of important publications in theoretical computer science, organized by field.
This article presents a list of individuals who made transformative breakthroughs in the creation, development and imagining of what computers and electronics could do.
In computer science, a lock or mutex (from mutual exclusion) is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution.
Loyola University Chicago (often referred to as Loyola or LUC) is a private Catholic research university in Chicago, Illinois.
The Macintosh (pronounced as; branded as Mac since 1998) is a family of personal computers designed, manufactured, and sold by Apple Inc. since January 1984.
The Massachusetts Institute of Technology (MIT) is a private research university located in Cambridge, Massachusetts, United States.
Mikkel Thorup (born 1965) is a Danish computer scientist jointly affiliated at AT&T Labs in Florham Park, New Jersey, United States and at Copenhagen University.
A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted (un)directed graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight.
Modula-2 is a computer programming language designed and developed between 1977 and 1985 by Niklaus Wirth at the Swiss Federal Institute of Technology in Zurich (ETH Zurich) as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith.
Montblanc International GmbH (pronounced: or) is a German manufacturer of luxury writing instruments, watches, jewellery and leather goods, often identified by their "Snow peak" logo.
Mordechai (Moti) Ben-Ari (מרדכי (מוטי) בן-ארי) is a professor of computer science education at the Weizmann Institute of Science Ben-Ari has published numerous textbooks in computer science, developed software tools for teaching Computer Science, and written many influential papers in computer science education.
In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions; it is the requirement that one thread of execution never enter its critical section at the same time that another concurrent thread of execution enters its own critical section.
The NATO Software Engineering Conferences were held in 1968 and 1969.
Arie Nicolaas Habermann (26 June 1932 – 8 August 1993), often known as Nico Habermann, was a noted Dutch computer scientist.
Niklaus Emil Wirth (born 15 February 1934) is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering.
Nils John Nilsson (born 1933) is an American computer scientist.
Nuenen is a town in the municipality of Nuenen, Gerwen en Nederwetten in the Netherlands.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
Ole-Johan Dahl (12 October 1931 – 29 June 2002) was a Norwegian computer scientist.
“On the Cruelty of Really Teaching Computing Science” is a 1988 paper by E. W. Dijkstra which argues that computer programming should be understood as a branch of mathematics, and that the formal provability of a program is a major criterion for correctness.
Open Shortest Path First (OSPF) is a routing protocol for Internet Protocol (IP) networks.
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
In computer science, an operator precedence parser is a bottom-up parser that interprets an operator-precedence grammar.
Parallel computing is a type of computation in which many calculations or the execution of processes are carried out concurrently.
Pascal is an imperative and procedural programming language, which Niklaus Wirth designed in 1968–69 and published in 1970, as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the ALGOL 60 language. Wirth had already developed several improvements to this language as part of the ALGOL X proposals, but these were not accepted and Pascal was developed separately and released in 1970. A derivative known as Object Pascal designed for object-oriented programming was developed in 1985; this was used by Apple Computer and Borland in the late 1980s and later developed into Delphi on the Microsoft Windows platform. Extensions to the Pascal concepts led to the Pascal-like languages Modula-2 and Oberon.
A pen is a common writing instrument used to apply ink to a surface, usually paper, for writing or drawing.
Per Brinch Hansen (November 13, 1938 – July 31, 2007) was a Danish-American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing.
Peter E. Hart (born c. 1940s) is an American computer scientist and entrepreneur.
Peter James Denning (born January 6, 1942) is an American computer scientist and writer.
Peter Naur (25 October 1928 – 3 January 2016) was a Danish computer science pioneer and Turing award winner.
Predicate transformer semantics were introduced by Edsger Dijkstra in his seminal paper "Guarded commands, nondeterminacy and formal derivation of programs".
In computer science, Prim's algorithm is a greedy algorithm that finds a minimum spanning tree for a weighted undirected graph.
A programmer, developer, dev, coder, or software engineer is a person who creates computer software.
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
A programming language implementation is a system for executing computer programs.
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.
Programming paradigms are a way to classify programming languages based on their features.
In mathematics, the Pythagorean theorem, also known as Pythagoras' theorem, is a fundamental relation in Euclidean geometry among the three sides of a right triangle.
Queen's University Belfast (informally Queen's or QUB) is a public research university in Belfast, Northern Ireland.
Ralph-Johan Back is a Finnish computer scientist.
Recursion in computer science is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem (as opposed to iteration).
The refinement calculus is a formalized approach to stepwise refinement for program construction.
In computer science, resource contention is a conflict over access to a shared resource such as random access memory, disk storage, cache memory, internal buses or external network devices.
Reverse Polish notation (RPN), also known as Polish postfix notation or simply postfix notation, is a mathematical notation in which operators follow their operands, in contrast to Polish notation (PN), in which operators precede their operands.
In mathematics, the Riemann hypothesis is a conjecture that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part.
Robert Clay Prim (born September 25, 1921 in Sweetwater, Texas) is an American mathematician and computer scientist.
Rotterdam is a city in the Netherlands, in South Holland within the Rhine–Meuse–Scheldt river delta at the North Sea.
A royal charter is a formal document issued by a monarch as letters patent, granting a right or power to an individual or a body corporate.
The Royal Netherlands Academy of Arts and Sciences (Koninklijke Nederlandse Akademie van Wetenschappen, abbreviated: KNAW) is an organization dedicated to the advancement of science and literature in the Netherlands.
A royalty is a payment made by one party, the licensee or franchisee to another that owns a particular asset, the licensor or franchisor for the right to ongoing use of that asset.
Self-stabilization is a concept of fault-tolerance in distributed computing.
In computer science, a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multitasking operating system.
In computer science, separation of concerns (SoC) is a design principle for separating a computer program into distinct sections, such that each section addresses a separate concern.
A service-oriented architecture (SOA) is a style of software design where services are provided to the other components by application components, through a communication protocol over a network.
Shlomi Dolev (שלומי דולב, born December 5, 1958) is a Rita Altura Trust Chair Professor in Computer Science at Ben-Gurion University of the Negev (BGU) and the head of the Frankel Center for Computer Science.
In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized.
In computer science, the shunting-yard algorithm is a method for parsing mathematical expressions specified in infix notation.
SIGCSE is the Association for Computing Machinery's Special Interest Group on Computer Science Education, which provides a forum for educators to discuss issues related to the development, implementation, and/or evaluation of computing programs, curricula, and courses, as well as syllabi, laboratories, and other elements of teaching and pedagogy.
Simplicity is the state or quality of being simple.
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard.
In computer science, the sleeping barber problem is a classic inter-process communication and synchronization problem between multiple operating system processes.
In computer science, smoothsort is a comparison-based sorting algorithm.
Computer software, or simply software, is a generic term that refers to a collection of data or computer instructions that tell the computer how to work, in contrast to the physical hardware from which the system is built, that actually performs the work.
Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures.
Software crisis is a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time.
Software design is the process by which an agent creates a specification of a software artifact, intended to accomplish goals, using a set of primitive components and subject to constraints.
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management.
A software engineer is a person who applies the principles of software engineering to the design, development, maintenance, testing, and evaluation of computer software.
Software engineering is the application of engineering to the development of software in a systematic method.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
A software metric is a standard of measure of a degree to which a software system or process possesses some property.
In computer science, a sorting algorithm is an algorithm that puts elements of a list in a certain order.
Springer Science+Business Media or Springer, part of Springer Nature since 2015, is a global publishing company that publishes books, e-books and peer-reviewed journals in science, humanities, technical and medical (STM) publishing.
SRI International (SRI) is an American nonprofit research institute headquartered in Menlo Park, California.
A stored-program computer is a computer that stores program instructions in electronic memory.
In software engineering, structured analysis (SA) and structured design (SD) are methods for analyzing business requirements and developing specifications for converting practices into computer programs, hardware configurations, and related manual procedures.
Structured analysis and design technique (SADT) is a systems engineering and software engineering methodology for describing systems as a hierarchy of functions.
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.
Structured systems analysis and design method (SSADM), originally released as methodology, is a systems approach to the analysis and design of information systems.
Surgery (from the χειρουργική cheirourgikē (composed of χείρ, "hand", and ἔργον, "work"), via chirurgiae, meaning "hand work") is a medical specialty that uses operative manual and instrumental techniques on a patient to investigate or treat a pathological condition such as a disease or injury, to help improve bodily function or appearance or to repair unwanted ruptured areas.
The Symposium on Principles of Distributed Computing (PODC) is an academic conference in the field of distributed computing organised annually by the Association for Computing Machinery (special interest groups SIGACT and SIGOPS).
In computer science, synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of Data.
Systems science is an interdisciplinary field that studies the nature of systems—from simple to complex—in nature, society, cognition, and science itself.
A tape drive is a data storage device that reads and writes data on a magnetic tape.
Texas (Texas or Tejas) is the second largest state in the United States by both area and population.
A textbook or coursebook (UK English) is a manual of instruction in any branch of study.
The Computer Journal is a peer-reviewed scientific journal covering computer science and information systems.
The THE multiprogramming system or THE OS was a computer operating system designed by a team led by Edsger W. Dijkstra, described in monographs in 1965-66 (Jun 14, 1965) and published in 1968.
The New York Times (sometimes abbreviated as The NYT or The Times) is an American newspaper based in New York City with worldwide influence and readership.
Theodorus Jozef Dekker (born 1 March 1927) is a Dutch mathematician.
In mathematics, a theorem is a statement that has been proven on the basis of previously established statements, such as other theorems, and generally accepted statements, such as axioms.
Theoretical computer science, or TCS, is a subset of general computer science and mathematics that focuses on more mathematical topics of computing and includes the theory of computation.
Theoretical physics is a branch of physics that employs mathematical models and abstractions of physical objects and systems to rationalize, explain and predict natural phenomena.
In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.
Sir Charles Antony Richard Hoare (born 11 January 1934), is a British computer scientist.
Trade involves the transfer of goods or services from one person or entity to another, often in exchange for money.
A trade secret is a formula, practice, process, design, instrument, pattern, commercial method, or compilation of information not generally known or reasonably ascertainable by others by which a business can obtain an economic advantage over competitors or customers.
The ACM A.M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) to an individual selected for contributions "of lasting and major technical importance to the computer field".
A typewriter is a mechanical or electromechanical machine for writing characters similar to those produced by printer's movable type.
The United Nations (UN) is an intergovernmental organization tasked to promote international cooperation and to create and maintain international order.
The University of Amsterdam (abbreviated as UvA, Universiteit van Amsterdam) is a public university located in Amsterdam, Netherlands.
The University of Texas at Austin (UT, UT Austin, or Texas) is a public research university and the flagship institution of the University of Texas System.
Vladimir Lifschitz is the Gottesman Family Centennial Professor in Computer Sciences at the University of Texas at Austin.
Vojtěch Jarník (1897–1970) was a Czech mathematician who worked for many years as a professor and administrator at Charles University, and helped found the Czechoslovak Academy of Sciences.
In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition.
Wolfgang Amadeus Mozart (27 January 1756 – 5 December 1791), baptised as Johannes Chrysostomus Wolfgangus Theophilus Mozart, was a prolific and influential composer of the classical era.
A word processor is an electronic device or computer software application that performs the task of composing, editing, formatting, and printing of documents.
The World Wide Web (abbreviated WWW or the Web) is an information space where documents and other web resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links, and accessible via the Internet.
Writer's block is a condition, primarily associated with writing, in which an author loses the ability to produce new work, or experiences a creative slowdown.
Dikstra, Djikstra, E. W. Dijkstra, EWDs, Edgar Dykstra, Edgar djikstra, Edsgar Dijkstra, Edsgar Dykstra, Edsger Dijkstra, Edsger Djikstra, Edsger Dykstra, Edsger W Dijkstra, Edsger W Dykstra, Edsger W. Dykstra, Edsger Wybe Dijkstra, Edsger Wybe Dykstra, Edsger dijkstra, Edsger dikjstra, Mohol (programming languages), Mr Dicks.