The Development Of Programming And Computers

0 / 5. 0

The development of programming and computers

Summary

Reflection about the theoretical content of the first and second partial of programs, relating it to the subject, career and environment. This work discusses close to computing, also how computers work and their impact on the progress of humanity. This includes its history, elements and models from the perspective of the program design area.

Also, programming and its components are analyzed, such as language, environment, types of languages, paradigms, among others. In addition to describing each of the stages for the development of an application.

Contents

INTRODUCTION TO COMPUTATION

Because technology forms a fundamental part of today’s society, it is necessary to devote a specific area to its study. This is defined as computing. Computing, therefore, is the area of science dedicated to analyzing the use, design and operation of computers. “Computing is the science responsible for studying systems, more precisely computers, which automatically manage information.”(Encyclopedia of concepts, 2018) numerous advances have been made in computing, although it is a relatively new area. The most important study areas in computer science are the following:

  • Data structure: the study of algorithms and data structure. Mathematical analysis is essential to solve precise problems. This is why it is necessary to analyze the data structure and algorithms.
  • Operating systems: To optimize the operation of computing, it is necessary to update and adapt operating systems.
  • Computer architecture: This is the area responsible for designing, creating and producing new computers, faster and more capacity. It focuses on components such as RAM, CPU, among others.
  • Programming languages: The objective of this specialty area is to create new programming languages that are more effective and with higher improvements.

I consider that these areas are of vital importance, since, together, they form computing as we know it. Likewise, if these were to be developed, computing would reach a more advanced level. This, in turn, would favor the development of science and society as a whole.

History of computing

Computation is the result of the development of ideas related to various areas such as electronics, mechanics, logic, programming, among others.

The history of computing goes back to times since before the creation of the first computer. This refers to the use of logic and problem solving in society, which gave rise to the invention of the first computer. An example of this can be seen in 780, when the mathematician Musa Al-Juarismi invented the algorithm, defined as “the methodical resolution of algebra problems and numerical calculation through a well-defined, orderly and finite list of operations.”(Royal Spanish Academy, 2018)

I consider that the history of computing should include everything related to logical thinking and how it developed in society throughout history because I consider that this is of extreme importance for the realization of problems in a critical and coherent way. This, in turn, led to the need to solve problems quickly, creating a machine that did it automatically.

Concept

The computer is defined as an intelligent machine capable of receiving a set of instructions and making a sequence of operations, using numerical calculations, in such a way that a set of output data is obtained. The Spanish Royal Academy defines the computer as “electronic machine that, through certain programs, allows storing and treating information, and solving problems of different kinds.”(Royal Spanish Academy, 2018). This was created as a result of the machines used to handle numbers, such as abacus, calculating primaras and sliding rule. Today, computers are vital for problem solving and information manipulation effectively and quickly, therefore, they are frequently used in everyday life and auxiliaries in various work areas. In programming, they are used as an instrument for algorithms resolution, auxiliaries in creating different tasks.

These are of vital importance for today’s world, since they are used for everything.

History

The idea of the first computer was born because the elaboration of mathematical tables was a tedious and error -prone process. Thanks to Charles Babbage, mathematical professor at the University of Cambridge of the 19th century, the computer was created. At first it was a mechanical device to make repeated sums.

The first generation of computers covers from 1940 to 1952. At this time, electronic technology was based on bulbs or vacuum tubes, and communication was in terms of machine language. They were mostly used as instruments in scientific and military areas.

The second generation of computers replaced the vacuum valves with transistors in 1952, until 1964. Therefore, second generation computers are smaller, more powerful and consume less electricity. In turn, the first personal computers emerged, although they were still very complex to use them because it was necessary to know the programming.

The third generation of computers from 1964 to 1971, are computers built with integrated circuit or microchip. Include resistance, diodes, capacitors, transistors. In the mid -60s there was the invention of the circuit composed of Jack St. Claire Kilby and Robert Noyce. Used in industrial sectors production chains.

