Richard Bornat (born 1944) is a British author and researcher in the field of computer science. He is also professor of Computer programming at Middlesex University. Previously he was at Queen Mary, University of London.
Bornat's research interests includes program proving in separation logic. His focus is on the proofs themselves; as opposed to any logical underpinnings. Much of the work involves discovering ways to state the properties of independent modules, in a manner that makes their composition into useful systems conducive.
Bornat (in conjunction with Bernard Sufrin of the Oxford University Computing Laboratory) developed Jape, a proof calculator; he is involved in research on the usability of this tool for exploration of novel proofs.
Richard Bornat's PhD students have included Samson Abramsky in the early 1980s.
In 2004, one of Bornat's students developed an aptitude test to "divide people up into programmers and non-programmers before they ever come into contact with programming." The test was first given to a group of students in 2005 during an experiment on the use of mental models in programming. [1] In 2008 and 2014, Bornat partially retracted some of the claims, [2] impugning its validity as a test for programming capability. [3]
Bornat published a book entitled "Understanding and Writing Compilers: A Do It Yourself Guide", which is regarded as one of the most extensive resources on compiler development. Although it has been out of print for some time, he has now made it available as an online edition.
Other publications from Bornat include:
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both hardware and software. Computing has scientific, engineering, mathematical, technological, and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology, and software engineering.
Computer programming or coding is the composition of sequences of instructions, called programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of procedures, by writing code in one or more programming languages. Programmers typically use high-level programming languages that are more easily intelligible to humans than machine code, which is directly executed by the central processing unit. Proficient programming usually requires expertise in several different subjects, including knowledge of the application domain, details of programming languages and generic code libraries, specialized algorithms, and formal logic.
Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines.
Discrete mathematics is the study of mathematical structures that can be considered "discrete" rather than "continuous". Objects studied in discrete mathematics include integers, graphs, and statements in logic. By contrast, discrete mathematics excludes topics in "continuous mathematics" such as real numbers, calculus or Euclidean geometry. Discrete objects can often be enumerated by integers; more formally, discrete mathematics has been characterized as the branch of mathematics dealing with countable sets. However, there is no exact definition of the term "discrete mathematics".
Edsger Wybe Dijkstra was a Dutch computer scientist, programmer, software engineer, mathematician, and science essayist.
Stephen Arthur Cook is an American-Canadian computer scientist and mathematician who has made significant contributions to the fields of complexity theory and proof complexity. He is a university professor emeritus at the University of Toronto, Department of Computer Science and Department of Mathematics.
Sir Charles Antony Richard Hoare, also known as Tony Hoare or by his initials C. A. R. Hoare is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and concurrent computing. His work earned him the Turing Award, usually regarded as the highest distinction in computer science, in 1980.
Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. One well known subject classification system for computer science is the ACM Computing Classification System devised by the Association for Computing Machinery.
The Harvard Mark I, or IBM Automatic Sequence Controlled Calculator (ASCC), was one of the earliest general-purpose electromechanical computers used in the war effort during the last part of World War II.
In theoretical computer science, an algorithm is correct with respect to a specification if it behaves as specified. Best explored is functional correctness, which refers to the input-output behavior of the algorithm: for each input it produces an output satisfying the specification.
The following outline is provided as an overview of and topical guide to software engineering:
Peter John Landin was a British computer scientist. He was one of the first to realise that the lambda calculus could be used to model a programming language, an insight that is essential to the development of both functional programming and denotational semantics.
Samson Abramsky is Professor of Computer Science at University College London. He was previously the Christopher Strachey Professor of Computing at Wolfson College, Oxford, from 2000 to 2021.
Logic in computer science covers the overlap between the field of logic and that of computer science. The topic can essentially be divided into three main areas:
In computer science and mathematical logic, a proof assistant or interactive theorem prover is a software tool to assist with the development of formal proofs by human-machine collaboration. This involves some sort of interactive proof editor, or other interface, with which a human can guide the search for proofs, the details of which are stored in, and some steps provided by, a computer.
Robert Anthony Kowalski is an American-British logician and computer scientist, whose research is concerned with developing both human-oriented models of computing and computational models of human thinking. He has spent most of his career in the United Kingdom.
Jape is a configurable, graphical proof assistant, originally developed by Richard Bornat at Queen Mary, University of London and Bernard Sufrin the University of Oxford. The program is available for the Mac, Unix, and Windows operating systems. It is written in the Java programming language and released under the GNU GPL.
Bruce Wesley Arden was an American computer scientist.
{{cite web}}
: CS1 maint: multiple names: authors list (link)