This text introduces the foundations of computational thinking: a novel approach to computer science problems which provides the tools to reduce complicated problem statements into simple-to-understand statements. This text radically redefines how introductory Python programming courses are structured and enables students of all backgrounds to learn the basics. This text can be used as an accompaniment to a structured course or by self-learners as it contains the tools to mimic the traditional classroom environment.
This book is geared towards novice programmers by providing in-depth and easy-to-understand methodologies. This text will progressively introduce the fundamental concepts of computer science, and, once students have mastered the basics, the book dives into the use of cutting-edge Python programming techniques. Students will learn about the history of computer science, the internal components of a computer, creation of variables, data types, arrays, abstract data structures, if/else branching structures, for and while looping structures, functions, and finally the use of high-powered libraries for the analysis of real-world data sets. Regardless of a student’s background knowledge, with dedication and commitment, all students will be able to learn the basics of Python in no time!
1. Introduction
Preface
Why Python?
2 .The Computer
What Is a Computer?
An Abbreviated History of Computational Devices
Components of the Computer
Computer Processor
Memory Storage Devices
Motherboard
3. Introduction to Computational Thinking and Pseudocode
Decomposition
Abstraction
Pattern Matching
Algorithm
Pseudo Cod
Process Visualization Strategies
4. The Anaconda Environment and Python
The Key Features of Python
Getting Started with Python
Introduction to the Spyder Environment
Adding Additional Modules and Libraries to Python
Installing Third-Party Libraries
5. First Programs in Python
Programming Within the Command Console
Variable Assignment
Python Scripts
Strings and Text Data in Python
Nuts and Bolts of Programs
Specifying Numeric Input From the User
The Print Command and Formatting Outpu
Problem Sets
6. Data Types and Arrays
Data Types
Lists
Dictionaries and Associative Arrays
Uniqueness of Data Types
Type and Variable IDs
Reserved Namespaces
Math Package and Operations
Chapter Problem Sets
7. Mathematical Logic
An Introduction to Logic
Basics of Mathematical Logic
Boolean Logic and Truth Tables
Conditional Statements
Chapter Problem Sets
8. Branching Structures (If/Else, IF/Elseif/Else)
Conditional Statements and Boolean Logic
If Branching Structures
If/Else Conditional Structures
If/Elif/Else Structures
Nested If/Else Structures
Boolean Expression Tricks
Chapter Problem Set
9. Introduction to Looping Structures
While Loops in Python
For Loop in Python
Value Selection, Updating Lists, and Looping Structures
Applying Operations Over Lists of Elements
Nested Looping Structures
Chapter Problem Sets
10. Introduction to Functions
Defining Functions in Python
Input and Output Handling With Functions
Functions and Efficient Code Design
Dynamic Typing and Python Functions
Variable Scope and Functions
Top-Down Programming and Driver Files
Chapter Problem Sets
11. Tables and Plotting With PANDAS and MATPLOTLIB
Introduction to Pandas
Tables and Pandas
Getting Started With Pandas
Basics of Pandas DataFrames
Pandas Data Manipulation Techniques
Chapter Problem Sets
12. Plotting Applications With Matplotlib
Line Plots
Histograms and Bar Plots
Scatter Plots
Chapter Problem Sets