Introduction to Computers/Development
how to[edit | edit source]
Steps of programming[edit | edit source]
define[edit | edit source]
To define or Clarify a problem, it consists of six steps: Clarifying program objectives and users, outputs, inputs, processing tasks, studying the feasibility of the program, and documenting the analysis. Problem definition is the forerunner to program design in the programming process.
algorithm[edit | edit source]
An algorithm (pronounced AL-go-rith-um)is a formula or set of steps for solving a particular problem. All computer programs consist of algorithms. The word derives from the name of the mathematician, Mohammed ibn-Musa al-Khwarizmi, who was part of the royal court in Baghdad and who lived from about 780 to 850. Al-Khwarizmi's work is the likely source for the word algebra as well. 
A recipe for baking cookies or a flow chart are examples of an algorithm.
Code[edit | edit source]
In computer science, source code (commonly just source or code) is any sequence of statements and/or declarations written in some human-readable computer programming language. The source code which constitutes a program is usually held in one or more text files, sometimes stored in databases as stored procedures. A large collection of source code files may be organized into a directory tree, in which case it may also be known as a source tree. Coding is the third of five steps in programming. It consists of translating the logic requirements from flowcharts and pseudocode into a programming language such as letters, numbers, symbols. In short, code could be considered as the DNA of any written program as shown in the cult classic "The Matrix".
Source code is primarily used as input to the process that produces an executable program. It is also sometimes used as a method of communicating algorithms between people. Without the source code for a particular piece of software, portability is generally very expensive. w:Source_code
test[edit | edit source]
Program testing involves running tests and then running real world data to make sure the programs works. The act of testing is to deliberately make the program fail in order to witness any problems within the software.
Alpha testing is testing your own program. Beta testing is when other people test it. 
document[edit | edit source]
Software documentation or source code documentation is written text that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles. Documentation is an important part of software engineering.the 4 basic types of documentation include:
1.Architecture/Design - Overview of software. Includes relations to an environment and construction principles to be used in design of software components.
2.Technical - Documentation of code, algorithms, interfaces, and APIs.
3.End User - Manuals for the end-user, system administrators and support staff.
4.Marketing - Product briefs and promotional collateral.
Although documentation is the last step in the programming process, it should have been an on-going process. The final documentation results in written documentation of what a program is and how to use it. Documentation is prepared for many different people who will be using the program in the future like programmers, users, readers and operators.
control structures[edit | edit source]
sequence[edit | edit source]
A sequence is a system where one program statement follows another in logical sequential order.
selection[edit | edit source]
This represents a choice as it offers two paths to follow in decision making by a program. This is also known as IF-THEN-ELSE.
iteration[edit | edit source]
Iteration in computing is the repetition of a process within a computer program. It can be used both as a general term, synonymous with repetition, and to describe a specific form of repetition with a mutable state.  There are two types of iteration structures: DO UNTIL and DO WHILE. The DO UNTIL iteration means that the loop statements will be executed at least once (txt 513)
Generations of[edit | edit source]
1st generation[edit | edit source]
A first-generation programming language is a machine-level programming language. [txt 337] This was done physically by rewiring connections between the logic gates (vacuum tubes back then)
1945[edit | edit source]
Is the first of five generations of computers. It is the machine language.
machine[edit | edit source]
A first-generation programming language is a machine-level programming language.
The main benefit of using a first-generation programming language is that, the code a user writes, can run very fast and efficiently, since it is directly executed by the CPU.
EX. 11110010 01110011
hexadecimal[edit | edit source]
In mathematics and computer science, hexadecimal, base-16, or simply hex, is a numeral system with a radix, or base, of 16, usually written using the symbols 0–9 and A–F, or a–f. Its primary purpose is to represent the binary code in a format easier for humans to read, and acts as a form of shorthand, in which one hexadecimal digit stands in place of four binary bits.  It is an efficient way of organizing instructions because they use far fewer characters than their binary equivalent.
2nd generation[edit | edit source]
mid-50’s[edit | edit source]
Is the second generation of programming language using assembly language.
assembly language[edit | edit source]
Second generation programming language. An order of language in low level programming language that allows a programmer to write a program using abbreviations instead of the 0s and 1s of machine language. This way is faster. Ex. PACK 218 (8,13), 028 (4,7)
PACK 218 (8,13), 02F (4,7)
Assembly languages eliminated much of the error-prone and time-consuming first-generation programming needed with the earliest computers, freeing the programmer from tedium such as remembering numeric codes and calculating addresses. They were once widely used for all sorts of programming. However, by the 1980s (1990s on small computers), their use had largely been supplanted by high-level languages, in the search for improved programming productivity. Today, assembly language is used primarily for direct hardware manipulation, access to specialized processor instructions, or to address critical performance issues. Typical uses are device drivers, low-level embedded systems, and real-time systems. (http://en.wikipedia.org/wiki/Assembly_language)
It allows a programmer to write a program using abbreviations or more easily remembered words. The codes were identified early as the only things that computers could do. The "complex" things that computers do now (like editing this wiki) are simply combinations of many assembly code
3rd generation[edit | edit source]
3GL's (generation languages) have compiled code. The commands are far more complex than assembly language which can be directly translated into binary. Compilers are programs themselves that translate code into binary.
early 60’s[edit | edit source]
The early 60's had a high-level languages like the C language, which was the foundation of the C++ programming language, designed in the 1970's by Dennis Ritchie. awkward phone conversation at MRC*
procedural (COBOL)[edit | edit source]
]] A third generation procedural language which users write in a familar notation which we use today. EX They worked Crazy-Crazy hours.
Compared to the fourth generation language called problem-oriented, third generation language is more general, fourth generation language is more specific and more user friendly, with less commands than third generation.
"Procedural" refers to the way the programmer organizes their code before it is compiled. In procedural programs data for the entire program is organized in a different "place" than the instructions.
COBOL (Common Business Oriented Language) was one of the earliest high-level programming languages.COBOL programs are in use globally in governmental and military agencies, in commercial enterprises, and on operating systems. A local example is a production accounting program called Triangle, requires COBOL to run, still in common use by many of the major Oil and Gas producers in Western Canada.
object-oriented (C++)[edit | edit source]
In object oriented languages, relevant instructions and data are kept together in an "object". So for instance the part of a wiki program that handles editing has the instructions (for the computer) on how to organize the page as well as the current content of the page together.
Having objects allows groups to work together (each person could make one object), and the ability to copy objects and modify them for a similar purpose.
C++ is arguably the most versatile program/computer language in common use. C++
4th generation[edit | edit source]
1970’s[edit | edit source]
problem oriented[edit | edit source]
4GL used to Solve Specific Problems]] This fourth generation language allows users to solve SPECIFIC problems and requires fewer commands than procedural language, thus it is more user-friendly. 4GL and 5GL projects are more oriented toward problem solving and systems engineering. All 4GLs are designed to reduce programming effort, the time it takes to develop software, and the cost of software development. fourth-generation programming language (1970s-1990) (abbreviated 4GL) is a programming language or programming environment designed with a specific purpose in mind, such as the development of commercial business software.
SQL[edit | edit source]
SQL, also known as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems. The language will allow the developer to have full access to the data and freely modify and manipulate the data accordingly. SQL is both an ANSI and an ISO standard, however, many vendors develop their own proprietary extensions to the standard language to better suit their purposes and protect their program. w:SQL
5th generation[edit | edit source]
1980’s[edit | edit source]
natural language[edit | edit source]
There are 2 types of natural languages. One compromises programming languages while the second compromises ordinary human languages (like Spanish, French etc.) into a human language, so that people can have a better connection with computers.
Natural languages are part of the field of artificial intelligence. These languages are approaching the level of human communications.
tools[edit | edit source]
languages[edit | edit source]
HTML[edit | edit source]
HTML is "hypertext markup language". It is mostly found in webpages, and is a method to define information in text based documents. HTML can also describe the appearance of a document, and can include embedded code language which can affect the behavior of web pages and browsers. The first HTML available to the public was called HTML tags. It describes 22 different elements and 13 of them still exist in HTML. The markup of HTML comprises of many different components which include elements, character-based data types and character and utility references. It can be written with tool as simple as notepad, which helped to make the HTML widely accessible.
The first publicly available description of HTML was a document called HTML Tags, first mentioned on the Internet by Berners-Lee in late 1991. w:HTML (www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html)
VRML[edit | edit source]
VRML stands for Virtual Reality Modeling Language. VR keeps tract of a 3D environment that you can explore of a computer. w:Vrml AGARIA
XML[edit | edit source]
XML is an acronym for Extensible Markup Language which is used for general-purpose specification for creating custom markup languages. It allows users to define elements that facilitate the sharing of structured data across different information systems. XML is also used to encode documents and to serialize data.w:XML Here is an example of XML code:
<xml>This is an example of XML</xml>
XML stands for Extensible Markup Language which was designed to meet the challenges of large scale electronic publishing. 
It is considered extensible because it is more general and allows users to define their own tags. Every tag must have an opening (ie. <number>) and a closing (ie. </number>) w:XML
Logo[edit | edit source]
Logo is a computer programming language used for functional programming. Logo is an easier to read adaption and a dialect of the Lisp language. The Logo programming language was designed for educational use and even more for teaching.
BETA[edit | edit source]
BETA is a strongly typed language like Simula, Eiffel and C++, with most of the type checking being carried out at compile-time.w:BETA_programming_language
BETA provides unique features such as: -classes and procedures are unified to a pattern -classes are defined as properties/attributes of objects -classes can be virtually defined w:BETA
SIMULA[edit | edit source]
Simula is considered one of the earliest object-oriented programming languages.Simula was designed for doing simulations, and the needs of that domain provided the framework for many of the features of object-oriented languages today.w:Simula_programming_language
ACSL[edit | edit source]
ACSL stands for Advanced Continuous Simulation Language. Program used for mathematical or simulation. Invented by Mitchell and Gauthier Associates, 1981. 
scripts[edit | edit source]
ActiveX[edit | edit source]
Set of controls within a web browser that downloads applets one time only and reuses them with each web page it encounters. Applets are mini software applications needed to run information from different websites. With ActiveX you can obtain the appropriate files from your hard disk that are suitable for the web. The components do not amount to the entire application, they provide building blocks that are shared by different software.
ActiveX features reusable components-small modules of software code that perform specific tasks. For example, spell checker.
Developed by Microsoft as another alternative to Java, in order to create interactivity on web pages.
Perl[edit | edit source]
Originally a Unix scripting tool that was first released in 1987, it later became common in dynamic Web sites. However, it's not a very common language in use today.
Perl is a dynamic programming created by Larry Wall and first released in 1987 w:Perl
PERL: Pracical Extraction and Report Language A programming language made for text manipulation and now used for web development, netowrk programming, system administraion, GUI development, and other tasks. This is easy to use and supports both procedural and object-orientated programming. [txt 536]
Ajax[edit | edit source]
This is programming language for the web.