Computer Science

Computer Programming

Computer programming involves writing, testing, and maintaining the source code of computer programs. It is the process of designing and building an executable computer program to accomplish a specific computing result. Programming languages such as Python, Java, and C++ are used to communicate instructions to a computer.

Written by Perlego with AI-assistance

4 Key excerpts on "Computer Programming"

Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.
  • Designing and Developing Robust Instructional Apps
    • Kenneth J. Luterbach(Author)
    • 2018(Publication Date)
    • Routledge
      (Publisher)

    ...Chapter 3 Computer Programming Computer Programming languages are tools for problem solving and creative expression. Indeed, people engaged in creative problem solving with Computer Programming languages developed technologies that resulted in the epochal transformation of the past half century. This information era is marked by computer programs (software) that implement the communication protocols enabling the Internet and the web; software enabling mobile communications; software enabling email and other messaging; software for shopping; software for creating 2D images and 3D models; animation software; office productivity software; voice recognition software, and software for learning, for instance. Learning a Computer Programming language is extremely beneficial as an outlet for creative expression and problem solving. One selects a particular programming language to fit a variety of circumstances. When it is necessary to receive and respond to data at particular microsecond intervals, one writes code in a low-level programming language using the CPU’s instruction set, which addresses memory and input ports directly. Commonly, though, application software is written in a high-level Computer Programming language, which eliminates the need to consider the computer’s architecture. After distinguishing between low-level and high-level Computer Programming languages, it is helpful to recognize four main programming paradigms: imperative (procedural/ structural); object-oriented; functional; and logical. Each paradigm has something to offer problem solvers (Kedar, 2011). In this book, we will not be using Haskell (Thompson, 2011) or any functional programming language (so no f(g(x)) for us in this work). Also, we do not consider a logic programming language, such as Prolog. We will consider object-oriented concepts, as necessary. Object-oriented languages, such as C++, C# (C sharp), Objective-C, and Java include imperative language components...

  • Design Assurance for Engineers and Managers
    • John A. Burgess(Author)
    • 2020(Publication Date)
    • CRC Press
      (Publisher)

    ...Remember, the best defense against program faults and defects is a systematic and orderly design process. Do it right the first time. If this philosophy is followed, so far no actual coding should have taken place. However, the design is now well defined, and the coding can now proceed in an orderly fashion. One or more programmers can proceed with the coding, working largely independent of each other, and accomplish the tasks in harmony with the overall program objective. Let's now examine the coding activities. 7.3 CODING AND DEBUGGING COMPUTER PROGRAMS Coding is both an art and a science. Over the years, much creativity has gone into the development of programming languages. These languages make it easy for people to give instructions to the computer hardware. Yet, these programming languages follow specific rules and conventions. Thus, each language imposes its own methodology on its users. Nevertheless, experienced programmers have learned and applied a series of techniques which minimize errors in the coding and documentation processes. Several of these tricks-of-the- trade are explained below. This description is not all-inclusive, but it does cover methods which can be followed, regardless of the size of the program, the language or machine used, or the end use of the program. 7.3.1 Coding Practices FIGURE 7.3 Preferred coding constructs. (From MIL-STD 1679, Weapon System Software Development, U.S. Dept. of Defense, Washington, D.C., 1978.) The guiding principle in coding a program to minimize errors is to stick to basics. Several years ago, it was discovered that five fundamental constructs can address all code situations. These five constructs are illustrated in Figure 7.3. By applying these basic techniques, a programmer can build a program which is easy for others to understand and to maintain or modify in the future. Programmers should resist the temptation of creating cute or clever (non-structured) solutions for their immediate needs...

  • Artificial Intelligence and Software Engineering
    • Derek Partridge(Author)
    • 2013(Publication Date)
    • Routledge
      (Publisher)

    ...This translation is by no means trivial, nor is it devoid of the need for insight and imagination, but it is, at bottom, a transformation between formal notations in which some equivalence is to be preserved.Programming, from the conventional computer science viewpoint, is the transformation of a formal specification into a computational procedure for correctly realizing the given specification.Dijkstra (1989), for example, might well support this statement about programming, although I suspect he might object that it is too weak. For Dijkstra “the programmer’s … main task is to give a formal proof that the program he proposes meets the equally formal functional specification” p. 1404. Programming in AI has never been this process—some would say, “that’s its big mistake”, but I don’t think so. AI programming has always been a process of exploring prototypes and evolutionary system development.Programmingin AI is the exploration of behaviorally adequate approximations to an incompletely specified (and probably computationally intractable) problem.Thus “programming” in its most limited sense is just one stage in the overall process (and not a major one)—the implementation or coding stage. Clearly, I am using the term in the looser sense of system design and development as well as actual coding. But as you can see from the two statements given above, the meaning of the word “programming” is quite context-dependent, and not subtly so. The practicing software engineer is likely to view programming as an activity that falls somewhere between my two extreme statements, but interestingly the person at the code face may well find himself somewhat closer to the AI characterization than to the computer science one. Several of the invited commentaries to Dijkstra’s (1989) article took exception to what they saw as hisextreme view...

  • The ICT Handbook for Primary Teachers
    eBook - ePub

    The ICT Handbook for Primary Teachers

    A guide for students and professionals

    • David Hall(Author)
    • 2015(Publication Date)
    • Routledge
      (Publisher)

    ...It will begin with programmable toys for young children andmove on to simple programming languages such as Logo and Scratch forKey Stage 1/Key Stage 2. The content here is not complex. It is designed to be fun andmotivating as well as educational. All of the software applications used in this chapter arefree or available as free trials. Aims of the computer science curriculum The computer science elements of the national curriculum forcomputing aim to ensure that all pupils: can understand and apply the fundamental principles andconcepts of computer science, including abstraction,logic, algorithms and data representation; can analyse problems in computational terms, and haverepeated practical experience of writing computerprograms in order to solve such problems. Subject content Key Stage 1 Pupils should be taught to: understand what algorithms are; how they areimplemented as programs on digital devices; and thatprograms execute by following precise andunambiguous instructions; create and debug simple programs; use logical reasoning to predict the behaviour ofsimple programs. Key Stage 2 Pupils should be taught to: design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts; use sequence, selection, and repetition in programs; work with variables and various forms of input and output; use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs. Activity If you are inquisitive, you will find a copy of the ‘Computing Curriculum’ and the ‘Subject knowledge requirements for Computer Science Teaching’ on the. Primary ICT website at primaryict.org.uk/icthandbookv2.htm (ch3 and ch4). What is programming? Writing programs is a lot like writing down the steps it takes to dosomething. For example, you might ask your pupils to write out a specificsequence of steps on how to make a peanut butter sandwich...