Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer. Topics covered include: Basic elements of programming from arithmetic to loops and if statements. Using functions and modules to organize programs. Using lists, sets, and dictionaries to organize data. Designing algorithms systematically. Debugging things when they go wrong. Creating and querying databases. Building graphical interfaces to make programs easier to use. Object-oriented programming and programming patterns.
Greg Wilson Książki




How do the experts solve difficult problems in software development? This book offers case studies that reveal how they found carefully designed solutions to high-profile projects.
Focusing on practical learning, this book offers a hands-on approach to software design through small-scale projects that reflect real-world programming tools. It aims to enhance understanding of the thought processes of experienced programmers. Suitable for self-study, undergraduate courses, or intensive workshops, it provides a versatile resource for both novice and seasoned programmers looking to deepen their design skills using Python.
Many claims are made about how certain tools, technologies, and practices improve software development. But which claims are verifiable, and which are merely wishful thinking? In this book, leading thinkers such as Steve McConnell, Barry Boehm, and Barbara Kitchenham offer essays that uncover the truth and unmask myths commonly held among the software development community. Their insights may surprise you.Are some programmers really ten times more productive than others?Does writing tests first help you develop better code faster?Can code metrics predict the number of bugs in a piece of software?Do design patterns actually make better software?What effect does personality have on pair programming?What matters more: how far apart people are geographically, or how far apart they are in the org chart?Contributors include:Jorge ArandaTom BallVictor R. BasiliAndrew BegelChristian BirdBarry BoehmMarcelo CataldoSteven ClarkeJason CohenRobert DeLineMadeline DiepHakan ErdogmusMichael GodfreyMark GuzdialJo E. HannayAhmed E. HassanIsrael HerraizKim Sebastian HerzigCory KapserBarbara KitchenhamAndrew KoLucas LaymanSteve McConnellTim MenziesGail MurphyNachi NagappanThomas J. OstrandDewayne PerryMarian PetreLutz PrecheltRahul PremrajForrest ShullBeth SimonDiomidis SpinellisNeil ThomasWalter TichyBurak TurhanElaine J. WeyukerMichele A. WhitecraftLaurie WilliamsWendy M. WilliamsAndreas ZellerThomas Zimmermann