Intro to Python for Computer Science and Data Science
Thistitle is a Pearson Global Edition. The Editorial team at Pearson has workedclosely with educators around the world to include content which is especiallyrelevant to students outside the United States. For introductory-level Python programming and/ordata-science courses. A groundbreaking, flexi...
Autor principal: | |
---|---|
Otros Autores: | |
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Harlow :
Pearson Education, Limited
2021.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009667234306719 |
Tabla de Contenidos:
- Cover
- Digital Resources for Students
- Intro to Python® for Computer Science and Data Science
- Half Title
- Copyright
- Title Page
- Dedication
- Contents
- Preface
- Before You Begin
- 1. Introduction to Computers and Python
- 1.1 Introduction
- 1.2 Hardware and Software
- 1.2.1 Moore's Law
- 1.2.2 Computer Organization
- 1.3 Data Hierarchy
- 1.4 Machine Languages, Assembly Languages and High-Level Languages
- 1.5 Introduction to Object Technology
- 1.6 Operating Systems
- 1.7 Python
- 1.8 It's the Libraries!
- 1.8.1 Python Standard Library
- 1.8.2 Data-Science Libraries
- 1.9 Other Popular Programming Languages
- 1.10 Test-Drives: Using IPython and Jupyter Notebooks
- 1.10.1 Using IPython Interactive Mode as a Calculator
- 1.10.2 Executing a Python Program Using the IPython Interpreter
- 1.10.3 Writing and Executing Code in a Jupyter Notebook
- 1.11 Internet and World Wide Web
- 1.11.1 Internet: A Network of Networks
- 1.11.2 World Wide Web: Making the Internet User-Friendly
- 1.11.3 The Cloud
- 1.11.4 Internet of Things
- 1.12 Software Technologies
- 1.13 How Big Is Big Data?
- 1.13.1 Big Data Analytics
- 1.13.2 Data Science and Big Data Are Making a Difference: Use Cases
- 1.14 Case Study-A Big-Data Mobile Application
- 1.15 Intro to Data Science: Artificial Intelligence-at the Intersection of CS and Data Science
- 2. Introduction to Python Programming
- 2.1 Introduction
- 2.2 Variables and Assignment Statements
- 2.3 Arithmetic
- 2.4 Function print and an Intro to Single- and Double-Quoted Strings
- 2.5 Triple-Quoted Strings
- 2.6 Getting Input from the User
- 2.7 Decision Making: The if Statement and Comparison Operators
- 2.8 Objects and Dynamic Typing
- 2.9 Intro to Data Science: Basic Descriptive Statistics
- 2.10 Wrap-Up
- 3. Control Statements and Program Development.
- 3.1 Introduction
- 3.2 Algorithms
- 3.3 Pseudocode
- 3.4 Control Statements
- 3.5 if Statement
- 3.6 if…else and if…elif…else Statements
- 3.7 while Statement
- 3.8 for Statement
- 3.8.1 Iterables, Lists and Iterators
- 3.8.2 Built-In range Function
- 3.9 Augmented Assignments
- 3.10 Program Development: Sequence-Controlled Repetition
- 3.10.1 Requirements Statement
- 3.10.2 Pseudocode for the Algorithm
- 3.10.3 Coding the Algorithm in Python
- 3.10.4 Introduction to Formatted Strings
- 3.11 Program Development: Sentinel-Controlled Repetition
- 3.12 Program Development: Nested Control Statements
- 3.13 Built-In Function range: A Deeper Look
- 3.14 Using Type Decimal for Monetary Amounts
- 3.15 break and continue Statements
- 3.16 Boolean Operators and, or and not
- 3.17 Intro to Data Science: Measures of Central Tendency-Mean, Median and Mode
- 3.18 Wrap-Up
- 4. Functions
- 4.1 Introduction
- 4.2 Defining Functions
- 4.3 Functions with Multiple Parameters
- 4.4 Random-Number Generation
- 4.5 Case Study: A Game of Chance
- 4.6 Python Standard Library
- 4.7 math Module Functions
- 4.8 Using IPython Tab Completion for Discovery
- 4.9 Default Parameter Values
- 4.10 Keyword Arguments
- 4.11 Arbitrary Argument Lists
- 4.12 Methods: Functions That Belong to Objects
- 4.13 Scope Rules
- 4.14 import: A Deeper Look
- 4.15 Passing Arguments to Functions: A Deeper Look
- 4.16 Function-Call Stack
- 4.17 Functional-Style Programming
- 4.18 Intro to Data Science: Measures of Dispersion
- 4.19 Wrap-Up
- 5. Sequences: Lists and Tuples
- 5.1 Introduction
- 5.2 Lists
- 5.3 Tuples
- 5.4 Unpacking Sequences
- 5.5 Sequence Slicing
- 5.6 del Statement
- 5.7 Passing Lists to Functions
- 5.8 Sorting Lists
- 5.9 Searching Sequences
- 5.10 Other List Methods
- 5.11 Simulating Stacks with Lists
- 5.12 List Comprehensions.
- 5.13 Generator Expressions
- 5.14 Filter, Map and Reduce
- 5.15 Other Sequence Processing Functions
- 5.16 Two-Dimensional Lists
- 5.17 Intro to Data Science: Simulation and Static Visualizations
- 5.17.1 Sample Graphs for 600, 60,000 and 6,000,000 Die Rolls
- 5.17.2 Visualizing Die-Roll Frequencies and Percentages
- 5.18 Wrap-Up
- 6. Dictionaries and Sets
- 6.1 Introduction
- 6.2 Dictionaries
- 6.2.1 Creating a Dictionary
- 6.2.2 Iterating through a Dictionary
- 6.2.3 Basic Dictionary Operations
- 6.2.4 Dictionary Methods keys and values
- 6.2.5 Dictionary Comparisons
- 6.2.6 Example: Dictionary of Student Grades
- 6.2.7 Example: Word Counts
- 6.2.8 Dictionary Method update
- 6.2.9 Dictionary Comprehensions
- 6.3 Sets
- 6.3.1 Comparing Sets
- 6.3.2 Mathematical Set Operations
- 6.3.3 Mutable Set Operators and Methods
- 6.3.4 Set Comprehensions
- 6.4 Intro to Data Science: Dynamic Visualizations
- 6.4.1 How Dynamic Visualization Works
- 6.4.2 Implementing a Dynamic Visualization
- 6.5 Wrap-Up
- 7. Array-Oriented Programming with NumPy
- 7.1 Introduction
- 7.2 Creating arrays from Existing Data
- 7.3 array Attributes
- 7.4 Filling arrays with Specific Values
- 7.5 Creating arrays from Ranges
- 7.6 List vs. array Performance: Introducing %timeit
- 7.7 array Operators
- 7.8 NumPy Calculation Methods
- 7.9 Universal Functions
- 7.10 Indexing and Slicing
- 7.11 Views: Shallow Copies
- 7.12 Deep Copies
- 7.13 Reshaping and Transposing
- 7.14 Intro to Data Science: pandas Series and DataFrames
- 7.14.1 pandas Series
- 7.14.2 DataFrames
- 7.15 Wrap-Up
- 8. Strings: A Deeper Look
- 8.1 Introduction
- 8.2 Formatting Strings
- 8.2.1 Presentation Types
- 8.2.2 Field Widths and Alignment
- 8.2.3 Numeric Formatting
- 8.2.4 String's format Method
- 8.3 Concatenating and Repeating Strings.
- 8.4 Stripping Whitespace from Strings
- 8.5 Changing Character Case
- 8.6 Comparison Operators for Strings
- 8.7 Searching for Substrings
- 8.8 Replacing Substrings
- 8.9 Splitting and Joining Strings
- 8.10 Characters and Character-Testing Methods
- 8.11 Raw Strings
- 8.12 Introduction to Regular Expressions
- 8.12.1 re Module and Function fullmatch
- 8.12.2 Replacing Substrings and Splitting Strings
- 8.12.3 Other Search Functions
- Accessing Matches
- 8.13 Intro to Data Science: Pandas, Regular Expressions and Data Munging
- 8.14 Wrap-Up
- 9. Files and Exceptions
- 9.1 Introduction
- 9.2 Files
- 9.3 Text-File Processing
- 9.3.1 Writing to a Text File: Introducing the with Statement
- 9.3.2 Reading Data from a Text File
- 9.4 Updating Text Files
- 9.5 Serialization with JSON
- 9.6 Focus on Security: pickle Serialization and Deserialization
- 9.7 Additional Notes Regarding Files
- 9.8 Handling Exceptions
- 9.8.1 Division by Zero and Invalid Input
- 9.8.2 try Statements
- 9.8.3 Catching Multiple Exceptions in One except Clause
- 9.8.4 What Exceptions Does a Function or Method Raise?
- 9.8.5 What Code Should Be Placed in a try Suite?
- 9.9 finally Clause
- 9.10 Explicitly Raising an Exception
- 9.11 (Optional) Stack Unwinding and Tracebacks
- 9.12 Intro to Data Science: Working with CSV Files
- 9.12.1 Python Standard Library Module csv
- 9.12.2 Reading CSV Files into Pandas DataFrames
- 9.12.3 Reading the Titanic Disaster Dataset
- 9.12.4 Simple Data Analysis with the Titanic Disaster Dataset
- 9.12.5 Passenger Age Histogram
- 9.13 Wrap-Up
- 10. Object-Oriented Programming
- 10.1 Introduction
- 10.2 Custom Class Account
- 10.2.1 Test-Driving Class Account
- 10.2.2 Account Class Definition
- 10.2.3 Composition: Object References as Members of Classes
- 10.3 Controlling Access to Attributes.
- 10.4 Properties for Data Access
- 10.4.1 Test-Driving Class Time
- 10.4.2 Class Time Definition
- 10.4.3 Class Time Definition Design Notes
- 10.5 Simulating "Private" Attributes
- 10.6 Case Study: Card Shuffling and Dealing Simulation
- 10.6.1 Test-Driving Classes Card and DeckOfCards
- 10.6.2 Class Card-Introducing Class Attributes
- 10.6.3 Class DeckOfCards
- 10.6.4 Displaying Card Images with Matplotlib
- 10.7 Inheritance: Base Classes and Subclasses
- 10.8 Building an Inheritance Hierarchy
- Introducing Polymorphism
- 10.8.1 Base Class CommissionEmployee
- 10.8.2 Subclass SalariedCommissionEmployee
- 10.8.3 Processing CommissionEmployees and SalariedCommissionEmployees Polymorphically
- 10.8.4 A Note About Object-Based and Object-Oriented Programming
- 10.9 Duck Typing and Polymorphism
- 10.10 Operator Overloading
- 10.10.1 Test-Driving Class Complex
- 10.10.2 Class Complex Definition
- 10.11 Exception Class Hierarchy and Custom Exceptions
- 10.12 Named Tuples
- 10.13 A Brief Intro to Python 3.7's New Data Classes
- 10.13.1 Creating a Card Data Class
- 10.13.2 Using the Card Data Class
- 10.13.3 Data Class Advantages over Named Tuples
- 10.13.4 Data Class Advantages over Traditional Classes
- 10.14 Unit Testing with Docstrings and doctest
- 10.15 Namespaces and Scopes
- 10.16 Intro to Data Science: Time Series and Simple Linear Regression
- 10.17 Wrap-Up
- 11. Computer Science Thinking: Recursion, Searching, Sorting and Big O
- 11.1 Introduction
- 11.2 Factorials
- 11.3 Recursive Factorial Example
- 11.4 Recursive Fibonacci Series Example
- 11.5 Recursion vs. Iteration
- 11.6 Searching and Sorting
- 11.7 Linear Search
- 11.8 Efficiency of Algorithms: Big O
- 11.9 Binary Search
- 11.9.1 Binary Search Implementation
- 11.9.2 Big O of the Binary Search
- 11.10 Sorting Algorithms
- 11.11 Selection Sort.
- 11.11.1 Selection Sort Implementation.