000 04918nam a22004095i 4500
999 _c368164
_d368164
_x1
001 368164
003 ES-MaUEC
005 20230102121713.0
006 a||||fo|||| 00| 0
007 cr nn 008mamaa
008 220113s2022 sz | s |||| 0|eng d
020 _a9783030850913
024 7 _a10.1007/978-3-030-85091-3
_2doi
040 _aES-MaUEC
_bspa
_cES-MaUEC
_dES-MaUEC
050 4 _aQA76.6
_b2022 EB
100 1 _aMorazán, Marco T.
_eautor
_9683259
245 1 0 _aAnimated Problem Solving :
_bAn Introduction to Program Design Using Video Game Development
_cby Marco T. Morazán
250 _aFirst edition 2022
264 1 _aCham
_bSpringer International Publising
_c2022
300 _a1 recurso en línea (XIX, 688 páginas)
_b200 ilustraciones, 88 ilustraciones a color
336 _2rdacontent
_aTexto
_btxt
337 _2rdamedia
_aelectrónico
_bc
338 _2rdacarrier
_arecurso electrónico
_bcr
347 _aarchivo de texto
_bPDF
490 0 _aTexts in Computer Science
_x1868-095X
505 0 _aPart I: The Basics of Problem Solving with a Computer -- 1. The Science of Problem Solving -- 2. Expressions and Data Types -- 3. The Nature of Functions -- 4. Aliens Attack Version 0 -- 5. Making Decisions -- 6. Aliens Attack Version 1 -- Part II: Compound Data of Finite Size -- 7. Structures -- 8. Defining Structures -- 9. Aliens Attack Version 2.-10. Structures and Variety -- 1.1 Aliens Attack Version 3 -- Part III: Compound Data of Arbitrary Size -- 12. Lists -- 13. List Processing -- 14. Natural Numbers -- 15. Interval Processing -- 16. Aliens Attack Version 4 -- 17. Binary Trees -- 18 -- Mutually Recursive Data -- 19 -- Processing Multiple Inputs of Arbitrary Size -- Part IV: Abstraction -- 20. Functional Abstraction -- 21. Encapsulation -- 22. Lambda Expressions -- 23. Aliens Attack Version 5 -- 24. For-Loops and Pattern Matching -- 25. Interfaces and Objects -- Part V: Distributed Programming -- 26. Introduction to Distributed Programming -- 27. Aliens Attack Version 6 -- 28. Aliens Attack Version 7 -- 29. Aliens Attack Version 8 -- Part VI: Epilogue -- 30. Advice for Future Steps.
520 _aThis textbook is about systematic problem solving and systematic reasoning using type-driven design. There are two problem solving techniques that are emphasized throughout the book: divide and conquer and iterative refinement. Divide and conquer is the process by which a large problem is broken into two or more smaller problems that are easier to solve and then the solutions for the smaller pieces are combined to create an answer to the problem. Iterative refinement is the process by which a solution to a problem is gradually made better-like the drafts of an essay. Mastering these techniques are essential to becoming a good problem solver and programmer. The book is divided in five parts. Part I focuses on the basics. It starts with how to write expressions and subsequently leads to decision making and functions as the basis for problem solving. Part II then introduces compound data of finite size, while Part III covers compound data of arbitrary size like e.g. lists, intervals, natural numbers, and binary trees. It also introduces structural recursion, a powerful data-processing strategy that uses divide and conquer to process data whose size is not fixed. Next, Part IV delves into abstraction and shows how to eliminate repetitions in solutions to problems. It also introduces generic programming which is abstraction over the type of data processed. This leads to the realization that functions are data and, perhaps more surprising, that data are functions, which in turn naturally leads to object-oriented programming. Part V introduces distributed programming, i.e., using multiple computers to solve a problem. This book promises that by the end of it readers will have designed and implemented a multiplayer video game that they can play with their friends over the internet. To achieve this, however, there is a lot about problem solving and programming that must be learned first. The game is developed using iterative refinement. The reader learns step-by-step about programming and how to apply new knowledge to develop increasingly better versions of the video game. This way, readers practice modern trends that are likely to be common throughout a professional career and beyond.
988 _aSpringer_Computer_2022
650 7 _2embne
_aProgramación de ordenadores
_9139821
650 7 _2embne
_9141166
_aResolución de problemas
773 0 _tSpringer Nature eBook
856 4 0 _uhttps://go.openathens.net/redirector/universidadeuropea.es?url=https://doi.org/10.1007/978-3-030-85091-3
_zAcceso a este recurso digital (usuarios Universidad Europea de Madrid)
942 _2lcc
_cLE
_n0
998 _b03/2022
_dz
_eu
_zSI