Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming introduces computational problem solving as a vehicle of discovery in a wide variety of disciplines. With a principles-oriented introduction to computational thinking, the text provides a broader and deeper introduction to computer science than typical introductory programming books. Organized around interdisciplinary problem domains, rather than programming language features, each chapter guides students through increasingly sophisticated algorithmic and programming techniques. The author uses a spiral approach to introduce Python language features in increasingly complex contexts as the book progresses. The text places programming in the context of fundamental computer science principles, such as abstraction, efficiency, and algorithmic techniques, and offers overviews of fundamental topics that are traditionally put off until later courses. The book includes thirty well-developed independent projects that encourage students to explore questions across disciplinary boundaries. Each is motivated by a problem that students can investigate by developing algorithms and implementing them as Python programs. The book's accompanying website ― http://discoverCS.denison.edu ― includes sample code and data files, pointers for further exploration, errata, and links to Python language references. Containing over 600 homework exercises and over 300 integrated reflection questions, this textbook is appropriate for a first computer science course for computer science majors, an introductory scientific computing course or, at a slower pace, any introductory computer science course. About the Author Jessen Havill is a professor of computer science and the Benjamin Barney Chair of Mathematics at Denison University, where he has been on the faculty since 1998. Dr. Havill teaches courses across the computer science curriculum, as well as an interdisciplinary elective in computational biology. He was awarded the college's highest teaching honor, the Charles A. Brickman Teaching Excellence Award, in 2013. Dr. Havill is also an active researcher, with a primary interest in the development and analysis of online algorithms. In addition, he has collaborated with colleagues in biology and geosciences to develop computational tools to support research and teaching in those fields. Dr. Havill earned his bachelor's degree from Bucknell University and his Ph.D. in computer science from The College of William and Mary.

Author(s): Jessen Havill
Series: Chapman & Hall/CRC Textbooks in Computing
Edition: 1
Publisher: CRC Press
Year: 2015

Language: English
Commentary: True PDF
Pages: 750
City: Boca Raton, FL
Tags: Data Analysis Programming Python Clustering Linear Regression matplotlib Object-Oriented Programming Recursion Game of Life Graph Algorithms Genomics Entry Level DNA Testing Teaching Fractals Mathematical Modeling Text Processing Search Algorithms Sorting Algorithms

Content: Front Cover
Contents
Preface
Acknowledgments
About the author
Chapter 1: What is computation?
Chapter 2: Elementary computations
Chapter 3: Visualizing abstraction
Chapter 4: Growth and decay
Chapter 5: Forks in the road
Chapter 6: Text, documents, and DNA
Chapter 7: Designing programs
Chapter 8: Data analysis
Chapter 9: Flatland
Chapter 10: Self-similarity and recursion
Chapter 11: Organizing data
Chapter 12: Networks
Chapter 13: Abstract data types
Appendix A: Installing Python
Appendix B: Python library reference
Bibliography
Back Cover