05113cam a22004458i 450000100090000000300050000900500170001400800410003101000170007202000310008904000290012004200080014905000260015708200230018308400230020610000420022924501110027125000190038226300090040126400720041030000460048233600260052833700280055433800270058250400510060950510450066052024110170565000400411665000260415665000330418265000480421570000380426370000500430170000430435170000390439490600450443394200460447895201260452499900170465022410130CSPC20250326144100.0220203s2022 enk b 001 0 eng  a 2022000136 a9781108701129q(paperback) aDLCbengerdacDLCdCSPC apcc00aQA76.73.P98bL55 202200a005.133bL630i223 aSCI0190002bisacsh1 aLin, Johnny Wei-Bing,d1972-eauthor.13aAn introduction to Python programming for scientists and engineers /cJohnny Wei-Bing Lin, [and 4 others]. aFirst edition. a2204 1aCambridge, UK ;aNew York, NY :bCambridge University Press,c2022. axxx, 735 pages :billustrations ;c25 cm. atextbtxt2rdacontent aunmediatedbn2rdamedia avolumebnc2rdacarrier aIncludes bibliographical references and index.0 aPart I. Getting basic tasks done -- Prologue: preparing to program -- Python as a basic calculator -- Python as a scientific calculator -- Basic line and scatter plots -- Customized line and scatter plots -- Basic diagnostic data analysis -- Two-dimensional diagnostic data analysis -- Basic prognostic modeling -- Reading in and writing out text data -- Managing files -- Part II. Doing more complex tasks -- Segue: how to write programs -- n-dimensional diagnostic data analysis -- Basic image processing -- Contour plots and animation -- Handling missing data -- Part III. Advanced programming concepts -- More data and execution structures -- Classes and inheritance -- More ways of storing information in files -- Basic searching and sorting -- Recursion -- Part IV. Going from a program working to working well -- Make it usable to others: documentation and sphinx -- Make it fast: performance -- Make it correct: linting and unit testing -- Make it manageable: version control and build management -- Make it talk to other languages. a"Most introductory programming textbooks are written with the assumption that the student thinks like a computer scientist. That is, writers assume that the student best learns programming by focusing on the structure and syntax of programming languages. The result is an introductory textbook that teaches programming in a way that is accessible to future programmers and developers but not as much to scientists or engineers who mainly want to investigate scientific problems. This textbook is written to teach programming to scientists and engineers, not to computer scientists. We assume that the reader has no background, formal or informal, in computer programming. It is organized around a scientist or engineer's workflow. What are the tasks of a scientist or engineer that a computer can help with? Doing calculations (e.g., Chapters 1 and 6), making a plot (e.g., Chapters 4 and 5), handling missing data (e.g., Chapter 15), and saving and storing data (e.g., Chapters 9 and 18) are just a few of the tasks we address. It teaches programming, not numerical methods, statistics, data analytics, or image processing. The level of math that the reader needs is modest so the text is accessible to a first-year college student. It provides examples pertinent to the natural sciences and engineering. Jupyter notebooks associated with this textbook provide structured practice using examples from physics, chemistry, and biology, and additional notebooks for engineering are planned. For instance, the physics notebooks include problems dealing with electromagnetic fields, optics, and gravitational acceleration. Syntax is secondary. The primary goal is to teach the student how to use Python to do scientific and engineering work. Thus, we teach as much language syntax and structure as needed to do a task. Later, as we address more complex science and engineering tasks, we teach additional aspects of language syntax and structure. As a result, this textbook is not intended as a Python language reference where all (or most) of the aspects of a given feature of the language are addressed at the same time. It is paced for the beginner. This text offers many examples, explanations, and opportunities to practice.We take things slowly because learning is a step-by-step process, not a toss-intothe- deep-end process. As a result, this text is not concise, particularly"--cProvided by publisher. 0aPython (Computer program language). 0aComputer programming. 0aEngneeringxData processing. 7aSCIENCE / Earth Sciences / General2bisacsh1 aAizenman, Hannah,d1987-eauthor.1 aEspinel, Erin Manette Cartas,d1965-eauthor.1 aGunnerson, Kim Noreen,d1965-eauthor.1 aLiu, Joanneq(Joanne K.),eauthor. a7bcbccorignewd1eecipf20gy-gencatlg 2ddcn0cBKh005.133iL630ikCIRm2022e23 00102ddc4070aCSPCbCSPCcCIRd2025-03-26l0oCIR 005.133 L630i 2022p029349r2025-03-26 13:17:26t1-1w2025-03-26yBK c29344d29344