Thinking About Programs

Thinking About Programs

Gavin Lowe

106,65 €
IVA incluido
Consulta disponibilidad
Editorial:
Association for Computing Machinery 6504698
Año de edición:
2025
Materia
Programación informática/desarrollo de software
ISBN:
9798400731617

Selecciona una librería:

  • Librería Samer Atenea
  • Librería Aciertas (Toledo)
  • Kálamo Books
  • Librería Perelló (Valencia)
  • Librería Elías (Asturias)
  • Donde los libros
  • Librería Kolima (Madrid)
  • Librería Proteo (Málaga)

This book is based on the author’s experience of 30 years of teaching programming at the University of Oxford and is an excellent choice for early programming courses offered by universities worldwide. It is a rigorous and thoughtfully structured textbook designed to equip students with both the theoretical underpinnings and practical skills essential in today’s programming landscape. It describes how to think about computer programs and how to use mathematics as part of that thinking. Many books and online tutorials teach the basics of coding: the syntax of the language, and how to translate an algorithm into code. But how do you come up with that algorithm and know it is correct?The first part of the book considers small programs that use a loop, and how to demonstrate their correctness using loop invariants. It also covers some algorithms and algorithmic techniques that every programmer should know. The second half of the book considers slightly larger programs. It teaches the basics of modularization, splitting up a program into manageable chunks. It teaches about abstract datatypes, values within a program that can be treated as mathematical values: how to specify their behaviors formally, and how to treat them as abstract mathematical objects when programming. It also teaches how to use data structures to represent abstract datatypes, and what it means for such a representation to be correct. And it presents some abstract data types and data structures that every programmer should know. The book is pragmatic: the philosophy is to include enough formality to be convincing and to guide the programmer towards correct code, without getting bogged down in the mathematics. Each chapter includes questions at the end and a solution manual for those exercises is available for adopting instructors. Source code is also available for download from the author’s website or Github. Combining pedagogical clarity with up-to-date industry relevance, Thinking About Programs guides learners through fundamental programming concepts, algorithmic thinking, and problem-solving strategies while fostering a deep understanding of computational logic.

Artículos relacionados

  • SPARK 2014 Reference Manual
    AdaCore / Altran UK Ltd
    SPARK 2014 is a programming language and a set of verification tools designed to meet the needs of high-assurance software development. SPARK 2014 is based on Ada 2012, both subsetting the language to remove features that defy verification, but also extending the system of contracts and aspects to support modular, formal verification.This manual is available online for free at ...
    Disponible

    19,91 €

  • Software and Intelligent Sciences
    Yingxu Wang
    The junction of software development and engineering combined with the study of intelligence has created a bustling intersection of theory, design, engineering, and conceptual thought. Software and Intelligent Sciences: New Transdisciplinary Findings sits at a crossroads and informs advanced researchers, students, and practitioners on the developments in computer science, theor...
  • Power System Planning Technologies and Applications
    Fawwaz Elkarmi / Nazih Abu Shikhah / Nazih Abu-Shikhah
    Planning is an important function of the management of any business, providing knowledge of future prospects and enabling prudent and appropriate decision-making. Planning is especially critical for power systems, since electricity is a fundamental part of modern societies and many conventional electrical energy resources currently in use are limited. Power System Planning Tech...
  • Concept Parsing Algorithms (CPA) for Textual Analysis and Discovery
    Masha Etkind / Uri Shafrir
    Text analysis tools aid in extracting meaning from digital content. As digital text becomes more and more complex, new techniques are needed to understand conceptual structure. Concept Parsing Algorithms (CPA) for Textual Analysis and Discovery: Emerging Research and Opportunities provides an innovative perspective on the application of algorithmic tools to study unstructured d...
  • Model-Based Design for Effective Control System Development
    Wei Wu
    Control systems are an integral aspect of modern society and exist across numerous domains and applications. As technology advances more and more, the complexity of such systems continues to increase exponentially. Model-Based Design for Effective Control System Development is a critical source of scholarly information on model-centric approaches and implementations for control...
  • Verification, Validation and Testing in Software Engineering
    ...

Otros libros del autor

  • Thinking About Programs
    Gavin Lowe
    This book is based on the author’s experience of 30 years of teaching programming at the University of Oxford and is an excellent choice for early programming courses offered by universities worldwide. It is a rigorous and thoughtfully structured textbook designed to equip students with both the theoretical underpinnings and practical skills essential in today’s programming la...
    Disponible

    83,69 €