In the fourth generation of computers the small size of the chips microprocessor made possible the creation of personal computers. Nowadays LSI technologies (large -scale integration) and VLSI (very large -scale integration) allow hundreds of thousands of electronic components to store in a chip.

The latest generations of computers are the basis of modern computers today. These have combined architectures, with hundreds of vector microprocessors working at the same time. Computers have been created capable of carrying out more than one million millions of arithmetic floating operations per second.

Computer classification

Due to the great diversity of computers, it is necessary to classify them. There are several ways to classify them, but the way I will speak will be the following.

  • Analog: They have the ability to measure or compare according to a pre -established pattern. They handle analog electrical signals proportional to continuous physical measures.
  • Digital: This type of computer manages digital type electrical signals and therefore operates with discreet information over time. Process the data following the specifications of a program through languages and its use includes any type of work.
  • Hybrids: It is the combination of the previous two.

I think that although they have several applications, the most complex are hybrids. In addition, these can be used in several science fields.

Elements of a computer system

All elements of a computer system are divided between software and hardware. Both are of great importance because together they make up a complex system for the realization of problems and, therefore, one cannot have one without the other because both are necessary for the proper functioning of a computational system.

In the work of a programmer, all these elements of the system are of great importance. Although they specialize in the software, both elements need to be coordinated because a hardware that supports the software and vice versa is necessary.

Hardware

The hardware of a computer system refers to everything physical, that is, everything that can be touched. According to the Royal Spanish Academy, it is the English voice that is used, in computer science, to designate the set of components that make up the material part of a computer or computer (Royal Spanish Academy, 2018). I think the hardware should be adapted according to the corresponding software, since, although a computer can work only when hardware and software work together, the speed of a system will depend largely on the hardware used.

While hardware design differs between desktop PCs and laptop computers due to their size differences, both will be found the same main components. Without hardware, there would be no way to execute the essential software that makes computers so useful. The software is defined as the virtual programs that are executed on your computer;That is, operating system, Internet browser, text processing documents, etc.

Software

The software of a computer system refers to everything that cannot be touched, digital. According to the Royal Spanish Academy, the software is the English voice that is used, in computer science, with the sense of ‘set of programs, instructions and rules to execute certain tasks on a computer or computer (Royal Spanish Academy, 2018). Each software development project goes through a series of phases: concept, design, development, tests and more. But there is a crucial step in the process that can make or undo the success of its software: architecture planning

In program design class I hope to learn to design optimal and functional software, as well as learn the elements of a hardware that can support it.

Introduction to algorithms

Problem formulation

Problem modeling is the basis for the creation of an algorithm. For this, the formulation of a specialized algorithm to the problem is necessary.

First all the information information is extracted and the variables are distinguished. These are distinguished algebraically. Conditions and restrictions are expressed. Finally, the problem is expressed.

This is extremely important in the creation of an algorithm because it is the basis for programming and daily life. I consider that it is necessary to be organized to achieve a perfect analysis of the problem and that this will lead to a well structured algorithm. As this can be used in any scenario that needs to be solved a problem, I think it is necessary to teach children since childhood, the correct formulation of problems.

Problem analysis

There are different models for the formulation of a problem such as:

  • Predictive models: These types of models report the behavior of the variable in the future.
  • Evaluation models: an evaluation technique corresponds to measuring the different alternatives, and thus be able to compare their results.
  • Optimization models: these are models that try to identify the best possible alternatives.

I believe that, depending on the problem, the type of model to be used is chosen.

Design of multiple solution strategies

In this part the problem is formalized. Here you have to know the problem in depth without having logical or analysis problems. Mathematical variables are established and the problem is evaluated and finally interpreted and interpreted. This process is very useful not only in programming, but also in all work areas.

Definition of algorithms

