What is a program and also why carry out we create them?

The book C++ at an early stage Objects, defines a regimen as "a set of indict a computer system follows in order to do a task. A programming language is a distinct language offered to write computer programs."

Computers and also software go hand in hand. Computer systems are powerful because they have the right to do countless things and also programs are the means that we get computers to do these countless things.

You are watching: A computer is a single device that performs different types of tasks for its users.

Video: What is Programming?

Computer hardware

A common computer is composed of:The main processing unit (CPU)Main storage (random-access memory, or RAM)Secondary warehouse devicesInput devicesOutput devices


The CPU is the love of the computer. A regimen is a sequence of instructions save in key memory. Once a routine is run, the CPU fetches the instructions and also executes or follows the instructions.

The fetch/decode/execute cyclefetch - get the next instruction from main memory.decode - recognize what instruction come perform.execute - perform the instruction.

Every routine ends up as a sequence of straightforward instructions that consist that arithmetic and also logic operations and also control circulation operations.

Arithmetic and logic operations incorporate add, subtract, multiply, divide and also comparison of worths (equality, less than, greater than).

Control circulation operations are used to identify what instruction come execute next. Because that example, based upon the instruction, the program may skip or branch to another part of the accuse list.

You will learn the details of just how CPUs procedure instructions in CS 271, computer system architecture and also assembly language.

Main storage or lamb is used to save the regimen while that is executing and to keep the data the the program is working with.

RAM detailsThe CPU is able come quickly accessibility any ar in RAM.RAM is dubbed volatile storage. Unlike persistent storage, as soon as a computer system is turned off or once a regimen finishes executing, the values stored in RAM room erased.RAM is split into storage units called bytes. A byte is a succession of eight bits.A little is the smallest facet of the RAM and it stores a binary digit, one of two people a 0 or a 1. Every program and also every data value in your computer is stored as sequences of Os and ls.

Secondary storage gives long lasting and also persistent storage. Uneven RAM, data save on computer within an additional storage does no disappear when a computer systems is turned off or restarted. The most common kind of second storage for big computers is a decaying drive yet computers deserve to use other forms of an additional storage such together solid state drives which use memory chips that maintain data values without power.

Like key memory, second storage additionally stores details as assignment of 0s and also 1s together bits and bytes.

We commonly think that keyboards and mice but input tools can encompass cameras, microphones, and many other species of miscellaneous sensors when you start thinking of computer systems embedded in cars, electronics, and almost any electrical device.

The information a computer system sends come the outside civilization is dubbed output. If a human is involved, output is typically sent to an output device such together the computer system screen or a printer. No all programs will output data to an calculation device. Instead, the output might be sent over a computer system network or save on computer in a database.

Programs and also programming languages

As stated above, programming involves creating a collection of instructions that a computer will follow to fix a trouble or accomplish a task. Let"s filter our hatchet in this section.


An algorithm states a finite sequence of plainly defined work to fix a details problem or class of problems. Friend can define the measures of an algorithm in many ways including words (also well-known as natural language), circulation charts, pseudo-code (described below), and also programming language code.

As the complexity of the troubles increase, it is essential to architecture algorithms that are reliable (i.e. Quick) and also correct in the they create the stated output for any valid input. In CS 325, evaluation of Algorithms, you will find out techniques for evaluating complexity and also for prove correctness.

An algorithm have the right to be imposed in countless different computer languages and a single program may use or implement plenty of different algorithms. Because that example, you might use a sorting algorithm come order messages and also a decryption algorithm to know the messages.

A computer"s CPU executes your program"s instructions. However, when you create a regime in a language choose C++, a computer CPU have the right to only monitor instructions coded together sequences that Os and s. A software program compiler is a special routine that counter statements composed in the computer language come a binary type (Os and also s} called device code. Since it is hard for us to acknowledge 0 and 1sequences, there is a low-level (close to hardware) programming language called assembly language i m sorry uses short abbreviations and patterns to explain what the CPU have to do. For example, the assembly explain "MOV AL, 61h;" method copy the adhering to value (61h, hexadecimal depiction of 97) into memory location "AL".

You will discover much more about an equipment code and also assembly language in CS 271,Computer architecture and Assembly Language.

In this class, friend will discover C++ i m sorry is a high level language. High level languages space those computer languages the hide many of the short level details of the computer system and tend to use more natural words and also symbols matches words such as "MOV" in assembly language i beg your pardon is a low level language.

C++ is one of many high level languages. To check out the existing popularity that all computer languages, go to the TIOBE Index.

When you start producing programs in this class, you will certainly be creating resource code. Resource code is saved in a basic text document called a source file.

Your computer system does no understand source code. You need to use a compiler to convert source code come executable code, i m sorry you can start and also run on your computer.

During the procedure of converting your resource code come an executable file, the C++ compiler will produce object code.

Source password is convert to what is referred to as object password by the compiler. The object password for a C++ program is conserved in papers with one .o or .obj suffix. In a last step referred to as linking, the object files are combined with any library routines (routines detailed by the language for usage by you) to develop the final executable document with one .exe extension.

Depending on exactly how you compile your program, you might or may not actually check out the various procedures of converting your source files into an executable. For example in many IDEs (integrated development environments such as Visual Studio, Code:: Blocks, or XCode), the intermediate measures are taken care of immediately so you can click a "build" button and the executable is created.

Most programming languages include the following elements.

Key words

Key words space words that have actually a special definition in the language. They deserve to only be used for their intended purpose. Likewise known as booked words.

Programmer-defined identifiers

Programmer-defined identifiers are words you select as the programmer to specify variables or programming routines.


Operators preform operations on one or much more operands. An operand is a piece of data. The miscellaneous arithmetic icons such as +, *, and also / are examples of operators.


Punctuation characters mark the start or ending of a statement or separate items in a list.


Rules that have to be complied with when building a program. This rules specify how you can combine an essential words, programmer-defined identifiers, operators, and punctuation.

C++ specifically, - You will certainly start learning the C++specific language elements in thing 2.

We regularly think that programs together made of increase lines and statements. A heat is simply a single line in the program. Friend can screen line numbers in many IDE resource code editors. In visual Studio 2013, you have to turn lock on as they are off through default. You will often see referrals to heat numbers when you compile your program and also you have an error.


The display screen shot mirrors a regime with an error. Once the program was compiled, the output (gray shaded windows above) consisted of "source.cpp(B)" indicating that the trouble was on line 8 of thefile dubbed source. Cpp.

A statement is a finish instruction that reasons the computer to perform some action. A statement might span an ext than one line. The meaning of a statement will make much more sense once you begin programming in chapter 2.

A declare is a finish instruction that reasons the computer system to carry out some action. A statement might span an ext than one line. The meaning of a statement will make more sense when you start programming in chapter 2.

Two that the most essential considerations when programming room the input and also output. Countless of the programs you will write for the course assignments will certainly use keyboard inputs. The program will prompt for input and you will kind in a response. Together you development through the degree program, you will acquire experience making use of files, databases, web resources, and also other sources for input.

See more: Where Do I Get A Blank Transponder Card In Kotor 2 Which Transponder Code To Use

In numerous if not every one of your CS 161 assignments, friend will direct the routine output come the console. You don"t often see console calculation if you are running applications on home windows or OS X because those species of applications programs usage graphical user interfaces (GUI). However, GUI programming adds a lot much more work to developing a program and also our job in CS 161 is come teach girlfriend the fundamentals of programming so we will stick through console output.