127 relations: "Hello, World!" program, Abstraction (computer science), ACCU (organisation), Ada Lovelace, Agile software development, Algorithm, Algorithmic efficiency, Allen B. Downey, Analytical Engine, Assembly language, Association for Computing Machinery, Automaton, Bernoulli number, Big O notation, Binary number, Buffer overflow, Build automation, Bytecode, C (programming language), C++, Cam, Card stock, Charles Babbage, COBOL, Code refactoring, Code::Blocks, Command-line interface, Comment (computer programming), Comparison of instruction set architectures, Compiler, Computer, Computer hardware, Computer memory, Computer network, Computer program, Computer programming in the punched card era, Computer terminal, Computing, Control flow, Data storage, David Gries, Debugging, Decomposition (computer science), Documentation, Domain (software engineering), Duplicate code, Eclipse (software), Edsger W. Dijkstra, Emacs, Embedded software, ..., Engineering, Entity–relationship model, Executable, Fortran, Functional programming, Gerald Weinberg, GNU Debugger, Herman Hollerith, High-level programming language, Human factors and ergonomics, IBM 602, IBM 604, Indentation style, Institution of Analysts and Programmers, Instruction set architecture, Integrated development environment, Interpreter (computing), Ismail al-Jazari, Jacquard loom, KDevelop, Library (computing), Lisp (programming language), Logic, Logic programming, Machine code, Mainframe computer, Maintainability, Memory leak, Microsoft Visual Studio, Model-driven architecture, Naming convention (programming), National Coding Week, NetBeans, Object-oriented analysis and design, Object-oriented programming, Off-by-one error, Operating system, Parameter (computer programming), Performance engineering, Plugboard, Procedural programming, Programming language, Programming paradigm, Programming style, Punched tape, Race condition, Readability, Requirements analysis, Robustness (computer science), Scripting language, Separation of content and presentation, Software architecture, Software bug, Software development, Software engineering, Software maintenance, Software portability, Software testing, Source code, Source code editor, Specification (technical standard), Static program analysis, Stored-program computer, System integration, System programming, Temporary file, Text editor, The Art of Computer Programming, Unified Modeling Language, Unit record equipment, Usability, Use case, Visual programming language, Vulnerability (computing), World Scientific, World Wide Web, Xcode. Expand index (77 more) » « Shrink index
A "Hello, World!" program is a computer program that outputs or displays "Hello, World!" to a user.
In software engineering and computer science, abstraction is.
ACCU, previously known as Association of C and C++ Users, is a non-profit user group of people interested in software development, dedicated to raising the standard of computer programming.
Augusta Ada King-Noel, Countess of Lovelace (née Byron; 10 December 1815 – 27 November 1852) was an English mathematician and writer, chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine.
Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).
In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.
In computer science, algorithmic efficiency is a property of an algorithm which relates to the number of computational resources used by the algorithm.
Allen B. Downey (born May 11, 1967) is an American computer scientist, Professor of Computer Science at the Franklin W. Olin College of Engineering and writer of free textbooks.
The Analytical Engine was a proposed mechanical general-purpose computer designed by English mathematician and computer pioneer Charles Babbage.
An assembly (or assembler) language, often abbreviated asm, is a low-level programming language, in which there is a very strong (but often not one-to-one) correspondence between the assembly program statements and the architecture's machine code instructions.
The Association for Computing Machinery (ACM) is an international learned society for computing.
An automaton (plural: automata or automatons) is a self-operating machine, or a machine or control mechanism designed to automatically follow a predetermined sequence of operations, or respond to predetermined instructions.
In mathematics, the Bernoulli numbers are a sequence of rational numbers which occur frequently in number theory.
Big O notation is a mathematical notation that describes the limiting behaviour of a function when the argument tends towards a particular value or infinity.
In mathematics and digital electronics, a binary number is a number expressed in the base-2 numeral system or binary numeral system, which uses only two symbols: typically 0 (zero) and 1 (one).
In information security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory locations.
Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.
Bytecode, also termed portable code or p-code, is a form of instruction set designed for efficient execution by a software interpreter.
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.
A cam is a rotating or sliding piece in a mechanical linkage used especially in transforming rotary motion into linear motion.
Card stock, also called cover stock or pasteboard, is a paper stock that is thicker and more durable than normal writing or printing paper, but thinner and more flexible than other forms of paperboard.
Charles Babbage (26 December 1791 – 18 October 1871) was an English polymath.
COBOL (an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use.
Code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.
Code::Blocks is a free, open-source cross-platform IDE that supports multiple compilers including GCC, Clang and Visual C++.
A command-line interface or command language interpreter (CLI), also known as command-line user interface, console user interface and character user interface (CUI), is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines).
In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program.
Computer architectures are often described as n-bit architectures.
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.
Computer hardware includes the physical parts or components of a computer, such as the central processing unit, monitor, keyboard, computer data storage, graphic card, sound card and motherboard.
In computing, memory refers to the computer hardware integrated circuits that store information for immediate use in a computer; it is synonymous with the term "primary storage".
A computer network, or data network, is a digital telecommunications network which allows nodes to share resources.
A computer program is a collection of instructions for performing a specific task that is designed to solve a specific class of problems.
From the invention of computer programming languages up to the mid-1970s, many if not most computer programmers created, edited and stored their programs line by line on punched cards.
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying or printing data from, a computer or a computing system.
Computing is any goal-oriented activity requiring, benefiting from, or creating computers.
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.
Data storage is the recording (storing) of information (data) in a storage medium.
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).
Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.
Decomposition in computer science, also known as factoring, is breaking a complex problem or system into parts that are easier to conceive, understand, program, and maintain.
Documentation is a set of documents provided on paper, or online, or on digital or analog media, such as audio tape or CDs.
A domain is a field of study that defines a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in the area of computer programming, known as domain engineering.
Duplicate code is a computer programming term for a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity.
Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE.
Edsger Wybe Dijkstra (11 May 1930 – 6 August 2002) was a Dutch systems scientist, programmer, software engineer, science essayist, and early pioneer in computing science.
Emacs is a family of text editors that are characterized by their extensibility.
Embedded software is computer software, written to control machines or devices that are not typically thought of as computers.
Engineering is the creative application of science, mathematical methods, and empirical evidence to the innovation, design, construction, operation and maintenance of structures, machines, materials, devices, systems, processes, and organizations.
An entity–relationship model (ER model for short) describes interrelated things of interest in a specific domain of knowledge.
In computing, executable code or an executable file or executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful.
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.
In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
Gerald Marvin (Jerry) Weinberg (born October 27, 1933) is an American computer scientist, author and teacher of the psychology and anthropology of computer software development.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Go, Java and partially others.
Herman Hollerith (February 29, 1860 – November 17, 1929) was an American inventor who developed an electromechanical punched card tabulator to assist in summarizing information and, later, accounting.
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.
Human factors and ergonomics (commonly referred to as Human Factors), is the application of psychological and physiological principles to the (engineering and) design of products, processes, and systems.
The IBM 602 Calculating Punch, introduced in 1946, was an electromechanical calculator capable of addition, subtraction, multiplication, and division.
The IBM 604 was a control panel programmable Electronic Calculating Punch introduced in 1948, and was "a machine on which considerable expectations for the future of the business were pinned and in which a corresponding amount of planning talent was invested."Charles J. Bashe, Lyle R. Johnson, John H. Palmer, and Emerson W. Pugh, IBM's Early Computers, MIT Press, 1986,, p. 61 Most of the circuitry was based on modifications of circuit designs used in the earlier 603 Electronic Multiplier and was packaged in small one-tube-replaceable pluggable units, which made the product more easily manufactured and serviced.
In computer programming, an indentation style is a convention governing the indentation of blocks of code to convey program structure.
The Institution Of Analysts and Programmers is a professional body that represents those working in Systems Analysis, Design, Programming and implementation of computer systems both in the United Kingdom and internationally.
An instruction set architecture (ISA) is an abstract model of a computer.
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.
In computer science, an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
Badīʿ az-Zaman Abū l-ʿIzz ibn Ismāʿīl ibn ar-Razāz al-Jazarī (1136–1206, بديع الزمان أَبُو اَلْعِزِ بْنُ إسْماعِيلِ بْنُ الرِّزاز الجزري) was a Muslim polymath: a scholar, inventor, mechanical engineer, artisan, artist and mathematician.
The Jacquard machine is a device fitted to a power loom that simplifies the process of manufacturing textiles with such complex patterns as brocade, damask and matelassé.
KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Microsoft Windows.
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
Logic (from the logikḗ), originally meaning "the word" or "what is spoken", but coming to mean "thought" or "reason", is a subject concerned with the most general laws of truth, and is now generally held to consist of the systematic study of the form of valid inference.
Logic programming is a type of programming paradigm which is largely based on formal logic.
Machine code is a computer program written in machine language instructions that can be executed directly by a computer's central processing unit (CPU).
Mainframe computers (colloquially referred to as "big iron") are computers used primarily by large organizations for critical applications; bulk data processing, such as census, industry and consumer statistics, enterprise resource planning; and transaction processing.
In engineering, maintainability is the ease with which a product can be maintained in order to.
In computer science, a memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations in such a way that memory which is no longer needed is not released.
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft.
Model-driven architecture (MDA®) is a software design approach for the development of software systems.
In computer programming, a naming convention is a set of rules for choosing the character sequence to be used for identifiers which denote variables, types, functions, and other entities in source code and documentation.
National Coding Week was founded by former headteacher Richard Rolfe and tech entrepreneur Jordan Love, who was appointed EU Code Week Ambassador for the UK.
NetBeans is an integrated development environment (IDE) for Java.
Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.
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").
An off-by-one error (OBOE), also commonly known as an OBOB (off-by-one bug), or OB1 error is a logic error involving the discrete equivalent of a boundary condition.
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
In computer programming, a parameter (often called formal parameter or formal argument) is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.
Performance engineering encompasses the techniques applied during a systems development life cycle to ensure the non-functional requirements for performance (such as throughput, latency, or memory usage) will be met.
A plugboard, or control panel (the term used depended on the application area), is an array of jacks, or sockets (often called hubs), into which patch cords can be inserted to complete an electrical circuit.
Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
Programming paradigms are a way to classify programming languages based on their features.
Programming style is a set of rules or guidelines used when writing the source code for a computer program.
Punched tape or perforated paper tape is a form of data storage, consisting of a long strip of paper in which holes are punched to store data.
A race condition or race hazard is the behavior of an electronics, software, or other system where the output is dependent on the sequence or timing of other uncontrollable events.
Readability is the ease with which a reader can understand a written text.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
In computer science, robustness is the ability of a computer system to cope with errors during execution1990.
A scripting or script language is a programming language that supports scripts: programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator.
Separation of content and presentation (or separation of content and style) is the separation of concerns design principle as applied to the authoring and presentation of content.
Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures.
A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
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.
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.
Portability in high-level computer programming is the usability of the same software in different environments.
Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test.
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.
A source code editor is a text editor program designed specifically for editing source code of computer programs by programmers.
A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service.
Static program analysis is the analysis of computer software that is performed without actually executing programs.
A stored-program computer is a computer that stores program instructions in electronic memory.
System integration is defined in engineering as the process of bringing together the component sub-systems into one system (an aggregation of subsystems cooperating so that the system is able to deliver the overarching functionality) and ensuring that the subsystems function together as a system, and in information technology as the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole.
System programming (or systems programming) is the activity of programming computer system software.
Temporary files, or foo files (.TMP), are files created to temporarily contain information while a new file is being made.
A text editor is a type of computer program that edits plain text.
The Art of Computer Programming (sometimes known by its initials TAOCP) is a comprehensive monograph written by Donald Knuth that covers many kinds of programming algorithms and their analysis.
The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system.
Starting at the end of the nineteenth century, well before the advent of electronic computers, data processing was performed using electromechanical machines called unit record equipment, electric accounting machines (EAM) or tabulating machines.
Usability is the ease of use and learnability of a human-made object such as a tool or device.
In software and systems engineering, a use case is a list of actions or event steps typically defining the interactions between a role (known in the Unified Modeling Language as an actor) and a system to achieve a goal.
In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually.
In computer security, a vulnerability is a weakness which can be exploited by a Threat Actor, such as an attacker, to perform unauthorized actions within a computer system.
World Scientific Publishing is an academic publisher of scientific, technical, and medical books and journals headquartered in Singapore.
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.
Xcode is an integrated development environment (IDE) for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS, and tvOS.
Application programming, Code readability, Computer Programming, Computer coding, History of computer programming, IT programming, ProgramMing, Proramming, Software programming, Systems level programming.