The algorithms of defining as “the methodical resolution of algebra problems and numerical calculation through a well -defined, orderly and finite list of operations.”(Royal Spanish Academy, 2018)

For the realization of a program, a well structured algorithm is required. In my opinion, much creativity, logical thinking and knowledge of the topic are needed to develop functional algorithms. These are independent of the programming language because they can be expressed in the same way in any of these. In addition, a result can be reached through different algorithms, but the shortest is always preferable. To choose the best, you have to analyze optimization, time and resources.

Computers are incredibly fast to manipulate, move and look at data. However, the amount of data used by computers is often so large that it doesn’t matter how fast the computer will take too much time to examine each piece of data. This is where algorithms enter. If a better algorithm is given a computer to process the data, then no matter how much information you have to review, you can still do it in a reasonable time.

Main characteristics of algorithms

Algorithms are a very important issue in computer science because they help software developers create efficient and errors programs. The most important thing to remember about algorithms is that there may be many different algorithms for the same problem. An optimal and functional algorithm must have the following characteristics.

It must be necessary, define rigorously. Must have a beginning and an end. You must occupy the least possible memory and be executed in the shortest possible time. It must be readable and understandable. Finally, it must produce a result.

Algorithms are more precise than informal instructions and do not require any information to follow;They are not yet precise enough for a computer to follow them in the way they are written, but they are precise enough for a human to know exactly what it means, so that they can later find out how to implement their algorithm, either by doing sosame or writing a computer program to do it.

Flowcharts

Definition

To represent an algorithm, it must be represented graphically before being converted to programming language. For this the flow diagrams are used. “It is known as flow diagrams to those representative graphics that are used to schematize concepts related to programming, economy, technical and/or technological processes, psychology, education and almost any theme of analysis.”(Definition ABC, 2015)

These are used to organize processes graphically. It is important that they are clearly and easily organized. They are composed of different forms, lines and phrases, which indicate different parts of the process. Below is a table that includes symbology.

Some of the most used symbols in the flow diagrams are the arrow (which indicates meaning and trajectory), the rectangle (represents an event or process), the rhombus (a condition), the circle (a connection point) and others.

Standard symbology

I consider that it is necessary to have a standard symbology, since it can be understood in different places regardless of the language you speak. They are one of the most fundamental and most used techniques by business analysts, project team members and the business community. An analyst must learn so many of the previous diagrams and have them as tools in their analysis toolbox. Therefore, we need to ensure that all those who need to use it can interpret it in the way it was designed and to provide sufficient information for the planned purpose. Like everything else related to analysis, it is about communicating clearly. In the world you can use different organizational methods but I consider that the flow diagrams are one of the most organized methesod that exist and one widely used in the world. That is why I think they will be very useful throughout my career and profession.

Restrictions and conditions

In order for flow diagrams to be understood in different parts of the world, it is needed more than just the standard symbology. A specific organization is also needed and perfectly defining its characteristics that compose it. For its realization, some criteria must be met. The following are the restrictions that the flow diagrams must meet.

They are vertical: they must be written from top to bottom, and/or from left to right. The symbols bind with lines. The crossroads should be avoided. All lines have to be connected and all the text written within a symbol must be readable. All symbols can have more than one input line, except for the final symbol. They must have more than one output flow line.

Computer models

Von Neumann machine

“In 1945 John Von Neumann created a computational model that is characterized by having a single main memory in which data and instructions are stored. This memory is accessed through a unique bus system.”(Universidad La Salle, 2018). By 2020, however, the reign of Von Neumann’s architecture will begin to disappear after years of domain, to be supplanted by learning computers with heterogeneous architectures. We are quickly entering an era of programming to an era of learning, and the architectures that are not from Von Neumann are views as a key enabling to optimize automatic learning, particularly inferences, and reduce energy requirements for many computational classes. Even so, computer architecture designers have already designed architectures that are not from Von Neumann to overcome the bottleneck that prevents a higher growth in classical computer science.

Turing machine

