Introduction to computation and programming using Python
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Cambridge, MA [u.a.]
MIT Press
2013
|
Ausgabe: | Spring 2013 edition |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV040771961 | ||
003 | DE-604 | ||
005 | 20130410 | ||
007 | t| | ||
008 | 130222s2013 xx ad|| |||| 00||| eng d | ||
020 | |a 0262519631 |9 0-262-51963-1 | ||
020 | |a 9780262519632 |9 978-0-262-51963-2 | ||
035 | |a (OCoLC)835302526 | ||
035 | |a (DE-599)BVBBV040771961 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-91G | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a DAT 366f |2 stub | ||
100 | 1 | |a Guttag, John V. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Introduction to computation and programming using Python |c John V. Guttag |
250 | |a Spring 2013 edition | ||
264 | 1 | |a Cambridge, MA [u.a.] |b MIT Press |c 2013 | |
300 | |a xii, 268 pages |b Ill., graph. Darst. |c 28 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a "This book is based on an MIT course that has been offered twice a year since 2006"--Preface | ||
500 | |a Includes bibliographical references and index | ||
650 | 4 | |a Python (Computer program language) | |
650 | 4 | |a Python (Computer program language) / Study and teaching / Massachusetts / Cambridge | |
650 | 4 | |a Computer programming | |
650 | 0 | 7 | |a Informatik |0 (DE-588)4026894-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |2 gnd |9 rswk-swf |
655 | 7 | |0 (DE-588)4123623-3 |a Lehrbuch |2 gnd-content | |
689 | 0 | 0 | |a Python |g Programmiersprache |0 (DE-588)4434275-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Informatik |0 (DE-588)4026894-9 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025750326&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-025750326 |
Datensatz im Suchindex
DE-BY-TUM_call_number | 0102 DAT 366f 2013 B 611 |
---|---|
DE-BY-TUM_katkey | 1912364 |
DE-BY-TUM_location | 01 |
DE-BY-TUM_media_number | 040071478707 |
_version_ | 1820852587098800128 |
adam_text | Titel: Introduction to computation and programming using Python
Autor: Guttag, John V
Jahr: 2013
CONTENTS
PREFACE........................................................................................................ix
SPRING 2013 EDITION....................................................................................xi
ACKNOWLEDGMENTS....................................................................................xii
1 GETTING STARTED....................................................................................1
2 INTRODUCTION TO PYTHON......................................................................7
2.1 The Basic Element of Python.................................................................8
2.1.1 Objects, expressions, and numerical types.....................................9
2.1.2 Variables and assignment............................................................ 11
2.1.3 IDLE............................................................................................ 13
2.2 Branching Programs........................................................................... 13
2.3 Type Str and Input............................................................................. 16
2.3.1 Input............................................................................................ 18
2.4 Iteration.............................................................................................. 18
3 SOME SIMPLE NUMERICAL PROGRAMS..................................................21
3.1 Exhaustive enumeration.....................................................................21
3.2 For Loops............................................................................................23
3.3 Approximate Solutions and Bisection Search......................................25
3.4 A Few Words About Using Floats........................................................29
3.5 Newton-Raphson................................................................................31
4 FUNCTIONS AND ABSTRACTION BY SPECIFICATION...............................34
4.1 Functions and Scoping.......................................................................35
4.1.1 Function definitions.....................................................................35
4.1.2 Keyword Arguments and Default Values.......................................36
4.1.3 Scoping........................................................................................37
4.2 Specifications.....................................................................................40
4.3 Recursion...........................................................................................43
4.3.1 Fibonacci numbers.......................................................................45
4.3.2 Palindromes and divide-and-conquer............................................47
4.4 Global Variables.................................................................................49
4.5 Modules and Import............................................................................50
4.6 Files...................................................................................................52
5 STRUCTURED TYPES, MUTABILITY, AND HIGHER-ORDER FUNCTIONS.. 55
5.1 Tuples................................................................................................55
5.1.1 Sequences and Multiple Assignment.............................................56
5.2 Lists and Mutability............................................................................57
5.2.1 Cloning........................................................................................62
5.2.2 List comprehension......................................................................62
5.3 Functions as Objects..........................................................................63
5.4 Strings, tuples, and lists.....................................................................64
5.5 Dictionaries........................................................................................66
6 TESTING AND DEBUGGING......................................................................70
6.1 Testing................................................................................................70
6.1.1 Black-box testing.........................................................................71
6.1.2 Glass-box testing..........................................................................73
6.1.3 Conducting Tests.........................................................................74
6.2 Debugging..........................................................................................76
6.2.1 Learning to Debug........................................................................78
6.2.2 Designing the Experiment............................................................79
6.2.3 When the Going Gets Tough.........................................................81
6.2.4 And When You Have Found The Bug..........................................82
7 EXCEPTIONS AND ASSERTIONS..............................................................83
7.1 Handling Exceptions...........................................................................83
7.2 Exceptions as a Control Flow Mechanism...........................................86
7.3 Assertions...........................................................................................88
8 CLASSES AND OBJECT-ORIENTED PROGRAMMING...............................90
8.1 Abstract Data Types and Classes........................................................90
8.1.1 Designing Programs Using Abstract Data Types............................94
8.1.2 Using Classes to Keep Track of Students and Faculty...................94
8.2 Inheritance.........................................................................................96
8.2.1 Multiple Levels of Inheritance.......................................................99
8.2.2 The Substitution Principle.......................................................... 100
8.3 Encapsulation and Information Hiding.............................................. 101
8.3.1 User-Defined Iterators................................................................ 104
8.4 Mortgages, an Extended Example..................................................... 106
9 A SIMPLISTIC INTRODUCTION TO ALGORITHMIC COMPLEXITY............ 111
9.1 Thinking About Computational Complexity....................................... Ill
9.2 Asymptotic Notation..........................................................................114
9.3 Some Important Complexity Classes................................................. 116
9.3.1 Constant complexity...................................................................116
9.3.2 Logarithmic complexity.............................................................. 116
9.3.3 Linear Complexity...................................................................... 117
9.3.4 Log-linear Complexity................................................................. 118
9.3.5 Polynomial Complexity............................................................... 118
9.3.6 Exponential Complexity.............................................................. 120
9.3.7 Comparisons of Complexity Classes............................................121
10 SOME SIMPLE ALGORITHMS AND DATA STRUCTURES......................... 123
10.1 Search Algorithms.......................................................................... 124
10.1.1 Linear Search and Using Indirection to Access Elements.......... 124
10.1.2 Binary Search and Exploiting Assumptions.............................. 126
10.2 Sorting Algorithms..........................................................................129
10.2.1 Merge Sort................................................................................ 130
10.2.2 Exploiting Functions as Parameters.......................................... 133
10.2.3 Sorting in Python..................................................................... 133
10.3 Hash Tables.................................................................................... 135
11 PLOTTING AND MORE ABOUT CLASSES................................................ 139
11.1 Plotting Using PyLab....................................................................... 139
11.2 Plotting Mortgages, an Extended Example....................................... 143
12 STOCHASTIC PROGRAMS, PROBABILITY, AND STATISTICS................... 150
12.1 Stochastic Programs....................................................................... 151
12.2 Inferential Statistics and Simulation............................................... 153
12.3 Distributions.................................................................................. 164
12.3.1 Normal Distributions and Confidence Levels............................. 166
12.3.2 Uniform Distributions.............................................................. 168
12.3.3 Exponential and Geometric Distributions................................. 168
12.3.4 Benford s Distribution.............................................................. 170
12.4 How Often Does the Better Team Win?............................................ 171
12.5 Hashing and Collisions................................................................... 174
13 RANDOM WALKS AND MORE ABOUT DATA VISUALIZATION................. 177
13.1 The Drunkard s Walk...................................................................... 177
13.2 Biased Random Walks.................................................................... 183
13.3 Treacherous Fields.......................................................................... 189
14 MONTE CARLO SIMULATION.................................................................. 191
14.1 Pascal s Problem............................................................................. 192
14.2 Pass or Don t Pass?......................................................................... 193
14.3 Using Table Lookup to Improve Performance................................... 196
14.4 Finding ji........................................................................................ 197
14.5 Some Closing Remarks About Simulation Models............................201
15 UNDERSTANDING EXPERIMENTAL DATA..............................................204
15.1 The Behavior of Springs..................................................................204
15.1.1 Using Linear Regression to Find a Fit.......................................207
15.2 The Behavior of Projectiles..............................................................211
15.2.1 Coefficient of Determination.....................................................212
15.2.2 Using a Compuational Model....................................................213
15.3 Not All Close Fits are Good Fits.......................................................214
15.4 Fitting Exponential Distributions....................................................219
15.5 When Theory is Missing..................................................................221
16 LIES, DAMNED LIES, AND STATISTICS..................................................222
16.1 Garbage In Garbage Out (GIGO)......................................................222
16.2 Pictures Can Be Deceiving..............................................................223
16.3 Cum Hoc Ergo Propter Hoc.............................................................224
16.4 Statistical Measures Don t Tell the Whole Story...............................225
16.5 Sampling Bias.................................................................................227
16.6 Context Matters..............................................................................228
16.7 Beware of Extrapolation..................................................................228
16.8 The Texas Sharpshooter Fallacy......................................................229
16.9 Percentages Can Confuse................................................................231
16.10 Just Beware..................................................................................232
17 KNAPSACK AND GRAPH OPTIMIZATION PROBLEMS..............................233
17.1 Knapsack Problems........................................................................233
17.1.1 Greedy Algorithms....................................................................234
17.1.2 Exponential Solution to the 0/1 Knapsack Problem..................237
17.2 Graph Optimization Problems.........................................................239
17.2.1 Some Classic Graph Theoretic Problems...................................243
17.2.2 The Spread of Disease and Min Cut..........................................244
17.2.3 Shortest Path, Depth-first search, and Breadth-first Search.....245
18 DYNAMIC PROGRAMMING.....................................................................250
18.1 Fibonacci Sequences, Revisited.......................................................250
18.2 Dynamic Programming and the 0/1 Knapsack Problem...................252
18.3 Dynamic Programming and Divide-and-Conquer.............................258
PYTHON 2.7 QUICK REFERENCE.................................................................259
|
any_adam_object | 1 |
author | Guttag, John V. |
author_facet | Guttag, John V. |
author_role | aut |
author_sort | Guttag, John V. |
author_variant | j v g jv jvg |
building | Verbundindex |
bvnumber | BV040771961 |
classification_rvk | ST 250 |
classification_tum | DAT 366f |
ctrlnum | (OCoLC)835302526 (DE-599)BVBBV040771961 |
discipline | Informatik |
edition | Spring 2013 edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01872nam a2200457 c 4500</leader><controlfield tag="001">BV040771961</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130410 </controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">130222s2013 xx ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0262519631</subfield><subfield code="9">0-262-51963-1</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780262519632</subfield><subfield code="9">978-0-262-51963-2</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)835302526</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV040771961</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 366f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Guttag, John V.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Introduction to computation and programming using Python</subfield><subfield code="c">John V. Guttag</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Spring 2013 edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cambridge, MA [u.a.]</subfield><subfield code="b">MIT Press</subfield><subfield code="c">2013</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xii, 268 pages</subfield><subfield code="b">Ill., graph. Darst.</subfield><subfield code="c">28 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">"This book is based on an MIT course that has been offered twice a year since 2006"--Preface</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Python (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Python (Computer program language) / Study and teaching / Massachusetts / Cambridge</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer programming</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Informatik</subfield><subfield code="0">(DE-588)4026894-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4123623-3</subfield><subfield code="a">Lehrbuch</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Python</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4434275-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Informatik</subfield><subfield code="0">(DE-588)4026894-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025750326&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-025750326</subfield></datafield></record></collection> |
genre | (DE-588)4123623-3 Lehrbuch gnd-content |
genre_facet | Lehrbuch |
id | DE-604.BV040771961 |
illustrated | Illustrated |
indexdate | 2024-12-24T03:08:24Z |
institution | BVB |
isbn | 0262519631 9780262519632 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025750326 |
oclc_num | 835302526 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM |
owner_facet | DE-91G DE-BY-TUM |
physical | xii, 268 pages Ill., graph. Darst. 28 cm |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | MIT Press |
record_format | marc |
spellingShingle | Guttag, John V. Introduction to computation and programming using Python Python (Computer program language) Python (Computer program language) / Study and teaching / Massachusetts / Cambridge Computer programming Informatik (DE-588)4026894-9 gnd Python Programmiersprache (DE-588)4434275-5 gnd |
subject_GND | (DE-588)4026894-9 (DE-588)4434275-5 (DE-588)4123623-3 |
title | Introduction to computation and programming using Python |
title_auth | Introduction to computation and programming using Python |
title_exact_search | Introduction to computation and programming using Python |
title_full | Introduction to computation and programming using Python John V. Guttag |
title_fullStr | Introduction to computation and programming using Python John V. Guttag |
title_full_unstemmed | Introduction to computation and programming using Python John V. Guttag |
title_short | Introduction to computation and programming using Python |
title_sort | introduction to computation and programming using python |
topic | Python (Computer program language) Python (Computer program language) / Study and teaching / Massachusetts / Cambridge Computer programming Informatik (DE-588)4026894-9 gnd Python Programmiersprache (DE-588)4434275-5 gnd |
topic_facet | Python (Computer program language) Python (Computer program language) / Study and teaching / Massachusetts / Cambridge Computer programming Informatik Python Programmiersprache Lehrbuch |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025750326&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT guttagjohnv introductiontocomputationandprogrammingusingpython |