“Alan Mathison Turing, mathematician and English scientific computer, developed around 1935 and 1945 a hypothetical computational model that allows in theory to solve any mathematical problem as long as it is reduced to an algorithm. In this way it will be possible.”(Universidad La Salle, 2018). Turing was the first to do the difficult job of drawing physics on how the digital universe would work. And he did it using a single infinite tape strip. At the time Turing sketched his ideas, the world had many quite sophisticated sunt that would allow someone to perform simple calculations. What Turing offered was the idea of a programmable general purpose machine. If it weren’t for him, we would not have computers as we know them in today’s world.

Introduction to programming

Nothing is possible without programming in the current generation. Programming language is important because it defines the relationship that allows programmers to communicate with machines, but it is a bit confusing when we have to choose which one to use. In addition, although programming languages can share similar bases, there are slight variations between them. Understanding what they are different is really reduced to the type of programming method that is being used, since it will affect the way the data and the types of output you want are processed. The algorithms implemented using different programming languages can exhibit very different characteristics, which can be aesthetic, since higher level languages can be very synthetic and are generally very expressive;or in terms of performance, since the relatively lower level languages allow a more direct management of memory and, in general, the performance of the code generated.

Programming languages concept

All coding languages are composed of a set of rules and vocabulary, their syntax, and are generally in English. This has been the case since the beginning of software development. Not any programming language can do everything. There are limitations and, in reality, different languages are used for different tasks. Programming languages are one of the most important and direct tools for the construction of a computer system: on a modern computer, different languages are usually used for different levels of abstraction. Aspects related to the writing of an operating system or a device controller are generally very different from those of high -level application writing.

The generalized use of English has not prevented some programmers from creating programming languages that generate syntax of other languages. There are many programming languages that are based on languages other than English;However, most of them are not in use, they are only rarely used, or they are introductory and educational tools for beginners. I consider that to learn a language, it is not necessary to know the language in which it is written. Even so, it may be helpful to know the language previously. Therefore, I feel that I help me to know English because I don’t have to be looking for the definition of words and I don’t get confused between what they mean. This will be a great help in my career because it will help me learn faster or also learn different programming languages as I would like. It is important to have a standard language in the world because that way, companies would not have problems expanding to other countries.

Programming History

C was originally designed and implemented in the UNIX operating system in the DEC PDP-LL, by Dennis Ritchie. C is the result of a development process that began with an old language called BCPL. BCPL was developed by Martin Richards and influenced a language called B, which was invented by Ken Thompson. B led to the development of C in the 1970s. The 1989 standard for C, together with amendment 1, became a base document for the C ++ standard, which defines the subset of C of C of C ++. The version of C defined by the 1989 standard is commonly known as C89.

During the 1990s, a new standard for C was developing. It was the 1999 standard for C, usually called C99. In general, C99 retained almost all the characteristics of C89. The C99 standardization committee focused on two main areas: the addition of several numerical libraries and the development of some new special use functions, but highly innovative. These innovations have once again put C at the forefront of the development of computer language.

Programming benefits

Programming brings multiple benefits for the individual, society and the world. It is very important that people learn to program because this leads to developing a mathematical logical thinking that teaches to solve problems effectively.

It is in an extremely useful skill in the world because we will always find challenges and need to learn to solve the situations that present us. This helps exercise the brain. Also, he teaches to work as a team, which is a necessary skill for performance in the work area. According to my experience with programming, he has taught me to work with a specific team and to develop interpersonal qualities.

Programming environment

A key area of your important life in growth is a successful career. Learn to encode helps to achieve it through many ways and opportunities. There is a great demand for developers who understand front-end languages such as HTML, CSS, JavaScript and Back-End languages such as Ruby and Ruby on Rails.

The programming environment is of great importance in the work world because this constitutes the programmer’s framework. It is strange to think about it, but most of the really ‘great’ ideas in computer programming were developed in the 50s and 60s. Many new languages have been developed since then, but none of them represents a truly new approach to logic and computing.

Types of programming languages

The development of new programming languages in recent decades has focused a lot on the developer’s experience. This may mean trying to develop code that is easier to write or read, or make certain types of logical structures and problem solving modes more intuitive. In the twentieth century, programming became a well -developed science, a branch of theoretical mathematics. This led to the development of modern programming languages. There were several ideas in conflict about the nature of computer programming and how languages should be structured. The ‘winner’ turned out to be a set of ideas promoted by John von Neumann, ideas that included logical control structures such as IF and Loop. This call ‘Von Neumann architecture’ allowed the development of programming as we know it today, and the development of high -level computer programs. Has dominated the logic and structure of all the most important programming languages since then. There are only a few languages that are not from von-Neumann (such as Plankalkül), and none of them have had a generalized use.

Programming environments

Classification of Integrated Development Environments (IDE)

The programming environments, I understand, are the ones that help the program, help prepare the activities that will be carried out in it. This is composed of several elements. These are the compiler, the executor, and editor. There are many varieties of integrated development environments such as (Clarion, Netbeans, Eclipse, etc) and some of them work with different programming languages such as eclipse, which supports several. The editor is where the text is published, the compiler translates the code and executing, generates the program.

Characteristic

IDE provides interfaces for users to write code and organize text easily. They are multiplatform. They can be in different languages. Combines the functionality of multiple programming processes to one. Some ideas focus on a specific programming language, but many have capacities in several languages. IDE includes 3 key tools used by most developers, such as source code editors, purifying and compilers.

Stages for the development of an application /program

To guarantee the visibility of its application in a scenario of an extremely competitive and so complex market, it must be very particular about the approach that is being followed for the development of mobile applications. To create an application or program successfully, you must follow a systematic approach to the development of applications.

Analysis

This step is to analyze the needs that the software must cover in several stages and make notes on additional requirements. It consists in having a clear objective of what you want to achieve. According to the Royal Spanish Academy, the analysis is defined as “the detailed study of something, especially a work or a letter” (Royal Spanish Academy, 2018). The analysis is very important to continue with the next step. I believe that this stage is very important, if not that the most important because to achieve the goal, you need to have a clear idea of what you want to do. If not, you will not be able to achieve it and you will lead you to have many mistakes.

In the subject of programming I learned the importance of the analysis of a problem since in all practices it is necessary that you first understand them and then be able to develop them and create a functional algorithm. When I don’t understand the problem, something is wrong and I don’t print the result. This phase can be used in the world in any situation that requires a task or solving a problem. You always have to analyze the situation (or the problem in this case) to understand it and then solve it.

Design

Once the analysis is completed, the design step takes over, which basically consists of building the project architecture. This step helps eliminate possible defects when establishing a standard and trying to stick to it. This is defined by the Royal Spanish Academy as “the project, plan that configures something.”(Royal Spanish Academy, 2018). Therefore, it is the detailed description of what is going to be achieved.

In the program of programming you need to create a program design before doing so. If this is not fulfilled, we would fall into a test and error cycle that in real life would cost thousands of dollars. In class, I learned to design my own algorithm, which is very useful because it helps me solve real life problems and leads me to think before acting. Which is very useful for not being wrong.

Developing

The real task of developing the software begins here with the record of data in the background. Once the software develops, the implementation stage comes where the product goes through a pilot study to see if it is working properly. The next stage, after identifying the approach, is to develop a prototype. Actually, it is the process of taking your idea and turning it into an application with some basic functions. A prototype greatly facilitates the sale of your idea to potential buyers that can now see tangible benefits instead of visualizing or reading the description of the product. In a company, this is very useful for attracting investors and working with manufacturers and finding licenses.

Compilation

A compiler is a program that performs the compilation task. A compiler recognizes programs in a particular HLL and produces equivalent output programs appropriate for some private computer configuration (hardware and operating system). In the programming class, we use the compilation process before running the code we create. It is very important for you to run well.

Proof

During the test phase, the code is executed and the results of that execution are evaluated to determine if the product passed the test. If not, it is modified, and it is tested again. This part is done a lot in class to verify if the code did well. To this. But he doesn’t tell you exactly where and I like that because I have to think more and I practice writing the code and also how to correct them.

Maintenance

Finally, this stage refers to the good care of the program to ensure that it continues to work for a long time. At present, large companies spend a lot of money on this to ensure that there are no failures or that they can correct them. In addition, the code can be optimized to make it faster and faster.

conclusion

I consider that the areas of study in computing sciences are of vital importance, since, together, they form computing as we know it. Likewise, if these were to be developed, computing would reach a more advanced level. This, in turn, would favor the development of science and society as a whole.

I consider that the history of computing should include everything related to logical thinking and how it developed in society throughout history because I consider that this is of extreme importance for the realization of problems in a critical and coherent way. This, in turn, led to the need to solve problems quickly, creating a machine that did it automatically.

Whatever the future, it is more and more clear than programming (being able to read and write code in a handful of common languages) is becoming the new business culture. Familiarity with programming concepts and the logic of computer systems and architecture is quickly becoming something important as basic business skills, such as sales, marketing and design.

recommendations

I really liked the thematic content of this partial. I feel that it is enough and perfectly reflects what the matter design of programs trafficking. I would like to enter more in detail about the different generations of computers, instead of just talking about their differences. I would also like to practice the development of algorithms more frequently to be more prepared for partials. I would recommend adding an optional tasks section, which include different practices without value to perform at home in C++. I would also recommend adding a rubric of specifications in each work, which includes the percentage of every detail to be evaluated. In general, I really like this matter even though it is a bit demanding, but I feel that, if I effort, I will approve.

References

  1. Definition ABC. (2015). Flowchart. Obtained from ABC definition: https: // www.DEFINITIONABC.com/Communication/Diagram-Flujo.PHP
  2. Encyclopedia of concepts. (August 2018). Computer concept. Obtained from concrete.From: https: // concept.of/computing/
  3. Royal Spanish Academy. (August 2018). Definition of algorithm. Obtained from RAE: http: // dle.RAE.is/SRV/Search?M = 30 & W = algorithm
  4. Royal Spanish Academy. (2018). Definition of analysis. Obtained from http: // dle.RAE.it is/?id = 2vga9gy
  5. Royal Spanish Academy. (2018). Computer definition. Obtained from RAE: http: // dle.RAE.it is/?id = a4higqc
  6. Royal Spanish Academy. (2018). Hardware definition. Obtained from RAE: http: // motto.RAE.ES/DPD/SRV/SEARCH?Key = hardware
  7. Royal Spanish Academy. (2018). Software definition. Obtained from RAE: http: // motto.RAE.ES/DPD/SRV/SEARCH?Key = Software
  8. La salle university. (2018). Thematic content. Obtained from Ullesa: File: /// C:/Users/Fatim/Downloads/Thetemic Content_pp%20ver%201.1-1.PDF

 

Free The Development Of Programming And Computers Essay Sample

Related samples

Zika virus: Transmission form Introduction The Zika virus belongs to the Flaviviradae family, was found for the first time in a monkey called Rhesus febrile and in...

Zika virus: cases and prevention Introduction The World Health Organization (WHO) has confirmed that Zika is a virus caused through the mosquito bite which is...

Zeus The King of Greek mythology Introduction Zeus is the Olympic God of heaven and thunder, the king of all other gods and men and, consequently, the main figure...

Zeus's punishment to Prometheus Introduction Prometheus, punished by Zeus Prometheus, punished by Zeus. Prometheus is a ‘cousin’ of Zeus. He is the son of the...

Comments

Leave feedback

Your email address will not be published. Required fields are marked *