SiteMap Textmaps
- Page ID
- 1583
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)- Artificial Intelligence
- The Data Renaissance: Analyzing the Disciplinary Effects of Big Data, Artificial Intelligence, and Beyond
- Front Matter
- A/B and Multivariate Testing
- AI Career Research
- AI Ethics: Privacy, Security, and Bias
- AI for Image Creation and Decision Making
- AI Tools and Applications for Social Media
- AI & Ethics: A Discussion
- AI & Society
- Algorithms in the Age of Capitalism
- Analyzing Other Approaches
- An Open Question
- Artificial Intelligence in Strategic Communication
- A Brief History
- A Constitutional Right to Privacy?
- Becoming Data
- Big Data
- Big Data in the Film Industry
- Case Study: "It's Perfect, Four Stars!"
- Challenges with Media Literacy
- Cheat Detection
- Complications with Algorithmic Systems
- Conclusion
- Contents
- COVID-19: Surveillance and Personal Privacy
- Data and Target Audience
- Data Feminism: The Numbers Don’t Speak for Themselves
- Data in Public Relations, Social Media, and Advertising
- Data in Sports Marketing
- Data Literacy
- Data Used for Campaigns
- Data Used for Revenue
- Differences Between ChatGPT 3 and 4
- Discussion or Reflection Questions
- Enhancing Creativity and Productivity with AI
- Ethics of Search Engines
- Further Reading
- Generative AI in the Classroom and Workspace
- Generative AI Pre-Test
- Grant Information
- Hands-on Project
- How Common are Microtransactions?
- How Data Has Been Used in the Film Industry
- How Generative AI Works
- How Quickly Can it Add Up?
- How to Use This Book
- Human Commerce
- Impact of Microtransactions
- Into the Future
- Introduction
- Key Essentials
- Land Acknowledgement Statement for the ROTEL Grant
- Language, Diversity, Inclusivity, and ChaptGPT
- Legal and Social Implications of AI
- Links to Tools
- Little Brother
- Living and Dying by the Algorithms
- Machine Learning in the Development of Video Games
- Media Literacy
- Media Literacy & Data Literacy Skills
- Media & Data Literacy
- Modern Applications of AI in Games
- Original Contributors
- Outlook
- Post-Test and Survey
- Predicting Box-Office Success in the Film Industry
- Principle: Consider Context
- Project Rationale
- Prompt-Writing Tips
- Recommended Reading (and Listening/Viewing)
- References
- Similarities
- SOPHIA Discussion Guides
- Sources of Data in Sports Marketing
- The Advantages of Big Data in the Film Industry
- The American Motion Picture Industry and Big Data
- The Data Renaissance: Analyzing the Disciplinary Effects of Big Data, Artificial Intelligence, and Beyond [Revised Edition]
- The Ethics of Fake News
- The Ethics of Social Media Use By Children
- The “Fault” in Our Stars
- The Future of AI and Jobs
- The Future of Sports Marketing
- The Limitations of Big Data in the Film Industry
- The Matchmaking Process
- The Shift to “Objective” Stars
- The Use of Matchmaking Data for Competitive Online Multiplayer Gaming
- Types of Learning
- Understanding Big Data
- Understanding Data Literacy Skills
- Untitled Page 01
- Untitled Page 02
- Version History
- Video Games, Microtransactions, and Data
- What is Algorithmic Accountability?
- What Is an Algorithm?
- Who Are We Rating?
- Who Rates the Rater?
- Why Care About Data & Society?
- Wrap-up
- Wrap Up
- Back Matter
- The Data Renaissance: Analyzing the Disciplinary Effects of Big Data, Artificial Intelligence, and Beyond
- Introductory Engineering
- Basic Engineering Science - A Systems, Accounting, and Modeling Approach (Richards)
- Front Matter
- 1: Introduction
- 2: Basic Concepts
- 3: Conservation of Mass
- 4: Conservation of Charge
- 5: Conservation of Linear Momentum
- 6: Conservation of Angular Momentum
- 7: Conservation of Energy
- 8: Entropy Production and Accounting
- 9: Appendices
- 9.1: Appendix A- Solving Engineering Problems - A Problem-Solving Heuristic
- 9.2: Appendix B- Dimensions and Units
- 9.3: Appendix C- Summary of Conservation and Accounting Equations, Unit Conversions, Property Models, Thermophysical Property Data
- 9.4: Supplementary Materials- Course Learning Objectives
- 9.5: Conservation of Energy, the Work-Energy Principle, and the Mechanical Energy Balance
- 9.6: Modeling Devices as Steady-State, Open Systems
- Back Matter
- EGR 1010: Introduction to Engineering for Engineers and Scientists
- Front Matter
- 1: Preface
- 2: Description of topics and computer requirements
- 3: What we intend to learn here
- 4: What is engineering? Who are engineers?
- 5: What is a computer?
- 6: Understanding (how to investigate on your own)
- 7: Operating Systems with Brief History
- 8: Brief History of Popular Programs
- 9: Programming in any language
- 10: Parachute Person
- 11: Historical case studies in Engineering
- 12: Case Study on Nanotechnology
- 13: Student led case study in engineering
- 14: Fundamentals of Engineering
- 14.1: The importance of Units
- 14.2: Arithmetic
- 14.3: Geometry
- 14.4: Analytic Geometry
- 14.5: Scalars, vectors, and tensors
- 14.6: Calculus
- 14.7: Infinitesimal calculus for derivatives
- 14.8: Infinitesimal Calculus for integration
- 14.9: Statistics and Probability
- 14.10: Differential equations
- 14.11: Mechanics
- 14.12: Thermodynamics (Statistical Physics)
- 14.13: Electrical Circuits
- 14.14: Signals and Systems (Control systems)
- 14.15: Optics
- 14.16: Chemistry
- 15: Laboratory Project for Introduction to Engineering
- 16: Beyond the basics of computers
- 17: Documentation and such
- 18: Advanced Programming Concepts
- 19: Using Computers for Engineering and Science
- 20: Program Design Project
- 21: Ethics and Group Dynamics
- 22: Storage of tests of Libretext's ability
- Back Matter
- Introduction to Engineering
- Front Matter
- Chapters
- Front Matter
- Chapter 00: How to use this textbook
- Chapter 01: Is it a bird? Is it a plane?
- Chapter 02: Engineers are Professionals
- Chapter 03: Units, Dimensions, and Conversions
- Chapter 04: Excel Basics
- Chapter 05: Creating Charts in Excel
- Chapter 06: Mathematical Models
- Chapter 07: Introduction to MATLAB
- Chapter 08: MATLAB Scripting and Arrays
- Chapter 09: Math Operations With Arrays
- 1.17: Example of Discussion Post
- 1.18: Example of Interactive Elements
- Chapter 10: MATLAB Plotting
- Chapter 11: Relational and Logical Operators
- Chapter 12: Thinking Algorithmically
- Chapter 13: MATLAB Decisions
- Chapter 14: MATLAB Loops
- Chapter 15: User Defined Functions
- Chapter 16: Technical Presentations
- Back Matter
- Back Matter
- Basic Engineering Science - A Systems, Accounting, and Modeling Approach (Richards)
- Aerospace Engineering
- Aerodynamics and Aircraft Performance 3e (Marchman)
- Front Matter
- 1: Introduction to Aerodynamics
- 2: Propulsion
- 3: Additional Aerodynamics Tools
- 4: Performance in Straight and Level Flight
- 5: Altitude Change - Climb and Guide
- 6: Range and Endurance
- 7: Accelerated Performance - Takeoff and Landing
- 8: Accelerated Performance - Turns
- 9: The Role of Performance in Aircraft Design - Constraint Analysis
- 10: Appendix - Airfoil Data
- Back Matter
- Fundamentals of Aerospace Engineering (Arnedo)
- Front Matter
- 1: The Scope
- 2: Generalities
- 3: Aerodynamics
- 4: Aircraft structures
- 5: Aircraft instruments and systems
- 6: Aircraft propulsion
- 7: Mechanics of flight
- 7.1: Performances
- 7.1.1: Reference frames
- 7.1.2: Hypotheses
- 7.1.3: Aircraft equations of motion
- 7.1.4: Performances in a steady linear flight
- 7.1.5: Performances in steady ascent and descent flight
- 7.1.6: Performances in gliding
- 7.1.7: Performances in turn maneuvers
- 7.1.8: Performances in the runway
- 7.1.9: Range and endurance
- 7.1.10: Payload-range diagram
- 7.2: Stability and control
- 7.3: Problems
- 7.4: References
- 7.1: Performances
- 8: Air transportation
- 9: Airports
- 10: Air navigation- ATM
- 11: Air navigation- CNS
- 12: 6-DOF Equations of Motion
- 13: Hands-on Laboratories
- Back Matter
- Aerodynamics and Aircraft Performance 3e (Marchman)
- Biological Engineering
- Bio-Inspired Sensory Systems (Brooks)
- Alternative Fuels from Biomass Sources (Toraman)
- Front Matter
- 1: Why Alternative Fuels from Biomass?
- 2: Existing Fossil Fuel Technologies for Transportation
- 3: Electricity Generation 101
- 4: Use of Biomass in Thermal Technologies
- 5: Biomass Pyrolysis and Pretreatment
- 6: General Ethanol Production
- 7: Processing to Produce Ethanol and Butanol from Carbohydrates and Enzymes
- 8: Thermochemical Methods to Produce Biofuels
- 8.1: Review of Refinery Processing and Chemical Structures for Jet Fuel and Diesel Fuel
- 8.2: Direction Liquefaction of Biomass
- 8.3: Bioprocessing to Make Jet Fuel
- 8.4: Natural Gas and Synthetic Natural Gas as Feedstocks for Liquid Fuels
- 8.5: Fischer-Tropsch Process to Generate Liquid Fuels
- 8.6: Assignments
- 8.7: Summary and Final Tasks
- 9: Biodiesel Production
- 10: Algae as a Source for Fuels
- 11: Economics of Biomass Production – Ethanol, Butanol, and Biodiesel
- 12: Additional Processes for Fuels from Biomass
- Back Matter
- Introduction to Biosystems Engineering (Holden et al.)
- Food and the Future Environment (Karsten and Vanek)
- Front Matter
- 1: Introduction
- 1: Introduction
- 1.1: The Future of Food- Course Overview
- 1.1.1: 1 Food, Society, and the Environment- Coupled Human-Natural Systems
- 1.1.2: 2 Guided Introductory Reading- Why Environment and Food?
- 1.1.3: 3 Drastic Impacts of Food Production on Planet Earth- The Anthropocene
- 1.1.4: 4 Sustainability- Environments, Communities, and Economics
- 1.1.5: 5 Increasing Interest in Food Systems and Sustainability
- 1.1.6: Formative Assessment- Environment and Food Issues
- 1.2: Food Systems Combine Natural and Human Systems
- 1.2.1: 1 The Systems Concept
- 1.2.2: 2 Complex Systems Behavior- An Example from India
- 1.2.3: 3 Food Systems as Human-Natural Systems
- 1.2.4: Summative Assessment- Concept Mapping and Assessment of Food Systems
- 1.2.4.1: 1. Pennsylvania Dairy Sector- National to Global Scale - Option 1
- 1.2.4.2: 2. Colorado Feedlot Beef Production- National to Global - Option 2
- 1.2.4.3: 3. Asparagus Production in Peru- National to Global - Option 3
- 1.2.4.4: 4. New York City Green Markets- Local to Regional - Option 1
- 1.2.4.5: 5. Diversified Smallholder Production in the Peruvian Andes- Local to Regional - Option 2
- 1.3: Summary and Final Tasks
- 1.1: The Future of Food- Course Overview
- 2: Capstone Project Overview
- 3: Geographic and Historical Context
- 3.1: Origin of Farming as Coevolution and Coupled Human-Nature Interactions
- 3.1.1: 1 Early Hunter-Gatherer Modifications of Environment for Food
- 3.1.2: 2 The Nature and Timing of Agricultural Domestication- Global Patterns
- 3.1.3: 3 Geographical Sites and Ecological Components of Agricultural Domestication
- 3.1.4: 4 Explaining Domestication using Coupled Human-Natural Systems (CHNS)
- 3.2: Historical Development and Change in Food Systems
- 3.2.1: 1 From the Origins of Agriculture to Challenges and Opportunities for the Future of Food
- 3.2.2: 2 Period 1- Domestication, Early Farming, and Widespread Impacts (10,000 BP - 4,000 BP)
- 3.2.3: 3 Period 2- Independent States, World Trade, and Global Colonial Empires (3,000 BP - 1800/1900 CE)
- 3.2.4: 4 Period 3- Modern Industrial Agriculture (1800/1900 CE - Present)
- 3.2.5: 5 Period 4- Sustainability Movements Towards the Future of Food- Quasi-Parallel Ecological Modernization and Alternative Food Networks (2000-Present)
- 3.2.6: Summative Assessment- Drivers and Feedbacks in the Development of Food Systems
- 3.3: Summary and Final Tasks
- 3.1: Origin of Farming as Coevolution and Coupled Human-Nature Interactions
- 4: Diet and Nutrition
- 4.1: Diet and Nutrition Basics for Global Food Systems
- 4.1.1: 1 Energy Sources in Foods- Carbohydrates, Fat, and Protein
- 4.1.2: 2 Protein and Amino Acids- Building Blocks
- 4.1.3: 3 Vitamins and Minerals- Growth, Illness Prevention, and Proper Function
- 4.1.4: 4 High-Quality Fats and Shifting Paradigms Around Fat in Diets
- 4.1.5: 5 Dietary Fiber and Microbes in the Human Gut
- 4.1.6: Formative Assessment- Using a Diet Assessment Tool
- 4.2: Food System Issues for Nutrition
- 4.2.1: 1 Malnutrition (Undernutrition) Among Poor and Vulnerable Populations
- 4.2.2: 2 "Diseases of Affluence"- Not Just for the Affluent
- 4.2.3: 3 Human System Factors in Nutrition- Challenges in the Globalized Food System
- 4.2.4: 4 Local and Alternative/Organic Foods and Food System Challenges
- 4.2.5: 5 The "Happy Medium" in Nutrition and Diets
- 4.3: Summary and Final Tasks
- 4.4: Summative Assessment- Food Access and Food Deserts
- 4.1: Diet and Nutrition Basics for Global Food Systems
- 1: Introduction
- 2: Environmental Dynamics and Drivers
- 5: Food and Water
- 6: Soils as a Key Resource for Food Systems
- 6.1: Soil Basics
- 6.2: Soil Nitrogen and Phosphorus- Human Management of Key Nutrients
- 6.2.1: What is Nutrient Cycling?
- 6.2.2: Soil Depletion and Regeneration- Human Management of Nutrients in Soils
- 6.2.3: Depletion and Regeneration of Soil Organic Matter
- 6.2.4: The Nitrogen Cycle and Human Management of Soils
- 6.2.5: The Phosphorus Cycle and Human Management of Soils
- 6.2.6: Soil Nutrients- Human Systems Aspects
- 6.3: Summary and Final Tasks
- 6.4: Summative Assessment- N and P Balances
- 7: Crops
- 8: Capstone Project Stage 2 Assignment
- 3: Systems Approaches to Managing our Food Systems
- 9: Soils and a Systems Approach to Soil Quality
- 10: Pests and Integrated Pest Management
- 10.1: Insects and Integrated Pest Management
- 10.2: Weeds, Transgenic Crops for Pest Management, and Pathogens
- 10.2.1: 1 Weeds
- 10.2.2: 2 Weed Survival Characteristics
- 10.2.3: 3 Herbicide Resistance
- 10.2.4: 4 Transgenic Crops for Pest Control
- 10.2.5: 5 Insect Resistant Bt Crops
- 10.2.6: 6 Herbicide Resistant Crops
- 10.2.7: 7 Plant Pathogens
- 10.2.8: Summative Assessment- Herbicide Resistant Weed Interpretation and Management of Multiple Pest Types
- 10.3: Summary and Final Tasks
- 11: Food and Climate Change
- 12: Capstone Project Stage 3 Assignment
- 4: Food Systems and Sustainability
- 13: Food Systems
- 13.1: Food Systems
- 13.1.1: Introductory Video on Food Systems
- 13.1.2: Food Systems- Environments, Production, Distribution, and Household Utilization of Food
- 13.1.3: Spatial Scale and Typologies of Food Systems
- 13.1.4: The Globalized Corporate Food System
- 13.1.5: Smallholder Farmer Food Systems
- 13.1.6: Alternative Food Systems- Global and Local Variants
- 13.1.7: Challenges to Producers- Sustainability and "Poverty Traps"
- 13.1.8: Challenges to Producers- Sustainability and "Agriculture of the Middle" in Globalized Food System
- 13.1.9: Food Systems as Coupled Natural-Human Systems
- 13.1.10: Divergence and Transition of Food Systems- Human-Natural Interactions
- 13.2: Assessing Food System Impacts on Natural Systems and Sustainability
- 13.2.1: Earth System Impacts and Energy Use by the Food System
- 13.2.2: Life Cycle Assessment (LCA)- Measuring the Impacts of Systems in Multi-part Processes
- 13.2.3: Using LCAs, Part One- Comparing Costs and Impacts
- 13.2.4: Using LCAs, Part Two- Assessing Hot Spots
- 13.2.5: Summative Assessment- Life Cycle Assessment (LCA) of Energy Use in Potato Production in Smallholder Andean and North American Production Systems
- 13.3: Summary and Final Tasks
- 13.1: Food Systems
- 14: Human-Environment Interactions
- 14.1: Resilience, Adaptive Capacity, and Vulnerability (RACV)- Agrobiodiversity and Seed Systems
- 14.2: Food Access and Food Insecurity
- 14.2.1: Introduction to Food Access, Food Security, and Food-Insecure Conditions
- 14.2.2: Global Overview of Food Insecurity- Food Deficit Map and Required Readings
- 14.2.3: Food Shortages, Chronic Malnutrition, and Famine- Coupled Human-Natural Systems Aspects
- 14.2.4: Summative Assessment- Anatomy of a Somali Famine (2010-2012)
- 14.3: Summary and Final Tasks
- 15: Capstone Project Stage 4 Assignment
- 16: Capstone Project Stage 5
- 13: Food Systems
- Back Matter
- Chemical Engineering
- Supplemental Modules (Chemical Engineering)
- Phase Relations in Reservoir Engineering (Adewumi)
- Front Matter
- 1: Introduction and Purpose
- 2: Phase Diagrams I
- 3: Phase Diagrams II
- 4: Phase Diagrams III
- 5: Phase Diagrams IV
- 6: PT Behavior and Equations of State (EOS) I
- 7: PT Behavior and Equations of State (EOS) II
- 8: PT Behavior and Equations of State III
- 9: Cubic EOS and Their Behavior I
- 10: Cubic EOS and Their Behavior II
- 11: Cubic EOS and Their Behavior III
- 12: Elementary Vapor-Liquid Equilibrium I
- 13: Elementary Vapor-Liquid Equilibrium II
- 14: Thermodynamic Tools I
- 15: Thermodynamic Tools II
- 16: Thermodynamic Tools III
- 17: Vapor-Liquid Equilibrium via EOS
- 18: Properties of Natural Gas and Condensates I
- 19: Properties of Natural Gas and Condensates II
- 20: Engineering Applications I
- 21: Engineering Applications II
- Back Matter
- Distillation Science (Coleman)
- Chemical Engineering Separations: A Handbook for Students (Lamm and Jarboe)
- Foundations of Chemical and Biological Engineering I (Verret, Qiao, Barghout)
- Front Matter
- 1: Introduction to Chemical Processes and Process Diagrams
- 1.1: Project Scoping
- 1.2: Basic Economic Analysis
- 1.3: Introduction to Flowsheeting
- 1.4: Input-Output Diagrams
- 1.5: Block Flow Diagrams
- 1.6: Unit Operations and Material Balances
- 1.7: Process Flow Diagrams (PFDs)
- 1.8: Piping and Instrumentation Diagrams (PandIDs)
- 1.9: Introduction to Chemical Processes and Process Diagrams Review
- 1.10: Practice Exercises
- 2: Reaction Chemistry
- 2.1: Definitions of Reaction Rate and Extent of Reactions
- 2.2: Reaction Rate Law
- 2.3: Reaction Order
- 2.4: Integrated Rate Laws
- 2.5: Equilibrium Reactions
- 2.6: Arrhenius Equation
- 2.7: Reaction Mechanisms - Elementary Reactions
- 2.8: Steady-State Approximation
- 2.9: Kinetic and Thermodynamic Control
- 2.10: Reaction Chemistry Chapter Review
- 2.11: Practice Exercises
- 3: Phase Equilibrium
- 3.1: Pressure Definition; Absolute and Gauge Pressure
- 3.2: Temperature
- 3.3: Intensive and Extensive Variables
- 3.4: Phase Diagram
- 3.5: Gibb's Phase Rule
- 3.6: Ideal Gas Properties
- 3.7: Estimating Vapour Pressure
- 3.8: Multicomponent Equilibrium
- 3.9: Txy Diagram
- 3.10: Pxy Diagram
- 3.11: Phase Equilibrium Chapter Review
- 3.12: Practice Exercises
- 4: Energy Balances
- 5: Unsteady-state Operations and Process Control
- 6: Process Economics
- 7: Green Engineering
- 8: Process Safety
- 9: Appendices
- 9.1: Appendix- Excel Solver Guide
- 9.2: Appendix- Excel Iteration Guide
- 9.3: Appendix- Finding Chemical Pricing Data
- 9.4: Appendix- Finding Chemical Property Data on NIST
- 9.5: Appendix- Finding Chemical Properties Using EPI Suite
- 9.6: Appendix- Resources for Building PFDs and PandIDs
- 9.7: Appendix- Scholarly Societies Relevant to CHBE/CHML Students
- Back Matter
- Civil Engineering
- Structural Analysis (Udoeyo)
- Front Matter
- Chapters
- Front Matter
- 1.1: Introduction to Structural Analysis
- 1.2: Structural Loads and Loading System
- 1.3: Equilibrium Structures, Support Reactions, Determinacy and Stability of Beams and Frames
- 1.4: Internal Forces in Beams and Frames
- 1.5: Internal Forces in Plane Trusses
- 1.6: Arches and Cables
- 1.7: Deflection of Beams- Geometric Methods
- 1.8: Deflections of Structures- Work-Energy Methods
- 1.9: Influence Lines for Statically Determinate Structures
- 1.10: Force Method of Analysis of Indeterminate Structures
- 1.11: Slope-Deflection Method of Analysis of Indeterminate Structures
- 1.12: Moment Distribution Method of Analysis of Structures
- 1.13: Influence Lines for Statically Indeterminate Structures
- Back Matter
- Back Matter
- Book: Building Information - Representation and Management - Fundamentals and Principles (Koutamanis)
- Fundamentals of Transportation
- Book: Introduction to Design Equity (Miller)
- Front Matter
- Chapters
- Front Matter
- 1.1: Introduction
- 1.2: Learning to Talk about Racism
- 1.3: Why History Matters to Design Equity
- 1.4: Health Equity and the Built Environment
- 1.5: Transportation Equity
- 1.6: Information Equity
- 1.7: What is Design Thinking and What does it have to do with Equity?
- 1.8: Discipline-Specific Professional Design Processes and Equity
- Back Matter
- Back Matter
- Book: The Delft Sand, Clay and Rock Cutting Model (Miedema)
- Front Matter
- 1: Introduction
- 2: Basic Soil Mechanics
- 3: The General Cutting Process
- 4: Which Cutting Mechanism for Which Kind of Soil?
- 5: Dry Sand Cutting
- 6: Saturated Sand Cutting
- 6.1: Introduction
- 6.2: Definitions
- 6.3: Cutting Theory Literature
- 6.4: The Equilibrium of Forces
- 6.5: Determination of the Pore Pressures
- 6.6: Numerical Water Pore Pressure Calculations
- 6.7: The Blade Tip Problem
- 6.8: Analytical and Numerical Water Pore Pressure Calculations
- 6.9: Determination of the Shear Angle β
- 6.10: The Coefficients a1 and a2
- 6.11: Determination of the Coefficients c1, c2, d1 and d2
- 6.12: Specific Cutting Energy
- 6.13: Experiments
- 6.14: General Conclusions
- 6.15: The Snow Plough Effect
- 6.16: Nomenclature
- 7: Clay Cutting
- 8: Rock Cutting- Atmospheric Conditions
- 8.1: Introduction
- 8.2: Cutting Process and Failure Criteria
- 8.3: Cutting Models
- 8.4: The Flow Type (Based on the Merchant Model)
- 8.5: Determining the Angle β
- 8.6: The Shear Type, Tear Type and the Chip Type
- 8.7: Correction on the Tear Type and the Chip Type
- 8.8: Specific Energy
- 8.9: Resulting Forces and Mohr Circles
- 8.10: Example
- 8.11: Nomenclature
- 9: Rock Cutting- Hyperbaric Conditions
- 10: The Occurrence of a Wedge
- 11: A Wedge in Dry Sand Cutting
- 12: A Wedge in Saturated Sand Cutting
- 13: A Wedge in Clay Cutting
- 14: A Wedge in Atmospheric Rock Cutting
- 15: A Wedge in Hyperbaric Rock Cutting
- 16: Exercises
- 16.1: Introduction
- 16.2: Chapter2- Basic Soil Mechanics
- 16.3: Chapter 3- The General Cutting Process
- 16.4: Chapter 4- Which Cutting Mechanism for Which Kind of Soil
- 16.5: Chapter 5- Dry Sand Cutting
- 16.6: Chapter 6- Water Saturated Sand Cutting
- 16.7: Chapter 7- Clay Cutting
- 16.8: Chapter 8- Atmospheric Rock Cutting
- 16.9: Chapter 9- Hyperbaric Rock Cutting
- 17: Appendices
- 17.1: Appendix A- Active and Passive Soil Failure Coefficients
- 17.2: Appendix B- Dry Sand Cutting Coefficients
- 17.3: Appendix C- Dimensionless Pore Pressures p1m and p2m
- 17.4: Appendix D- The Shear Angle β Non-Cavitating
- 17.5: Appendix E- The Coefficient c1
- 17.6: Appendix F- The Coefficient c2
- 17.7: Appendix G- The Coefficient a1
- 17.8: Appendix H- The Shear Angle β Cavitating
- 17.9: Appendix I- The Coefficient d1
- 17.10: Appendix J- The Coefficient d2
- 17.11: Appendix K- The Properties of the 200 μm Sand
- 17.12: Appendix L- The Properties of the 105 μm Sand
- 17.13: Appendix M- Experiments in Water Saturated Sand
- 17.14: Appendix N- The Snow Plough Effect
- 17.15: Appendix O- Specific Energy in Sand
- 17.16: Appendix P- Occurrence of a Wedge, Non-Cavitating
- 17.17: Appendix Q- Occurrence of a Wedge, Cavitating
- 17.18: Appendix R- Pore Pressures with Wedge
- 17.19: Appendix S- FEM Calculations with Wedge
- 17.20: Appendix T- Force Triangles
- 17.21: Appendix U- Specific Energy in Clay
- 17.22: Appendix V- Clay Cutting Charts
- 17.23: Appendix W- Rock Cutting Charts
- 17.24: Appendix X- Hyperbaric Rock Cutting Charts
- 17.25: Appendix Y- Applications and Equipment
- 17.26: Appendix Z- Publications
- Back Matter
- Book: All Things Flow - Fluid Mechanics for the Natural Sciences (Smyth)
- Front Matter
- 1: Introduction
- 2: Review of Elementary Linear Algebra
- 3: Cartesian Vectors and Tensors
- 4: Tensor Calculus
- 5: Fluid Kinematics
- 6: Fluid Dynamics
- 6.1: The Leibniz rule
- 6.2: Mass conservation
- 6.3: Momentum conservation
- 6.4: Energy conservation in a Newtonian fluid
- 6.5: The temperature (heat) equation
- 6.6: Equations of state
- 6.7: The advection-diffusion equation for a scalar concentration
- 6.8: Summary: the equations of motion
- 6.9: Boundary conditions
- 6.10: Solution methods
- 7: Vortices
- 8: Waves
- 9: Nonlinear, Hydrostatic Flow Over Topography
- 10: Postface
- 11: Exercises
- 12: Appendix A- Taylor Series Expansions
- 13: Appendix B- Torque and the Moment of Inertia
- 14: Appendix C- Isotropic Tensors
- 15: Appendix D- The Leva-Cevita Alternating Tensor
- 16: Appendix E- Vector Identities
- 17: Appendix F- The Cauchy Stress Tensor
- 18: Appendix G- Boussinesq Approximation
- 19: Appendix H- Bernoulli's Equation
- 20: Appendix I- Vector Operations in Curvilinear Coordinates
- 21: Appendix J- The Stokes Drift
- Back Matter
- Book: Fluid Mechanics (Bar-Meir)
- Front Matter
- 1: Introduction to Fluids
- 2: Review of Thermodynamics
- 3: Review of Mechanics
- 4: Fluids Statics
- 4.1: Introduction
- 4.2: The Hydrostatic Equation
- 4.3: Pressure and Density in a Gravitational Field
- 4.4: Fluid in an Accelerated System
- 4.5: Fluid Forces on Surfaces
- 4.6: Buoyancy and Stability
- 4.7: Rayleigh–Taylor Instability
- 4.8: Qualitative questions
- 5: The Control Volume and Mass Conservation
- 6: Momentum Conservation for Control Volume
- 7: Energy Conservation
- 7.1: The First Law of Thermodynamics
- 7.2: Limitation of Integral Approach
- 7.3 Approximation of Energy Equation
- 7.4: Energy Equation in Accelerated System
- 7.5: Examples of Integral Energy Conservation
- 7.6: Qualitative Questions
- 8: Differential Analysis
- 9: Dimensional Analysis
- 10: Inviscid Flow or Potential Flow
- 11: Compressible Flow One Dimensional
- 11.1 What is Compressible Flow?
- 11.2 Why Compressible Flow is Important?
- 11.3 Speed of Sound
- 11.4 Isentropic Flow
- 11.5 Normal Shock
- 11.6 Qualitative questions
- 11.7 Isothermal Flow
- 11.7: Fanno Flow
- 11.8: The Table for Fanno Flow
- 11.9: Rayleigh Flow
- 12: Compressible Flow 2–Dimensional
- 12.1: Introduction
- 12.2: Oblique Shock
- 12.2.1: Solution of Mach Angle
- 12.2.2: When No Oblique Shock Exist or the case of \(D>0\)
- 12.2.2.1: Large deflection angle for given, \(M_1\)
- 12.2.2.2: The case of \(D\geq 0\) or \(0 \geq\delta\)
- 12.2.2.3: Upstream Mach Number, \(M_1\), and Shock Angle, \(\theta\)
- 12.2.2.4: Given Two Angles, \(\delta\) and \(\theta\)
- 12.2.2.5: Flow in a Semi–2D Shape
- 12.2.2.6: Close and Far Views of the Oblique Shock
- 12.2.2.7: Maximum Value of Oblique shock
- 12.2.2.8: Oblique Shock Examples
- 12.2.3: Application of Oblique Shock
- 12.3: Prandtl-Meyer Function
- 12.4: The Maximum Turning Angle
- 12.5: The Working Equations for the Prandtl-Meyer Function
- 12.6: d'Alembert's Paradox
- 12.7: Flat Body with an Angle of Attack
- 12.8: Examples For Prandtl–Meyer Function
- 12.9: Combination of the Oblique Shock and Isentropic Expansion
- 13: Multi–Phase Flow
- Back Matter
- Intermediate Fluid Mechanics (Liburdy)
- Book: Slurry Transport (Miedema)
- Front Matter
- 1: Introduction
- 2: Dimensionless Numbers and Other Parameters
- 3: Pressure Losses with Homogeneous Liquid Flow
- 3.1: Pipe Wall Shear Stress
- 3.2: The Darcy-Weisbach Friction Factor
- 3.3: The Equivalent Liquid Model
- 3.4: Approximation of the Darcy-Weisbach Friction Factor
- 3.5: The Friction Velocity or Shear Velocity u*
- 3.6: The Thickness of the Viscous Sub Layer δv
- 3.7: The Smallest Eddies
- 3.8: The Relative or Apparent Viscosity
- 3.9: Nomenclature
- 4: The Terminal Settling Velocity of Particles
- 5: Initiation of Motion and Sediment Transport
- 6: Slurry Transport, a Historical Overview
- 6.1: Introduction
- 6.2: Early History
- 6.3: Empirical and Semi-Empirical Models
- 6.4: The Durand and Condolios (1952) School
- 6.5: The Newitt et al. (1955) Model
- 6.6: Silin, Kobernik and Asaulenko (1958) and (1962)
- 6.7: Graf et al. (1970) and Robinson (1971)
- 6.8: Yagi et al. (1972)
- 6.9: A.D. Thomas (1976) and (1979)
- 6.10: The Turian and Yuan (1977) Fit Model
- 6.11: Kazanskij (1978) and (1980)
- 6.12: The IHC-MTI (1998) Model for the Limit Deposit Velocity
- 6.13: Conclusions and Discussion Empirical and Semi-Empirical Models
- 6.14: Nomenclature Early History and Empirical and Semi-Empirical Models
- 6.15: Physical Models
- 6.16: The Wasp et al. (1963) Model
- 6.17: The Wilson-GIW (1979) Models
- 6.18: The Fuhrboter (1961) Model
- 6.19: The Jufin and Lopatin (1966) Model
- 6.20: Charles (1970) and Babcock (1970)
- 6.21: The Doron et al. (1987) and Doron and Barnea (1993) Model
- 6.22: The SRC Model
- 6.23: The Kaushal and Tomita (2002B) Model
- 6.24: The Matousek (2010), (2011) Model
- 6.25: Talmon (2011) and (2013) Homogeneous Regime
- 6.26: Conclusions and Discussion Physical Models
- 6.27: The Limit Deposit Velocity (LDV)
- 6.28: Inclined Pipes
- 6.29: Starting Points DHLLDV Framework
- 7: The Delft Head Loss and Limit Deposit Velocity Framework
- 7.1: Introduction
- 7.2: Flow Regimes and Scenario’s
- 7.3: A Head Loss Model for Fixed Bed Slurry Transport
- 7.4: A Head Loss Model for Sliding Bed Slurry Transport
- 7.5: A Head Loss Model for Heterogeneous Slurry Transport
- 7.6: A Head Loss Model for Homogeneous Slurry Transport
- 7.7: The Sliding Flow Regime
- 7.8: The Limit Deposit Velocity
- 7.9: The Slip Velocity
- 7.10: The Concentration Distribution
- 7.11: The Transition Heterogeneous vs. Homogeneous in Detail
- 7.12: The Bed Height
- 7.13: Influence of the Particle Size Distribution
- 7.14: Inclined Pipes
- 8: Usage of the DHLLDV Framework
- 8.1: Introduction
- 8.2: Default Equations Used In This Book
- 8.3: The Influence of Fines
- 8.4: The Fixed or Stationary Bed Regime
- 8.5: The Sliding Bed Regime
- 8.6: The Heterogeneous Transport Regime
- 8.7: The Homogeneous Transport Regime
- 8.8: The Transition Heterogeneous Regime - Homogeneous Regime
- 8.9: The Sliding Flow Regime
- 8.10: The Resulting Erhg Constant Spatial Volumetric Concentration Curve
- 8.11: Determining the Limit Deposit Velocity
- 8.12: Constructing the Transport Concentration Curves
- 8.13: The Bed Height
- 8.14: The Concentration Distribution
- 8.15: Graded Sands and Gravels
- 8.16: Inclined Pipes
- 8.17: Conclusions and Discussion
- 8.18: Nomenclature DHLLDV Framework
- 9: Comparison of the DHLLDV Framework with Other Models
- 10: Application of the Theory on a Cutter Suction Dredge
- 10.1: Head Loss Equation
- 10.2: The Limit Deposit Velocity
- 10.3: The Resulting Head Loss versus Mixture Flow Graph
- 10.4: The Relative Excess Hydraulic Gradient of Pump and Pipeline
- 10.5: A Segmented Pipeline System
- 10.6: Conclusions and Discussion
- 10.7: Nomenclature Application of the Theory on a Cutter Suction Dredge
- 11: Appendices
- Back Matter
- Structural Analysis (Udoeyo)
- Computer Science
- Programming and Computation Fundamentals
- Introduction to Computer Science (OpenStax)
- Front Matter
- 1: Introduction to Computer Science
- 2: Computational Thinking and Design Reusability
- 3: Data Structures and Algorithms
- 4: Linguistic Realization of Algorithms- Low-Level Programming Languages
- 5: Hardware Realizations of Algorithms- Computer Systems Design
- 6: Infrastructure Abstraction Layer- Operating Systems
- 7: High-Level Programming Languages
- 8: Data Management
- 8.0: Introduction
- 8.1: Data Management Focus
- 8.2: Data Management Systems
- 8.3: Relational Database Management Systems
- 8.4: Nonrelational Database Management Systems
- 8.5: Data Warehousing, Data Lakes, and Business Intelligence
- 8.6: Data Management for Shallow and Deep Learning Applications
- 8.7: Informatics and Data Management
- 8.8: Chapter Review
- 9: Software Engineering
- 10: Enterprise and Solution Architectures Management
- 11: Web Applications Development
- 11.0: Introduction
- 11.1: Modern Web Applications Architectures
- 11.2: Sample Responsive WAD with Bootstrap and Django
- 11.3: Sample Responsive WAD with Bootstrap/React and Node
- 11.4: Sample Responsive WAD with Bootstrap/React and Django
- 11.5: Sample Native WAD with React Native and Node or Django
- 11.6: Sample Ethereum Blockchain Web 2.0/Web 3.0 Application
- 11.7: Chapter Review
- 12: Cloud-Native Applications Development
- 13: Hybrid Multicloud Digital Solutions Development
- 14: Cyber Resources Qualities and Cyber Computing Governance
- 15: Appendix
- Back Matter
- Foundations of Computation (Critchlow and Eck)
- Delftse Foundations of Computation
- Front Matter
- 1: Logic
- 2: Proof
- 3: Sets, Functions, and Relations
- 4: Looking Beyond
- Back Matter
- Programming Fundamentals (Busbee and Braunschweig)
- Front Matter
- 1: Introduction to Programming
- 1.1: Systems Development Life Cycle
- 1.2: Program Design
- 1.3: Program Quality
- 1.4: Pseudocode
- 1.5: Flowcharts
- 1.6: Software Testing
- 1.7: Integrated Development Environment
- 1.8: Version Control
- 1.9: Input and Output
- 1.10: Hello World
- 1.11: C++ Examples
- 1.12: C# Examples
- 1.13: Java Examples
- 1.14: JavaScript Examples
- 1.15: Python Examples
- 1.16: Swift Examples
- 1.17: Practice- Introduction to Programming
- 2: Data and Operators
- 2.1: Constants and Variables
- 2.2: JavaScript Examples
- 2.3: Python Examples
- 2.4: Swift Examples
- 2.5: Practice- Data and Operators
- 2.6: Identifier Names
- 2.7: Data Types
- 2.8: Integer Data Type
- 2.9: Floating-Point Data Type
- 2.10: String Data Type
- 2.11: Boolean Data Type
- 2.12: Nothing Data Type
- 2.13: Order of Operations
- 2.14: Assignment
- 2.15: Arithmetic Operators
- 2.16: Integer Division and Modulus
- 2.17: Unary Operations
- 2.18: Lvalue and Rvalue
- 2.19: Data Type Conversions
- 2.20: Input-Process-Output Model
- 2.21: C++ Examples
- 2.22: C# Examples
- 2.23: Java Examples
- 3: Functions
- 3.1: Modular Programming
- 3.2: Hierarchy or Structure Chart
- 3.3: Function Examples
- 3.4: Parameters and Arguments
- 3.5: Call by Value vs. Call by Reference
- 3.6: Return Statement
- 3.7: Void Data Type
- 3.8: Scope
- 3.9: Programming Style
- 3.10: Standard Libraries
- 3.11: C++ Examples
- 3.12: C# Examples
- 3.13: Java Examples
- 3.14: JavaScript Examples
- 3.15: Python Examples
- 3.16: Swift Examples
- 3.17: Practice- Functions
- 4: Conditions
- 4.1: Structured Programming
- 4.2: Selection Control Structures
- 4.3: If Then Else
- 4.4: Code Blocks
- 4.5: Relational Operators
- 4.6: Assignment vs Equality
- 4.7: Logical Operators
- 4.8: Nested If Then Else
- 4.9: Case Control Structure
- 4.10: Condition Examples
- 4.11: C++ Examples
- 4.12: C# Examples
- 4.13: Java Examples
- 4.14: JavaScript Examples
- 4.15: Python Examples
- 4.16: Swift Examples
- 4.17: Practice- Conditions
- 5: Loops
- 5.1: Iteration Control Structures
- 5.2: While Loop
- 5.3: Do While Loop
- 5.4: Flag Concept
- 5.5: For Loop
- 5.6: Branching Statements
- 5.7: Increment and Decrement Operators
- 5.8: Integer Overflow
- 5.9: Nested For Loops
- 5.10: Loop Examples
- 5.11: C++ Examples
- 5.12: C# Examples
- 5.13: Java Examples
- 5.14: JavaScript Examples
- 5.15: Python Examples
- 5.16: Swift Examples
- 5.17: Practice- Loops
- 6: Arrays and Lists
- 6.1: Arrays and Lists
- 6.2: Index Notation
- 6.3: Displaying Array Members
- 6.4: Arrays and Functions
- 6.5: Math Statistics with Arrays
- 6.6: Searching Arrays
- 6.7: Sorting Arrays
- 6.8: Parallel Arrays
- 6.9: Multidimensional Arrays
- 6.10: Dynamic Arrays
- 6.11: C++ Examples
- 6.12: C# Examples
- 6.13: Java Examples
- 6.14: JavaScript Examples
- 6.15: Python Examples
- 6.16: Swift Examples
- 6.17: Practice- Arrays and Lists
- 7: Strings and Files
- 8: Object-Oriented Programming
- Back Matter
- Programming Fundamentals - A Modular Structured Approach using C++ (Busbee)
- Front Matter
- 00: Front Matter
- 1: Introduction, Preface and Syllabus
- 2: Introduction to Programming
- 3: Program Planning and Design
- 4: Data and Operators
- 5: Often Used Data Types
- 6: Integrated Development Environment
- 7: Program Control Functions
- 8: Specific Task Functions
- 9: Standard Libraries
- 10: Character Data, Sizeof, Typedef, Sequence
- 11: Introduction to Structured Programming
- 12: Two Way Selection
- 13: Multiway Selection
- 14: Test After Loops
- 15: Test Before Loops
- 16: Counting Loops
- 17: String Class, Unary Positive and Negative
- 18: Conditional Operator and Recursion
- 19: Introduction to Arrays
- 20: File I/O and Array Functions
- 21: More Array Functions
- 22: More on Typedef
- 23: Pointers
- 24: More Arrays and Compiler Directives
- 25: OOP and HPC
- 26: Review Materials
- 27: Appendix
- Back Matter
- Back Matter
- Structure and Interpretation of Computer Programs (Abelson, Sussman, and Sussman)
- Object-Oriented Reengineering Patterns (Demeyer, Ducasse, and Nierstrasz)
- Front Matter
- 1: Reengineering Patterns
- 2: Setting Direction
- 3: First Contact
- 4: Initial Understanding
- 5: Detailed Model Capture
- 6: Tests — Your Life Insurance!
- 7: Migration Strategies
- 7.1: Migration Strategies
- 7.2: Involve the Users
- 7.3: Build Confidence
- 7.4: Migrate Systems Incrementally
- 7.5: Prototype the Target Solution
- 7.6: Always Have a Running Version
- 7.7: Regression Test After Every Change
- 7.8: Make a Bridge to the New Town
- 7.9: Present the Right Interface
- 7.10: Distinguish Public from Published Interface
- 7.11: Deprecate Obsolete Interfaces
- 7.12: Conserve Familiarity
- 7.13: Use Profiler Before Optimizing
- 8: Detecting Duplicated Code
- 9: Redistribute Responsibilities
- 10: Transform Conditionals to Polymorphism
- 11: Appendix A – Thumbnail Patterns
- Back Matter
- Algorithm Design and Analysis (Justo)
- Mathematics for Computer Science (Lehman, Leighton, and Meyer)
- Front Matter
- 1: Proofs
- 2: Structures
- 8: Number Theory
- 8.1: Divisibility
- 8.2: The Greatest Common Divisor
- 8.3: Prime Mysteries
- 8.4: The Fundamental Theorem of Arithmetic
- 8.5: Alan Turing
- 8.6: Modular Arithmetic
- 8.7: Remainder Arithmetic
- 8.8: Turing’s Code (Version 2.0)
- 8.9: Multiplicative Inverses and Cancelling
- 8.10: Euler's Theorem
- 8.11: RSA Public Key Encryption
- 8.12: What has SAT got to do with it?
- 9: Directed graphs and Partial Orders
- 10: Communication Networks
- 11: Simple Graphs
- 12: Planar Graphs
- 8: Number Theory
- 3: Counting
- 4: Probability
- 5: Recurrences
- Back Matter
- Principles of Computer System Design (Saltzer and Kaashoek)
- Front Matter
- 1: The Network as a System and as a System Component
- 1.1: Overview
- 1.2: Interesting Properties of Networks
- 1.3: Getting Organized - Layers
- 1.4: The Link Layer
- 1.5: The Network Layer
- 1.6: The End-to-End Layer
- 1.7: A Network System Design Issue - Congestion Control
- 1.8: Wrapping Up Networks
- 1.9: Case Study - Mapping the Internet to the Ethernet
- 1.10: War Stories - Surprises in Protocol Design
- 1.11: Exercises
- 2: Fault Tolerance - Reliable Systems from Unreliable Components
- 2.1: Overview
- 2.2: Faults, Failures, and Fault-Tolerant Design
- 2.3: Measures of Reliability and Failure Tolerance
- 2.4: Tolerating Active Faults
- 2.5: Systematically Applying Redundancy
- 2.6: Applying Redundancy to Software and Data
- 2.7: Wrapping Up Reliability
- 2.8: Application - A Fault Tolerance Model for CMOS RAM
- 2.9: War Stories - Fault-Tolerant Systems That Failed
- 2.10: Exercises
- 3: Atomicity - All-or-nothing and Before-or-after
- 3.1: Overview
- 3.2: Atomicity
- 3.3: All-Or-Nothing Atomicity I - Concepts
- 3.4: All-Or-Nothing Atomicity II - Pragmatics
- 3.5: Before-Or-After Atomicity I - Concepts
- 3.6: Before-Or-After Atomicity II - Pragmatics
- 3.7: Atomicity Across Layers and Multiple Sites
- 3.8: A More Complete Model of Disk Failure (Advanced Topic)
- 3.9: Case Studies - Machine Language Atomicity
- 3.10: Exercises
- 4: Consistency
- 5: Information Security
- 5.1: Overview
- 5.2: Introduction to Secure Systems
- 5.3: Authenticating Principals
- 5.4: Authenticating Messages
- 5.5: Message Confidentiality
- 5.6: Security Protocols
- 5.7: Authorization-Controlled Sharing
- 5.8: Reasoning About Authentication (Advanced Topic)
- 5.9: Cryptography as a Building Block (Advanced Topic)
- 5.10: Summary
- 5.11: Case Study - Transport Layer Security (TLS) for the Web
- 5.12: War Stories - Security System Breaches
- 5.13: Exercises
- 6: Ancillary Materials
- Back Matter
- Computer Science from the Bottom Up (Wienand)
- High Performance Computing (Severance)
- An Introduction to Ontology Engineering (Keet)
- Front Matter
- 1: How to Use the Book
- 2: Introduction to Ontology Engineering
- 3: First Order Logic and Automated Reasoning in a Nutshell
- 4: Description Logics
- 5: The Web Ontology Language OWL 2
- 6: Methods and Methodologies
- 7: Top-Down Ontology Development
- 8: Bottom-up Ontology Development
- 9: Ontology-Based Data Access
- 10: Ontologies and Natural Languages
- 11: Advanced Modeling with Additional Language Features
- 12: Bibliography
- 13: Assignments
- Back Matter
- Introduction to Computer Science (OpenStax)
- Programming Languages
- Byte of Python (Swaroop CH)
- Front Matter
- Chapters
- Front Matter
- 1.1: About Python
- 1.2: Installation
- 1.3: First Steps
- 1.4: Basics
- 1.5: Operators and Expressions
- 1.6: Control flow
- 1.7: Functions
- 1.8: Modules
- 1.9: Data Structures
- 1.10: Problem Solving
- 1.11: Object Oriented Programming
- 1.12: Input and Output
- 1.13: Exceptions
- 1.14: Standard Library
- 1.15: More
- Back Matter
- Back Matter
- Python for Everybody (Severance)
- Front Matter
- 1: Introduction
- 1.1: Why should you learn to write programs?
- 1.2: Creativity and Motivation
- 1.3: Computer Hardware Architecture
- 1.4: Understanding Programming
- 1.5: Words and Sentences
- 1.6: Conversing with Python
- 1.7: Terminology - Interpreter and Compiler
- 1.8: Writing a Program
- 1.9: What is a program?
- 1.E: Introduction (Exercises)
- 1.G: Introduction (Glossary)
- 1.10: The Building Blocks of Programs
- 1.11: What could possibly go wrong?
- 1.12: The Learning Journey
- 2: Variables, Expressions, and Statements
- 2.1: Values and Types
- 2.2: Variables
- 2.3: Variable names and Keywords
- 2.4: Statements
- 2.5: Operators and Operands
- 2.6: Expressions
- 2.7: Order of Operations
- 2.8: Modulus Operator
- 2.9: String Operations
- 2.E: Variables, Expressions, and Statements (Exercises)
- 2.G: Glossary
- 2.10: Asking the user for input
- 2.11: Comments
- 2.12: Choosing Mnemonic Variable Names
- 2.13: Debugging
- 3: Conditional Execution
- 3.1: Boolean Expressions
- 3.2: Logical Operators
- 3.3: Conditional Execution
- 3.4: Alternative Execution
- 3.5: Chained Conditionals
- 3.6: Nested Conditionals
- 3.7: Catching exceptions Using Try and Except
- 3.8: Short-Circuit Evaluation of Logical Expressions
- 3.9: Debugging
- 3.E: Conditional Execution (Exercises)
- 3.G: Conditional Execution (Glossary)
- 4: Functions
- 4.1: Function Calls
- 4.2: Built-in Functions
- 4.3: Type Conversion Functions
- 4.4: Random Numbers
- 4.5: Math Functions
- 4.6: Adding New Functions
- 4.7: Definitions and Uses
- 4.8: Flow of Execution
- 4.9: Parameters and Arguments
- 4.E: Functions (Exercises)
- 4.G: Functions (Glossary)
- 4.10: Fruitful functions and void functions
- 4.11: Why functions?
- 4.12: Debugging
- 5: Iterations
- 5.1: Updating Variables
- 5.2: The while Statement
- 5.3: Infinite Loops
- 5.4: "Infinite loops" and break
- 5.5: Finishing iterations with continue
- 5.6: Definite loops using for
- 5.7: Loop patterns
- 5.8: Counting and Summing Loops
- 5.9: Maximum and Minimum Loops
- 5.E: Iterations (Exercises)
- 5.G: Iterations (Glossary)
- 5.10: Debugging
- 6: Strings
- 6.1: A string is a sequence
- 6.2: Getting the length of a string using len
- 6.3: Traversal through a string with a loop
- 6.4: String Slices
- 6.5: Strings are immutable
- 6.6: Looping and Counting
- 6.7: The in operator
- 6.8: String Comparison
- 6.9: String Methods
- 6.E: Strings (Exercises)
- 6.G: Strings (Glossary)
- 6.10: Parsing strings
- 6.11: Format operator
- 6.12: Debugging
- 7: Files
- 8: Lists
- 8.1: A list is a sequence
- 8.2: Lists are mutable
- 8.3: Traversing a List
- 8.4: List operations
- 8.5: List Slices
- 8.6: List Methods
- 8.7: Deleting Elements
- 8.8: Lists and Functions
- 8.9: Lists and Strings
- 8.E: Lists (Exercises)
- 8.G: Lists (Glossary)
- 8.10: Parsing lines
- 8.11: Objects and Values
- 8.12: Aliasing
- 8.13: List arguments
- 8.14: Debugging
- 9: Dictionaries
- 10: Tuples
- 10.1: Tuples are Immutable
- 10.2: Comparing Tuples
- 10.3: Tuple Assignment
- 10.4: Dictionaries and Tuples
- 10.5: Multiple assignment with dictionaries
- 10.6: The most common words
- 10.7: Using Tuples as Keys in Dictionaries
- 10.8: Sequences- strings, lists, and tuples - Oh My!
- 10.9: Debugging
- 10.E: Tuples (Exercises)
- 10.G: Tuples (Glossary)
- 11: Regular Expressions
- 11.1: Regular Expressions
- 11.2: Character matching in regular expressions
- 11.3: Extracting data using regular expressions
- 11.4: Combining searching and extracting
- 11.5: Escape Character
- 11.6: Bonus section for Unix / Linux users
- 11.7: Debugging
- 11.E: Regular Expressions (Exercises)
- 11.G: Regular Expressions (Glossary)
- 11.S: Regular Expressions (Summary)
- 12: Networked Programs
- 12.1: HyperText Transfer Protocol - HTTP
- 12.2: The World's Simplest Web Browser
- 12.3: Retrieving an image over HTTP
- 12.4: Retrieving web pages with urllib
- 12.5: Parsing HTML and scraping the web
- 12.6: Parsing HTML using regular expressions
- 12.7: Parsing HTML using BeautifulSoup
- 12.8: Reading binary files using urllib
- 12.E: Networked Programs (Exercises)
- 12.G: Networked Programs (Glossary)
- 13: Python and Web Services
- 13.1: eXtensible Markup Language - XML
- 13.2: Looping through Nodes
- 13.3: JavaScript Object Notation - JSON
- 13.4: Parsing JSON
- 13.5: Application Programming Interfaces
- 13.6: Google geocoding web service
- 13.7: Security and API usage
- 13.E: Python and Web Services (Exercises)
- 13.G: Python and Web Services (Glossary)
- 14: Object-Oriented Programming
- 14.1: Managing Larger Programs
- 14.2: Getting Started
- 14.3: Using Objects
- 14.4: Starting with Programs
- 14.5: Subdividing a Problem - Encapsulation
- 14.6: Our First Python Object
- 14.7: Classes as Types
- 14.8: Many Instances
- 14.9: Object Lifecycle
- 14.G: Object-Oriented Programming (Glossary)
- 14.S: Object-Oriented Programming (Summary)
- 14.10: Inheritance
- 15: Using Databases and SQL
- 15.1: What is a database?
- 15.2: Database Concepts
- 15.3: Database Browser for SQLite
- 15.4: Creating a database table
- 15.5: Structured Query Language summary
- 15.6: Spidering Twitter using a database
- 15.7: Basic data modeling
- 15.8: Programming with Multiple Tables
- 15.9: Constraints in Database Tables
- 15.G: Using Databases and SQL (Glossary)
- 15.S: Using Databases and SQL (Summary)
- 15.10: Retrieve and/or insert a record
- 15.11: Storing the friend relationship
- 15.12: Three Kinds of Keys
- 15.13: Using JOIN to retrieve data
- 15.14: Degugging
- 16: Visualizing data
- Back Matter
- Making Games with Python and Pygame (Sweigart)
- Front Matter
- 1: Introduction
- 2: Installing Python and Pygame
- Front Matter
- 2.1: What You Should Know Before You Begin
- 2.2: Downloading and Installing Python
- 2.3: Windows Instructions
- 2.4: Mac OS X Instructions
- 2.5: Ubuntu and Linux Instructions
- 2.6: Starting Python
- 2.7: Installing Pygame
- 2.8: How to Use This Book
- 2.9: The Featured Programs
- 2.10: Downloading Graphics and Sound Files
- 2.11: Line Numbers and Spaces
- 2.12: Text Wrapping in This Book
- 2.13: Checking Your Code Online
- 2.14: More Info Links on invpy.com
- Back Matter
- 3: Pygame Basics
- Front Matter
- 3.1: GUI vs. CLI
- 3.2: Source Code for Hello World with Pygame
- 3.3: Setting Up a Pygame Program
- 3.4: Game Loops and Game States
- 3.5: pygame.event.Event Objects
- 3.6: The QUIT Event and pygame.quit() Function
- 3.7: Pixel Coordinates
- 3.8: A Reminder About Functions, Methods, Constructor Functions, and Functions in Modules (and the Difference Between Them)
- 3.9: Surface Objects and The Window
- 3.10: Colors
- 3.11: Transparent Colors
- 3.12: pygame.Color Objects
- 3.13: Rect Objects
- 3.14: Primitive Drawing Functions
- 3.15: pygame.PixelArray Objects
- 3.16: The pygame.display.update() Function
- 3.17: Animation
- 3.18: Frames Per Second and pygame.time.Clock Objects
- 3.19: Drawing Images with pygame.image.load() and blit()
- 3.20: Fonts
- 3.21: Anti-Aliasing
- 3.22: Playing Sounds
- 3.23: Summary
- Back Matter
- 4: Memory Puzzle
- Front Matter
- 4.1: How to Play Memory Puzzle
- 4.2: Nested for Loops
- 4.3: Source Code of Memory Puzzle
- 4.4: Credits and Imports
- 4.5: Magic Numbers are Bad
- 4.6: Sanity Checks with assert Statements
- 4.7: Telling If a Number is Even or Odd
- 4.8: Crash Early and Crash Often!
- 4.9: Making the Source Code Look Pretty
- 4.10: Using Constant Variables Instead of Strings
- 4.11: Making Sure We Have Enough Icons
- 4.12: Tuples vs. Lists, Immutable vs. Mutable
- 4.13: One Item Tuples Need a Trailing Comma
- 4.14: Converting Between Lists and Tuples
- 4.15: The global Statement, and Why Global Variables are Evil
- 4.16: Data Structures and 2D Lists
- 4.17: The “Start Game” Animation
- 4.18: The Game Loop
- 4.19: The Event Handling Loop
- 4.20: Checking Which Box The Mouse Cursor is Over
- 4.21: Handling the First Clicked Box
- 4.22: Handling a Mismatched Pair of Icons
- 4.23: Handling If the Player Won
- 4.24: Drawing the Game State to the Screen
- 4.25: Creating the “Revealed Boxes” Data Structure
- 4.26: Creating the Board Data Structure- Step 1 – Get All Possible Icons
- 4.27: Step 2 – Shuffling and Truncating the List of All Icons
- 4.28: Step 3 – Placing the Icons on the Board
- 4.29: Splitting a List into a List of Lists
- 4.30: Different Coordinate Systems
- 4.31: Converting from Pixel Coordinates to Box Coordinates
- 4.32: Drawing the Icon, and Syntactic Sugar
- 4.33: Syntactic Sugar with Getting a Board Space’s Icon’s Shape and Color
- 4.34: Drawing the Box Cover
- 4.35: Handling the Revealing and Covering Animation
- 4.36: Drawing the Entire Board
- 4.37: Drawing the Highlight
- 4.38: The "Start Game" Animation
- 4.39: Revealing and Covering the Groups of Boxes
- 4.40: The “Game Won” Animation
- 4.41: Telling if the Player Has Won
- 4.42: Why Bother Having a main() Function?
- 4.43: Why Bother With Readability?
- 4.44: Summary, and a Hacking Suggestion
- Back Matter
- 5: Slide Puzzle
- Front Matter
- 5.1: How to Play Slide Puzzle
- 5.2: Source Code to Slide Puzzle
- 5.3: Second Verse, Same as the First
- 5.4: Setting Up the Buttons
- 5.5: Being Smart By Using Stupid Code
- 5.6: The Main Game Loop
- 5.7: Clicking on the Buttons
- 5.8: Sliding Tiles with the Mouse
- 5.9: Sliding Tiles with the Keyboard
- 5.10: “Equal To One Of” Trick with the in Operator
- 5.11: WASD and Arrow Keys
- 5.12: Actually Performing the Tile Slide
- 5.13: IDLE and Terminating Pygame Programs
- 5.14: Checking for a Specific Event, and Posting Events to Pygame’s Event Queue
- 5.15: Creating the Board Data Structure
- 5.16: Not Tracking the Blank Position
- 5.17: Making a Move by Updating the Board Data Structure
- 5.18: When NOT to Use an Assertion
- 5.19: Getting a Not-So-Random Move
- 5.20: Converting Tile Coordinates to Pixel Coordinates
- 5.21: Converting from Pixel Coordinates to Board Coordinates
- 5.22: Drawing a Tile
- 5.23: The Making Text Appear on the Screen
- 5.24: Drawing the Board
- 5.25: Drawing the Border of the Board
- 5.26: Drawing the Buttons
- 5.27: Animating the Tile Slides
- 5.28: The copy() Surface Method
- 5.29: Creating a New Puzzle
- 5.30: Animating the Board Reset
- 5.31: Time vs. Memory Tradeoffs
- 5.32: Nobody Cares About a Few Bytes
- 5.33: Nobody Cares About a Few Million Nanoseconds
- 5.34: Summary
- Back Matter
- 6: Simulate
- Front Matter
- 6.1: How to Play Simulate
- 6.2: Source Code to Simulate
- 6.3: The Usual Starting Stuff
- 6.4: Setting Up the Buttons
- 6.5: The main() Function
- 6.6: Some Local Variables Used in This Program
- 6.7: Drawing the Board and Handling Input
- 6.8: Checking for Mouse Clicks
- 6.9: Checking for Keyboard Presses
- 6.10: The Two States of the Game Loop
- 6.11: Figuring Out if the Player Pressed the Right Buttons
- 6.12: Epoch Time
- 6.13: Drawing the Board to the Screen
- 6.14: Same Old terminate() Function
- 6.15: Reusing The Constant Variables
- 6.16: Animating the Button Flash
- 6.17: Drawing the Buttons
- 6.18: Animating the Background Change
- 6.19: The Game Over Animation
- 6.20: Converting from Pixel Coordinates to Buttons
- 6.21: Explicit is Better Than Implicit
- Back Matter
- 7: Wormy
- Front Matter
- 7.1: How to Play Wormy
- 7.2: Source Code to Wormy
- 7.3: The Grid
- 7.4: The Setup Code
- 7.5: The main() Function
- 7.6: A Separate runGame() Function
- 7.7: The Event Handling Loop
- 7.8: Collision Detection
- 7.9: Detecting Collisions with the Apple
- 7.10: Moving the Worm
- 7.11: The insert() List Method
- 7.12: Drawing the Screen
- 7.13: Drawing “Press a key” Text to the Screen
- 7.14: The checkForKeyPress() Function
- 7.15: The Start Screen
- 7.16: Rotating the Start Screen Text
- 7.17: Rotations Are Not Perfect
- 7.18: Deciding Where the Apple Appears
- 7.19: Game Over Screens
- 7.20: Drawing Functions
- 7.21: Don’t Reuse Variable Names
- Back Matter
- 8: Tetromino
- Front Matter
- 8.1: How to Play Tetromino
- 8.2: Some Tetromino Nomenclature
- 8.3: Source Code to Tetromino
- 8.4: The Usual Setup Code
- 8.5: Setting up Timing Constants for Holding Down Keys
- 8.6: More Setup Code
- 8.7: Setting Up the Piece Templates
- 8.8: Splitting a “Line of Code” Across Multiple Lines
- 8.9: The main() Function
- 8.10: The Start of a New Game
- 8.11: The Game Loop
- 8.12: The Event Handling Loop
- 8.13: Pausing the Game
- 8.14: Using Movement Variables to Handle User Input
- 8.15: Checking if a Slide or Rotation is Valid
- 8.16: Finding the Bottom
- 8.17: Moving by Holding Down the Key
- 8.18: Letting the Piece “Naturally” Fall
- 8.19: Drawing Everything on the Screen
- 8.20: makeTextObjs(), A Shortcut Function for Making Text
- 8.21: The Same Old terminate() Function
- 8.22: Waiting for a Key Press Event with the checkForKeyPress() Function
- 8.23: showTextScreen(), A Generic Text Screen Function
- 8.24: The checkForQuit() Function
- 8.25: The calculateLevelAndFallFreq() Function
- 8.26: Generating Pieces with the getNewPiece() Function
- 8.27: Adding Pieces to the Board Data Structure
- 8.28: Creating a New Board Data Structure
- 8.29: The isOnBoard() and isValidPosition() Functions
- 8.30: Checking for, and Removing, Complete Lines
- 8.31: Convert from Board Coordinates to Pixel Coordinates
- 8.32: Drawing a Box on the Board or Elsewhere on the Screen
- 8.33: Drawing Everything to the Screen
- 8.34: Drawing the Score and Level Text
- 8.35: Drawing a Piece on the Board or Elsewhere on the Screen
- 8.36: Drawing the “Next” Piece
- 8.37: Summary
- Back Matter
- 9: Squirrel Eat Squirrel
- Front Matter
- 9.1: How to Play Squirrel Eat Squirrel
- 9.2: The Design of Squirrel Eat Squirrel
- 9.3: Source Code to Squirrel Eat Squirrel
- 9.4: The Usual Setup Code
- 9.5: Describing the Data Structures
- 9.6: The main() Function
- 9.7: The pygame.transform.flip() Function
- 9.8: A More Detailed Game State than Usual
- 9.9: The Usual Text Creation Code
- 9.10: Cameras
- 9.11: The “Active Area”
- 9.12: Keeping Track of the Location of Things in the Game World
- 9.13: Starting Off with Some Grass
- 9.14: The Game Loop
- 9.15: Checking to Disable Invulnerability
- 9.16: Moving the Enemy Squirrels
- 9.17: Removing the Far Away Grass and Squirrel Objects
- 9.18: When Deleting Items in a List, Iterate Over the List in Reverse
- 9.19: Adding New Grass and Squirrel Objects
- 9.20: Camera Slack, and Moving the Camera View
- 9.21: Drawing the Background, Grass, Squirrels, and Health Meter
- 9.22: The Event Handling Loop
- 9.23: Moving the Player, and Accounting for Bounce
- 9.24: Collision Detection- Eat or Be Eaten
- 9.25: The Game Over Screen
- 9.26: Winning
- 9.27: Drawing a Graphical Health Meter
- 9.28: The Same Old terminate() Function
- 9.29: The Mathematics of the Sine Function
- 9.30: Backwards Compatibility with Python Version 2
- 9.31: The getRandomVelocity() Function
- 9.32: Finding a Place to Add New Squirrels and Grass
- 9.33: Creating Enemy Squirrel Data Structures
- 9.34: Flipping the Squirrel Image
- 9.35: Creating Grass Data Structures
- 9.36: Checking if Outside the Active Area
- 9.37: Summary
- Back Matter
- 10: Star Pusher
- Front Matter
- 10.1: How to Play Star Pusher
- 10.2: Source Code to Star Pusher
- 10.3: The Initial Setup
- 10.4: Data Structures in Star Pusher
- 10.5: The “Game State” Data Structure
- 10.6: The “Map” Data Structure
- 10.7: The “Levels” Data Structure
- 10.8: Reading and Writing Text Files
- 10.9: Text Files and Binary Files
- 10.10: Writing to Files
- 10.11: Reading from Files
- 10.12: About the Star Pusher Map File Format
- 10.13: Recursive Functions
- 10.14: Stack Overflows
- 10.15: Preventing Stack Overflows with a Base Case
- 10.16: The Flood Fill Algorithm
- 10.17: Drawing the Map
- 10.18: Checking if the Level is Finished
- 10.19: Summary
- Back Matter
- 11: Four Extra Games
- Front Matter
- 11.1: Flippy, an “Othello” Clone
- 11.2: Source Code for Flippy
- 11.3: Ink Spill, a “Flood It” Clone
- 11.4: Source Code for Ink Spill
- 11.5: Four-In-A-Row, a “Connect Four” Clone
- 11.6: Source Code for Four-In-A-Row
- 11.7: Gemgem, a “Bejeweled” Clone
- 11.8: Source Code for Gemgem
- 11.9: Summary
- Back Matter
- Back Matter
- Think Python 2e (Downey)
- Front Matter
- 0: Preface
- 1: The way of the program
- 2: Variables, expressions and statements
- 3: Functions
- 3.1: Function calls
- 3.2: Math functions
- 3.3: Composition
- 3.4: Adding new functions
- 3.5: Definitions and uses
- 3.6: Flow of execution
- 3.7: Parameters and arguments
- 3.8: Variables and parameters are local
- 3.9: Stack diagrams
- 3.10: Fruitful functions and void functions
- 3.11: Why functions?
- 3.12: Debugging
- 3.13: Glossary
- 3.14: Exercises
- 4: Case study - interface design
- 5: Conditionals and recursion
- 5.1: Floor division and modulus
- 5.2: Boolean expressions
- 5.3: Logical operators
- 5.4: Conditional execution
- 5.5: Alternative execution
- 5.6: Chained conditionals
- 5.7: Nested conditionals
- 5.8: Recursion
- 5.9: Stack diagrams for recursive functions
- 5.10: Infinite recursion
- 5.11: Keyboard input
- 5.12: Debugging
- 5.13: Glossary
- 5.14: Exercises
- 6: Fruitful functions
- 7: Iteration
- 8: Strings
- 9: Case study - word play
- 10: Lists
- 10.1: A list is a sequence
- 10.2: Lists are mutable
- 10.3: Traversing a list
- 10.4: List operations
- 10.5: List slices
- 10.6: List methods
- 10.7: Map, filter and reduce
- 10.8: Deleting elements
- 10.9: Lists and strings
- 10.10: Objects and values
- 10.11: Aliasing
- 10.12: List arguments
- 10.13: Debugging
- 10.14: Glossary
- 10.15: Exercises
- 11: Dictionaries
- 12: Tuples
- 13: Case study - data structure selection
- 14: Files
- 15: Classes and objects
- 16: Classes and functions
- 17: Classes and methods
- 17.1: Object-oriented features
- 17.2: Printing objects
- 17.3: Another example
- 17.4: A more complicated example
- 17.5: The init method
- 17.6: The __str__ method
- 17.7: Operator overloading
- 17.8: Type-based dispatch
- 17.9: Polymorphism
- 17.10: Debugging
- 17.11: Interface and implementation
- 17.12: Glossary
- 17.13: Exercises
- 18: Inheritance
- 19: The Goodies
- 20: Appendix A - Debugging
- 21: Appendix B - Analysis of Algorithms
- Back Matter
- Think Python - How to Think Like a Computer Scientist (Downey)
- Front Matter
- 1: Lists
- 2: Dictionaries
- 3: Tuples
- 4: Case Study- Data Structure Selection
- 5: Files
- 6: Classes and Objects
- 7: Classes and Functions
- 8: Classes and Methods
- 9: Inheritance
- 10: Case Study- Tkinter
- 11: The Way of The Program
- 12: Appendix A- Debugging
- 13: Appendix B- Analysis of Algorithms
- 14: Appendix C- Lumpy
- 15: Variables, Expressions and Statements
- 16: Functions
- 16.1: Function Calls
- 16.2: Type Conversion Functions
- 16.3: Math Functions
- 16.4: Composition
- 16.5: Adding New Functions
- 16.6: Definitions and Uses
- 16.7: Flow of Execution
- 16.8: Parameters and Arguments
- 16.9: Variables and Parameters Are Local
- 16.10: Stack Diagrams
- 16.11: Fruitful Functions and Void Functions
- 16.12: Why Functions?
- 16.13: Importing with from
- 16.14: Debugging
- 16.15: Glossary
- 16.16: Exercises
- 17: Case Study- Interface Design
- 18: Conditionals and Recursion
- 18.1: Modulus Operator
- 18.2: Boolean Expressions
- 18.3: Logical Operators
- 18.4: Conditional Execution
- 18.5: Alternative Execution
- 18.6: Chained Conditionals
- 18.7: Nested Conditionals
- 18.8: Recursion
- 18.9: Stack Diagrams for Recursive Functions
- 18.10: Infinite Recursion
- 18.11: Keyboard Input
- 18.12: Debugging
- 18.13: Glossary
- 18.14: Exercises
- 19: Fruitful Functions
- 20: Iteration
- 21: Strings
- 22: Case Study- Word Play
- Back Matter
- Think Data Structures - Algorithms and Information Retrieval in Java (Downey)
- Think Java - How to Think Like a Computer Scientist (Downey)
- Front Matter
- 0: Preface
- 1: Objects
- 2: Classes
- 3: Arrays of Objects
- 4: Objects of Arrays
- 5: Objects of Objects
- 6: Appendix A - Development Tools
- 7: Appendix B - Java 2D Graphics
- 8: Appendix C - Debugging
- 9: The Way of the Program
- 10: Variables and Operators
- 11: Input and Output
- Front Matter
- 11.1: The System Class
- 11.2: The Scanner Class
- 11.3: Program Structure
- 11.4: Inches to Centimeters
- 11.5: Literals and Constants
- 11.6: Formatting Output
- 11.7: Centimeters to Inches
- 11.8: Modulus Operator
- 11.9: Putting It All Together
- 11.10: The Scanner Bug
- 11.11: Vocabulary
- 11.12: Exercises
- Back Matter
- 12: Void Methods
- 13: Conditionals and Logic
- Front Matter
- 13.1: Relational Operators
- 13.2: Logical Operators
- 13.3: Conditional Statements
- 13.4: Chaining and Nesting
- 13.5: Flag Variables
- 13.6: The Return Statement
- 13.7: Validating Input
- 13.8: Recursive Methods
- 13.9: Recursive Stack Diagrams
- 13.10: Binary Numbers
- 13.11: Vocabulary
- 13.12: Exercises
- zz: Back Matter
- 14: Value Methods
- 15: Loops
- 16: Arrays
- 17: Strings and Things
- Back Matter
- Java, Java, Java - Object-Oriented Programming (Morelli and Walde)
- Front Matter
- 0: Computers, Objects, and Java
- 1: Java Program Design and Development
- 2: Objects- Defining, Creating, and Using
- 3: Methods- Communicating with Objects
- 3.1: Passing Information to an Object
- 3.2: Constructor Methods
- 3.3: Retrieving Information from an Object
- 3.4: Passing a Value and Passing a Reference
- 3.5: Flow of Control- Control Structures
- 3.6: Testing an Improved OneRowNim
- 3.7: Drawing Lines and Defining Graphical Methods (Optional)
- 3.8: Special Topic- Intelligent Agents
- 3.9: From the Java Library- java.lang.Object
- 3.10: Object-Oriented Design- Inheritance and Polymorphism
- 4: Input/Output- Designing the User Interface
- 5: Java Data and Operators
- 6: Control Structures
- 6.1: Flow of Control- Repetition Structures
- 6.2: Counting Loops
- 6.3: Example- Car Loan
- 6.4: Graphics Example- Drawing a Checkerboard
- 6.5: Conditional Loops
- 6.6: Example- Computing Averages
- 6.7: Object-Oriented Design- Structured Programming
- 6.8: Special Topic- What Can Be Computed?
- 6.9: Example- Data Validation
- 6.10: Principles of Loop Design
- 6.11: The switch Multiway Selection Structure
- 7: Strings and String Processing
- 7.1: String Basics
- 7.2: Finding Things Within a String
- 7.3: Example- Keyword Search
- 7.4: From the Java Library- StringBuffer
- 7.5: Retrieving Parts of Strings
- 7.6: Example- Processing Names and Passwords
- 7.7: Handling Text in a Graphics Context (Optional)
- 7.8: Processing Each Character in a String
- 7.9: Comparing Strings
- 7.10: From the Java Library- StringTokenizer
- 8: Inheritance and Polymorphism
- 9: Arrays and Array Processing
- 10: Exceptions- When Things Go Wrong
- 11: Files and Streams
- 11.1: Streams and Files
- 11.2: Case Study- Reading and Writing Text Files
- 11.3: The File Class
- 11.4: Example- Reading and Writing Binary Files
- 11.5: Object Serialization- Reading and Writing Objects
- 11.6: From the Java Library- javax.swing.JFileChooser
- 11.7: Using File Data in Programs
- 11.8: Special Topic- Databases and Personal Privacy
- 12: Recursive Problem Solving
- 12.1: Recursive Definition
- 12.2: Recursive String Methods
- 12.3: Recursive Array Processing
- 12.4: Example- Drawing (Recursive) Fractals
- 12.5: Object-Oriented Design- Tail Recursion
- 12.6: Object-Oriented Design- Recursion or Iteration?
- 12.7: Special Topic- Exploring the Mandelbrot Set
- 12.8: From the Java Library- javax.swing.JComboBox
- 13: Graphical User Interfaces
- 13.1: Java GUIs- From AWT to Swing
- 13.2: The Swing Component Set
- 13.3: Object-Oriented Design- Model-View-Controller Architecture
- 13.4: The Java Event Model
- 13.5: Case Study- Designing a Basic GUI
- 13.6: Containers and Layout Managers
- 13.7: Checkboxes, Radio Buttons, and Borders
- 13.8: Menus and Scroll Panes
- 13.9: Special Topic- Are Computers Intelligent?
- 14: Threads and Concurrent Programming
- 15: Sockets and Networking
- 15.1: An Overview of Networks
- 15.2: Using Network Resources from an Applet
- 15.3: From the Java Library- java.net.URL
- 15.4: The Slide Show Program
- 15.5: Using Network Resources from an Application
- 15.6: Client/Server Communication via Sockets
- 15.7: Java Servlets and Server Pages
- 15.8: Case Study- Generic Client/Server Classes
- 15.9: Playing One Row Nim Over the Network
- 15.10: Java Network Security Restrictions
- 16: Data Structures- Lists, Stacks, and Queues
- 16.1: The Linked List Data Structure
- 16.2: OBJECT-ORIENTED DESIGN: The List Abstract Data Type (ADT)
- 16.3: The Stack ADT
- 16.4: The Queue ADT
- 16.5: From the Java Library: The Java Collections Framework and Generic Types
- 16.6: Using the Set and Map Interfaces
- 16.7: The Binary Search Tree Data Structure
- 16.8: Chapter Summary
- Back Matter
- Eloquent JavaScript (Haverbeke)
- Introduction To MIPS Assembly Language Programming (Kann)
- Front Matter
- 1: Introduction
- 2: First Programs in MIPS Assembly
- 3: MIPS Arithmetic and Logical Operators
- 3.1: 3-Address Machines
- 3.2: Addition in MIPS Assembly
- 3.3: Subtraction in MIPS Assembly
- 3.4: Multiplication in MIPS Assembly
- 3.5: Division in MIPS Assembly
- 3.6: Solving Arithmetic Expressions in MIPS Assembly
- 3.7: Division and Accuracy of an Equation
- 3.8: Logical Operators
- 3.9: Using Logical Operators
- 3.10: Shift Operations
- 3.11: Summary
- 3.12: Exercises
- 4: Translating Assembly Language into Machine Code
- 5: Simple MIPS Subprograms
- 5.1: Exit Subprogram
- 5.2: PrintNewLine Subprogram
- 5.3: The Program Counter ($pc) register and calling a subprogram
- 5.4: Returning from a Subprogram and the $ra Register
- 5.5: Input Parameter with PrintString Subprogram
- 5.6: Multiple Input Parameters with PrintInt Subprogram
- 5.7: Return Values with PromptInt Subprogram
- 5.8: Create a utils.asm File
- 5.9: Final Program to Prompt, Read, and Print an Integer
- 5.10: Summary
- 5.11: Exercises
- 6: MIPS Memory - the Data Segment
- 7: Assembly Language Program Control Structures
- 8: Reentrant Subprograms
- 9: Arrays
- Back Matter
- Introduction to Assembly Language Programming: From Soup to Nuts: ARM Edition (Kann)
- Front Matter
- 1: Introduction
- 2: Review of Binary Arithmetic
- 3: Getting Started with Assembly Language Programming
- 4: 3-address instruction set
- 5: A more complete ARM Instruction Set
- 6: Machine Code
- 7: Program Control Flow and Functions
- 8: Procedural Programming in Assembly
- 9: Function Format and Recursion
- 10: Arrays
- Back Matter
- x86-64 Assembly Language Programming with Ubuntu (Jorgensen)
- Front Matter
- 1: Introduction
- 2: Architecture Overview
- 3: Data Representation
- 4: Program Format
- 5: Tool Chain
- 6: DDD Debugger
- 7: Instruction Set Overview
- 8: Addressing Modes
- 9: Process Stack
- 10: Program Development
- 11: Macros
- 12: Functions
- 12.1: Updated Linking Instructions
- 12.2: Debugger Commands
- 12.3: Stack Dynamic Local Variables
- 12.4: Function Declaration
- 12.5: Standard Calling Convention
- 12.6: Linkage
- 12.7: Example, Statistical Function2 (non-leaf)
- 12.8: Stack-Based Local Variables
- 12.9: Summary
- 12.10: 12.13-Exercises
- 12.11: Argument Transmission
- 12.12: Calling Convention
- 12.13: Example, Statistical Function 1 (leaf)
- 13: System Services
- 14: Multiple Source Files
- 15: Stack Buffer Overflow
- 16: Command Line Arguments
- 17: Input/Output Buffering
- 18: Floating-Point Instructions
- 18.1: Floating-Point Values
- 18.2: Floating-Point Registers
- 18.3: Data Movement
- 18.4: Integer / Floating-Point Conversion Instructions
- 18.5: Floating-Point Arithmetic Instructions
- 18.6: Floating-Point Control Instructions
- 18.10: Exercises
- 18.7: Floating-Point Calling Conventions
- 18.8: Example Program, Sum and Average
- 18.9: Example Program, Absolute Value
- 19: Parallel Processing
- 20: Interrupts
- 21: Appendices
- Back Matter
- Introduction to Programming using Fortran 95/2003/2008 (Jorgensen)
- Front Matter
- 1: Introduction
- 2: Computer Organization
- 3: Getting Started
- 4: Fortran 95/2003/2008 – Basic Elements
- 5: Expressions
- 6: Simple Input and Output
- 7: Program Development
- 8: Selection Statements
- 9: Looping
- 10: Formatted Input/Output
- 11: Characters and Strings
- 11.1: Character and String Constants
- 11.2: Character Variable Declaration
- 11.3: Character Variable Initialization
- 11.4: Character Constants
- 11.5: Character Assignment
- 11.6: Character Operators
- 11.7: Character Substrings
- 11.8: Character Comparisons
- 11.9: Intrinsic Character Operations
- 11.10: Example
- 11.11: Exercises
- 12: File Operations
- 13: Single Dimension Arrays
- 14: Multidimensional Arrays
- 15: Subprograms
- 16: Derived Data Types
- 17: Modules
- 18: Recursion
- 19: Character String / Numeric Conversion
- 20: System Services
- 21: Appendix 1 - ASCII Table
- 22: Appendix 2 - Start-Up Instructions
- 23: Appendix 3 - Random Number Generation
- 24: Appendix 4 - Intrinsic Functions
- 25: Appendix 5 - Visualization with GNUplot
- 26: Appendix 6 - Quiz Question Answers
- 26.1: Quiz Question Answers - Chapter 1
- 26.2: Quiz Question Answers - Chapter 2
- 26.3: Quiz Question Answers - Chapter 3
- 26.4: Quiz Question Answers - Chapter 4
- 26.5: Quiz Question Answers - Chapter 5
- 26.6: Quiz Question Answers - Chapter 6
- 26.7: Quiz Question Answers - Chapter 7
- 26.8: Quiz Question Answers - Chapter 8
- 26.9: Quiz Question Answers - Chapter 9
- 26.10: Quiz Question Answers - Chapter 10
- 26.11: Quiz Question Answers - Chapter 11
- 26.12: Quiz Question Answers - Chapter 12
- 26.13: Quiz Question Answers - Chapter 13
- 26.14: Quiz Question Answers - Chapter 14
- 26.15: Quiz Question Answers - Chapter 15
- 26.16: Quiz Question Answers - Chapter 16
- 26.17: Quiz Question Answers - Chapter 17
- 26.18: Quiz Question Answers - Chapter 18
- 26.19: Quiz Question Answers - Chapter 19
- 26.20: Quiz Question Answers - Chapter 20
- 27: Appendix 7 - Fortran 95/2003/2008 Keywords
- Back Matter
- Pharo by Example 50 (Ducasse, Zagidulin, Hess, and Chloupis)
- Front Matter
- 1: Preface
- 2: A Quick Tour of Pharo
- 2.1: Installing Pharo
- 2.2: Pharo — File Components
- 2.3: Launching Pharo
- 2.4: PharoLauncher
- 2.5: The World Menu
- 2.6: Sending Messages
- 2.7: Saving, Quitting and Restarting a Pharo Session
- 2.8: Playgrounds and Transcripts
- 2.9: Keyboard Shortcuts
- 2.10: The System Browser
- 2.11: Finding Classes
- 2.12: Finding Methods
- 2.13: Defining a New Method
- 2.14: Chapter Summary
- 3: A First Application
- 3.1: The Lights Out Game
- 3.2: Creating a New Package
- 3.3: Defining the Class LOCell
- 3.4: Adding Methods to a Class
- 3.5: Inspecting an Object
- 3.6: Defining the Class LOGame
- 3.7: Organizing Methods into Protocols
- 3.8: Finishing the Game
- 3.9: Let’s Try Our Code
- 3.10: Saving and Sharing Pharo Code
- 3.11: Chapter Summary
- 4: Syntax in a Nutshell
- 5: Understanding Message Syntax
- 6: The Pharo Object Model
- 6.1: The Rules of the Model
- 6.2: Everything Is an Object
- 6.3: Every Object Is an Instance of a Class
- 6.4: Instance Structure and Behavior
- 6.5: The Instance Side and the Class Side
- 6.6: Every Class Has a Superclass
- 6.7: Everything Happens by Sending Messages
- 6.8: Method Lookup Follows the Inheritance Chain
- 6.9: Shared Variables
- 6.10: Internal Object Implementation Note
- 6.11: Chapter Summary
- 7: Some of the Key Tools of the Pharo Environment
- 8: Sharing Code and Source Control
- 9: SUnit
- 10: Basic Classes
- 11: Collections
- 12: Streams
- 13: Morphic
- 14: Seaside by Example
- 15: Classes and Metaclasses
- 15.1: Rules for Classes and Metaclasses
- 15.2: Revisiting the Pharo Object Model
- 15.3: Every Class Is an Instance of a Metaclass
- 15.4: The Metaclass Hierarchy Parallels the Class Hierarchy
- 15.5: Every Metaclass Inherits from Class and Behavior
- 15.6: Every Metaclass Is an Instance of Metaclass
- 15.7: The Metaclass of Metaclass Is an Instance of Metaclass
- 15.8: Chapter Summary
- 16: Reflection
- 17: Regular Expressions in Pharo
- Back Matter
- Deep into Pharo (Bergel, Cassou, Ducasse, and Laval)
- Front Matter
- 1: Zero Configuration Scripts and Command-Line Handlers
- 2: Files with FileSystem
- 3: Sockets
- 4: The Settings Framework
- 5: Regular Expressions in Pharo
- 6: Versioning Your Code with Monticello
- 7: Gofer — Scripting Package Loading
- 8: Managing Projects with Metacello
- 8.1: Introduction
- 8.2: One Tool for Each Job
- 8.3: Metacello Features
- 8.4: A Simple Case Study
- 8.5: Loading a Metacello Configuration
- 8.6: Managing Dependencies Between Packages
- 8.7: Baselines
- 8.8: Groups
- 8.9: Dependencies Between Projects
- 8.10: About Dependency Granularity
- 8.11: Executing Code Before and After Installation
- 8.12: Platform Specific Package
- 8.13: Milestoning Development- Symbolic Versions
- 8.14: Load Types
- 8.15: Conditional Loading
- 8.16: Project Version Attributes
- 8.17: Chapter Summary
- 9: Glamour
- 10: Agile Visualization with Roassal
- 11: Scripting Visualizations with Mondrian
- 11.1: Installation and First Visualization
- 11.2: Starting with Mondrian
- 11.3: Visualizing the Collection Framework
- 11.4: Reshaping Nodes
- 11.5: Multiple Edges
- 11.6: Colored Shapes
- 11.7: More on Colors
- 11.8: Popup View
- 11.9: Subviews
- 11.10: Forwarding Events
- 11.11: Events
- 11.12: Interaction
- 11.13: Chapter Summary
- 12: Handling Exceptions
- 12.1: Introduction
- 12.2: Ensuring Execution
- 12.3: Handling Non-Local Returns
- 12.4: Exception Handlers
- 12.5: Error Codes — Don't Do This!
- 12.6: Specifying Which Exceptions Will Be Handled
- 12.7: Signaling an Exception
- 12.8: Finding Handlers
- 12.9: Handling Exceptions
- 12.10: Comparing outer With pass
- 12.11: Exceptions and ensure, ifCurtailed Interaction
- 12.12: Example — Deprecation
- 12.13: Example — Halt Implementation
- 12.14: Specific Exceptions
- 12.15: When Not to Use Exceptions
- 12.16: Exceptions Implementation
- 12.17: Ensure's Implementation
- 12.18: Chapter Summary
- 13: Blocks — A Detailed Analysis
- 14: Exploring Little Numbers
- 15: Fun with Floats
- 16: Profiling Applications
- 16.1: What Does Profiling Mean?
- 16.2: A Simple Example
- 16.3: Code Profiling in Pharo
- 16.4: Read and Interpret the Results
- 16.5: Illustrative Analysis
- 16.6: Counting Messages
- 16.7: Memorized Fibonacci
- 16.8: SpaceTally for Memory Consumption per Class
- 16.9: Few Advices
- 16.10: How MessageTally is Implemented?
- 16.11: Chapter Summary
- 17: PetitParser — Building Modular Parsers
- Back Matter
- Squeak by Example (Black, Ducasse, Nierstrasz, and Pollet)
- Front Matter
- 1: A Quick Tour of Squeak
- 2: A First Application
- 2.01: The Quinto Game
- 2.02: Creating a New Class Category
- 2.03: Defining the Class SBECell
- 2.04: Adding Methods to a Class
- 2.05: Inspecting an Object
- 2.06: Defining the Class SBEGame
- 2.07: Organizing Methods into Protocols
- 2.08: Let’s Try Our Code
- 2.09: Saving and Sharing Smalltalk Code
- 2.10: Chapter Summary
- 3: Syntax in a Nutshell
- 4: Understanding Message Syntax
- 5: The Smalltalk Object Model
- 6: The Squeak Programming Environment
- 7: SUnit
- 8: Basic Classes
- 9: Collections
- 10: Streams
- 11: Morphic
- 12: Classes and Metaclasses
- 12.1: Rules for Classes and Metaclasses
- 12.2: Revisiting the Smalltalk Object Model
- 12.3: Every Class Is an Instance of a Metaclass
- 12.4: The Metaclass Hierarchy Parallels the Class Hierarchy
- 12.5: Every Metaclass Inherits from Class and Behavior
- 12.6: Every Metaclass Is an Instance of Metaclass
- 12.7: The Metaclass of Metaclass Is an Instance of Metaclass
- 12.8: Chapter Summary
- 13: Appendix A - Frequently Asked Questions
- Back Matter
- Python Programming (OpenStax)
- Byte of Python (Swaroop CH)
- Applied Programming
- A Brief Introduction to Engineering Computation with MATLAB (Beyenir)
- An Introduction to Matlab and Mathcad (Siemers)
- Front Matter
- 1: Matlab Introduction
- 2: Matlab Matrices
- 3: Matlab Built-In Functions
- 4: Matlab Graphics
- 5: Matlab User Defined Functions
- 6: Matlab Input/Output
- 7: Matlab Programming Structures
- 8: Matlab Applications
- 9: Matlab Curve Fitting
- 10: Mathcad Introduction
- 11: Mathcad Entering Equations
- 12: Given/Find and Solve
- 13: Mathcad Functions
- 14: Mathcad Matrices
- 15: Mathcad Graphing
- 16: Mathcad Curve Fitting
- 17: Mathcad Calculus and Symbolics
- Back Matter
- Physical Modeling in MATLAB (Downey)
- Matlab and Octave Programming for STEM Applications (Smith) - Redirect
- Think Complexity: Exploring Complexity Science with Python (Downey)
- Front Matter
- 1: Complexity Science
- 2: Graphs
- 3: Small World Graphs
- 4: Scale-free networks
- 5: Cellular Automatons
- 6: Game of Life
- 7: Physical modeling
- 8: Self-organized criticality
- 9: Agent-based models
- 10: Herds, Flocks and Traffic Jams
- 11: Evolution
- 12: Evolution of cooperation
- Appendix A: Reading list
- Back Matter
- Introduction to Computer Graphics (Eck)
- Front Matter
- 1: Introduction
- 2: Two-Dimensional Graphics
- 3: OpenGL 1.1- Geometry
- 4: OpenGL 1.1- Light and Material
- 5: Three.js- A 3D Scene Graph API
- 6: Introduction to WebGL
- 7: 3D Graphics with WebGL
- 8: Beyond Realtime Graphics
- 9: Programming Languages
- 10: Blender- A 3D Modeling Program
- 11: Gimp and Inkscape for 2D Graphics
- 12: Listing of Sample Programs
- 13: Glossary
- Back Matter
- Neural Networks and Deep Learning (Nielsen)
- Front Matter
- 1: Using neural nets to recognize handwritten digits
- 2: How the Backpropagation Algorithm Works
- 3: Improving the way neural networks learn
- 4: A visual proof that neural nets can compute any function
- 5: Why are deep neural networks hard to train?
- 6: Deep Learning
- 7: Appendix- Is there a simple algorithm for intelligence?
- Back Matter
- A Guide to MATLAB for ME 160 (Bray and Montazami)
- Front Matter
- 1: Introduction
- 2: Basic Commands in MATLAB
- 3: MATRIX Operations
- 4: Writing Scripts
- 5: Commands
- 6: Graphing in MATLAB
- 7: Graphical User Interface
- 8: Functions and Function Handles
- 9: Inputting and Outputting Data
- 10: Projects
- 11: Appendix A- Additional MATLAB Resources
- 12: Appendix B- A commentary on this work
- Back Matter
- Operating Systems
- Linux - The Penguin Marches On (McClanahan)
- Front Matter
- Module 01: Back to the Basics
- 01-A.1: Introduction to Linux
- 01-A.2: Open Source Software
- 01-A.3: Free Software vs Open Source
- 01-A.4: Different FOSS licensing...
- 01-A.5: The GNU Project
- 01-A.6: Unix - What's the Connection?
- 01-A.7: Finally - Linux
- 01-A.8: Advantages and Disadvantages of Linux
- 01-A.9: Distro List
- 01-A.10: How is Linux Used?
- 01-B.11: How the Shell and CLI Work
- 01-B.12: CLI - The Good and the Bad
- 01-B.13: Shells: What and Why
- 01-B.14: Doing bash
- 01-B.15: Bash Command How To
- 01-B.16: Let's Look at the Basics
- 01-B.17: File Basics: More Later
- 01-B.18: Who is superuser?
- 01-B.19: Leftovers, What Else Do We Need?
- 01-C.20: Help! Where can I find help in Linux?
- 01-C.21: Linux man pages
- 01-C.22: Man Page Format
- 01-C.23: Additional Linux System Help Choices
- 01-C.24: Sources of Online Linux Documentation
- 01-C.25: Asynchronous Linux Help Resources
- Module 02: User & Group Administration
- 02-A.1: Users, and How to Acquire Superuser Power
- 02-A.2: Who Is the Superuser?
- 02-A.3: su: The Command
- 02-A.4: Other Options for Administrative Privileges
- 02-B.5: Users: Create, Modify, and Delete
- 02-B.6: Users: Create, Modify, and Delete (cont'd)
- 02-B.7: Users: Create, Modify and Delete (continued)
- 02-B.8: Users: Create, Modify, and Delete - passwd Command
- 02-B.9: Users: Create, Modify, and Delete - etc passwd and etc shadow
- 02-B.10: Users: Create, Modify, and Delete - Edit /etc/passwd File
- 02-C.11: Groups: Create, Modify, and Delete
- 02-C.12: Groups: Create, Modify, and Delete - Modify Group
- 02-D.13: User and Group Queries
- 02-E.14: User Account Profile Configuration
- 02-E.15: Example: Bash RC file
- 02-E.16: System Wide User Profiles
- Module 03: Permission and Ownership Management
- Module 04: Managing Linux Storage
- 04-A.1: Storage Devices
- 04-A.2: Linux File Systems
- 04-A.3: Inodes
- 04-A.4 Journaling File Systems
- 04-A.5: Linux Virtual File System
- 04-A.6: Partitions and Labels
- 04-A.7: Disk Setup Process - fdisk
- 04-A.8: The dev Directory
- 04-B.9: Logical Volume Management
- 04-C.10: Mounting Linux File Systems
- 04-D.11: File System Management
- 04-E.12: Linux Directory Structure
- 04-F.13: Storage Issues - Find and Fix
- Module 05: File and Directory Management
- 05-A.1: Creating and Editing Text files
- 05-A.2: Creating and Editing Text files - Vim Editor
- 05-A.3: Nano Editor
- 05-A.4: Gedit and More
- 05-B.5: Searching for Files on Linux
- 05-C.6: Working with Files and Directories - cat Command
- 05-C.6.1: Working with Files and Directories - head/tail Commands
- 05-C.6.2: Working with Files and Directories - less/more Command
- 05-C.6.3: Working with Files and Directories - cp/mv Command
- 05-C.6.4: Working with Files and Directories - rm/touch Command
- 05-C.6.5: Working with Files and Directories - ls/rmidir/mkdir Command
- 05-D.7: Handling Text Files - echo/printf
- 05-D.7.1: Handling Text Files - tr/wc Command
- 05-D.7.2: Handling Text Files - sort/diff Commands
- 05-D.7.3: Handling Text Files - cut/paste
- 05-D.7.4: Handling Text Files - grep Command
- 05-D.7.5: Handling Text Files - awk Command
- 05-D.7.6: Handling Text Files - sed Command
- 05-D.7.7: Handling Text Files - ln Command
- 05-E.8: File Output Manipulation
- Module 06: Kernel Module Management
- Module 07: Linux Boot Process
- Module 08: How to Manage System Components
- 08-A.1: Localization Options - Configuration
- 08-A.2: Localization - date/timdatectl Command
- 08-A.3: Localization - localectl Command
- 08-B.4: GUI Configuration
- 08-B.5: GUI Desktop Environments
- 08-B.6: Remote Desktop Access
- 08-B.7: Remote Console - SSH/X Forwarding
- 08-C.8: Managing Linux Services
- 08-D.9: Process Troubleshooting
- 08-D.9.1: Process Troubleshooting - ps command
- 08-D.9.2: Process Troubleshooting - top command
- 08-D.9.3: Process Troubleshooting - lsof Command
- 08-D.9.4: Process Troubleshooting - Process Priorities
- 08-D.9.5: Process Troubleshooting - Background / Foreground Processes
- 08-D.9.6: Process Troubleshooting - nohup and kill Commands
- 08-E.10: CPU and Memory Troubleshooting
- Module 09: Managing Linux Devices
- Module 10: Network Management
- 10-A.1: TCP/IP Fundamentals
- 10-B.2: Server Roles in Linux
- 10-C.3: Network Connection
- 10-D.4: Static VS Dynamic IP Addresses
- 10-D.5: DHCP Configuration
- 10-D.6: Name Resolution
- 10-E.7: Cloud Configuration
- 10-E.8: The Cloud and Virtualization
- 10-E.9: Cloud Bootstrapping and Storage
- 10-E.10: Configuring Networks and Virtualization Tools
- 10-F.11: How to Troubleshoot Networking Problems
- 10-F.11.1: Network Troubleshooting Commands - netstat / ss
- 10-F.11.2: Network Troubleshooting Commands - dig / nslookup / host
- 10-F.11.3: Network Troubleshooting Commands - ip / route / nmap
- 10-F.11.4: Network Troubleshooting Commands - wireshark
- 10-F.11.5: Network Troubleshooting Commands - iftop / iperf / mtr
- 10-F.11.6: Network Troubleshooting Commands - arp / whois
- Module 11: Package Management
- Module 12: Linux Systems Security
- 12-A.1: Best Cybersecurity Practices
- 12-A.2: chroot Jail
- 12-A.3: Encryption in Linux
- 12-A.4: Security Best Practices
- 12-B.5: Identity and Access Management
- 12-B.6: Pluggable Authentication Modules
- 12-B.7: TTY Security & PKI
- 12-B.8: OpenSSL / VPN
- 12-B.9: Authentication Issues
- 12-C.10: SELinux Configuration
- 12-C.11: AppArmor
- 12-D.12: Firewall Configuration in Linux
- 12-D.13: Access Control Lists / iptables
- 12-D.14: UFW & firewalld
- 12-D.15: Netfilter / IP Forwarding
- 12-E.16: Linux Logging
- 12-E.17: journalctl & last Commands
- 12-F.18: Backup and Restore in Linux
- 12-F.19: tar / cpio / dd
- 12-F.20: mirrorvg / rsync / scp
- 12-F.21: File Compression
- 12-F.22: Integrity Check and Checksums
- Module 13: Working with Bash Scripts
- 13-A.1: How to Customize the Bash Shell
- 13-A.2: env / alias / PATH / time
- 13-B.3: Fundamentals of Linux Scripts
- 13-B.4: Shell Operators
- 13-B.5: Strings / Arrays / Functions
- 13-C.6: Writing and Running Linux Scripts
- 13-C.7: Shell Expansion / Variable Substitution / Command Substitution
- 13-C.8: Positional Parameters / exec Command / source Command
- 13-C.9: Script Permissions / Script Extensions
- 13-D.10: Shell Control Statements
- 13-D.11: Script Loops
- Module 14: Task Automation
- Module 15: Linux Installation
- Ancillary Materials
- Back Matter
- Think OS - A Brief Introduction to Operating Systems (Downey)
- Linux - The Penguin Marches On (McClanahan)
- Databases and Data Structures
- Database Design 2e (Watt)
- Front Matter
- 1: Chapters
- 1.1: Before the Advent of Database Systems
- 1.2: Fundamental Concepts
- 1.3: Characteristics and Benefits of a Database
- 1.4: Types of Data Models
- 1.5: Data Modelling
- 1.6: Classification of Database Management Systems
- 1.7: The Relational Data Model
- 1.8: The Entity Relationship Data Model
- 1.9: Integrity Rules and Constraints
- 1.10: ER Modelling
- 1.11: Functional Dependencies
- 1.12: Normalization
- 1.13: Database Development Process
- 1.14: Database Users
- 1.15: SQL Structured Query Language
- 1.16: SQL Data Manipulation Language
- 1.17: Appendix A - University Registration Data Model Example
- 1.18: Appendix B - Sample ERD Exercises
- 1.19: Appendix C - SQL Lab with Solution
- Back Matter
- Relational Databases and Microsoft Access (McFadyen)
- Front Matter
- 1: Relational Databases and MS Access
- 2: Creating Tables
- 3: Creating Forms
- 4: Microsoft Access Queries
- 5: Relationships and the Relationships Tool
- 6: Microsoft Access Queries - Advanced
- 7: Entity Relationship Modelling
- 8: Mapping an ERD to a Relational Database
- 9: Data Definition Language (DDL)
- 10: Normalization
- 11: Appendix A - Forms Involving Multiple Tables
- 12: Appendix B - Supertypes and Subtypes
- Back Matter
- Data Structure and Algorithms (Njoroge)
- Data Structures (Wikibook)
- Open Data Structures - An Introduction (Morin)
- Front Matter
- 1: Introduction
- 2: Array-Based Lists
- 2.1: ArrayStack - Fast Stack Operations Using an Array
- 2.2: FastArrayStack - An Optimized ArrayStack
- 2.3: ArrayQueue - An Array-Based Queue
- 2.4: ArrayDeque - Fast Deque Operations Using an Array
- 2.5: DualArrayDeque - Building a Deque from Two Stacks
- 2.6: RootishArrayStack - A Space-Efficient Array Stack
- 2.7: Discussion and Exercises
- 3: Linked Lists
- 4: Skiplists
- 5: Hash Tables
- 6: Binary Trees
- 7: Random Binary Search Trees
- 8: Scapegoat Trees
- 9: Red-Black Trees
- 10: Heaps
- 11: Sorting Algorithms
- 12: Graphs
- 13: Data Structures for Integers
- 14: External Memory Searching
- Back Matter
- Database Design 2e (Watt)
- Web Design and Development
- Programming for the Web - From Soup to Nuts - Implementing a Complete GIS Web Page (Kann)
- Front Matter
- 1: Introduction
- 2: HTML
- 3: JavaScript and Processing a Simple form Processing
- 4: CSS and Styling a Web Page
- 5: Objects in JavaScript
- 5.1: Why Use ECMA 5 as a Basis?
- 5.2: Is JavaScript just Plain Weird?
- 5.3: Basic Objects in JavaScript
- 5.4: Constructor Functions and Prototype Objects
- 5.5: Scoping in JavaScript
- 5.6: A Simple JavaScript OOP Model
- 5.7: A JavaScript Object Model that Includes Encapsulation and Data Hiding
- 5.8: Unstructured Data
- 5.9: Conclusion
- 5.10: Exercises
- 6: CRUD, Objects, and Events
- 7: Creating a Server for the Persistent Storage of Our CRUD Application
- Back Matter
- The Missing Link - An Introduction to Web Development (Mendez)
- Programming for the Web - From Soup to Nuts - Implementing a Complete GIS Web Page (Kann)
- Networks
- An Introduction to Computer Networks (Dordal)
- Front Matter
- 1: An Overview of Networks
- Front Matter
- 1.1: Layers
- 1.2: Data Rate, Throughput and Bandwidth
- 1.3: Packets
- 1.4: Datagram Forwarding
- 1.5: Topology
- 1.6: Routing Loops
- 1.7: Congestion
- 1.8: Packets Again
- 1.9: LANs and Ethernet
- 1.10: IP - Internet Protocol
- 1.11: DNS
- 1.12: Transport
- 1.13: Firewalls
- 1.14: Some Useful Utilities
- 1.15: IETF and OSI
- 1.16: Berkeley Unix
- 1.E: An Overview of Networks (Exercises)
- Back Matter
- 2: Ethernet
- 3: Other LANs
- 4: Links
- 5: Packets
- 6: Abstract Sliding Windows
- 7: IP version 4
- Front Matter
- 7.1: Prelude to IP version 4
- 7.2: The IPv4 Header
- 7.3: Interfaces
- 7.4: Special Addresses
- 7.5: Fragmentation
- 7.6: The Classless IP Delivery Algorithm
- 7.7: IPv4 Subnets
- 7.8: Network Address Translation
- 7.9: DNS
- 7.10: Address Resolution Protocol - ARP
- 7.11: Dynamic Host Configuration Protocol (DHCP)
- 7.12: Internet Control Message Protocol
- 7.13: Unnumbered Interfaces
- 7.14: Mobile IP
- 7.15: Epilog and Exercises
- Back Matter
- 8: IP version 6
- Front Matter
- 8.1: Prelude to IP version 6
- 8.2: The IPv6 Header
- 8.3: IPv6 Addresses
- 8.4: Network Prefixes
- 8.5: IPv6 Multicast
- 8.6: IPv6 Extension Headers
- 8.7: Neighbor Discovery
- 8.8: IPv6 Host Address Assignment
- 8.9: Globally Exposed Addresses
- 8.10: ICMPv6
- 8.11: IPv6 Subnets
- 8.12: Using IPv6 and IPv4 Together
- 8.13: IPv6 Examples Without a Router
- 8.14: IPv6 Connectivity via Tunneling
- 8.15: IPv6-to-IPv4 Connectivity
- 8.16: Epilog and Exercises
- Back Matter
- 9: Routing-Update Algorithms
- Front Matter
- 9.1: Prelude to Routing-Update Algorithms
- 9.2: Distance-Vector Routing-Update Algorithm
- 9.3: Distance-Vector Slow-Convergence Problem
- 9.4: Observations on Minimizing Route Cost
- 9.5: Loop-Free Distance Vector Algorithms
- 9.6: Link-State Routing-Update Algorithm
- 9.7: Routing on Other Attributes
- 9.8: ECMP
- 9.9: Epilog and Exercises
- Back Matter
- 10: Large-Scale IP Routing
- 11: UDP Transport
- 12: TCP Transport
- 13: TCP Reno and Congestion Management
- 14: Dynamics of TCP
- 15: Newer TCP Implementations
- 16: Network Simulations - ns-2
- 17: The ns-3 Network Simulator
- 18: Mininet
- 19: Queuing and Scheduling
- 20: Quality of Service
- 21: Network Management and SNMP
- 22: Security
- 23: Selected Solutions
- Back Matter
- Computer Networks - A Systems Approach (Peterson and Davie)
- An Introduction to Computer Networks (Dordal)
- Programming and Computation Fundamentals
- Data Science
- Principles of Data Science (OpenStax)
- Front Matter
- 1: What Are Data and Data Science?
- 2: Collecting and Preparing Data
- 3: Descriptive Statistics- Statistical Measurements and Probability Distributions
- 4: Inferential Statistics and Regression Analysis
- 5: Time Series and Forecasting
- 6: Decision-Making Using Machine Learning Basics
- 6.0: Introduction
- 6.1: What Is Machine Learning?
- 6.2: Classification Using Machine Learning
- 6.3: Machine Learning in Regression Analysis
- 6.4: Decision Trees
- 6.5: Other Machine Learning Techniques
- 6.6: Key Terms
- 6.7: Group Project
- 6.8: Chapter Review
- 6.9: Critical Thinking
- 6.10: Quantitative Problems
- 6.11: References
- 7: Deep Learning and AI Basics
- 8: Ethics Throughout the Data Science Cycle
- 9: Visualizing Data
- 10: Reporting Results
- 11: Appendix
- 12: Answer Key
- Back Matter
- The Crystal Ball - Instruction Manual I: Introduction to Data Science (Davies)
- Front Matter
- 1: Introduction
- 2: A trip to Jupyter
- 3: Three Kinds of Atomic Data
- 4: Memory pictures
- 5: Calculations
- 6: Scales of Measure
- 7: Three Kinds of Aggregate Data
- 8: Arrays in Python (1 of 2)
- 9: Arrays in Python (2 of 2)
- 10: Interpreting Data
- 11: Associative Arrays in Python (1 of 3)
- 12: Associative Arrays in Python (2 of 3)
- 13: Associative Arrays in Python (3 of 3)
- 14: Loops
- 15: Exploratory Data Analysis- univariate
- 16: Tables in Python (1 of 3)
- 17: Tables in Python (2 of 3)
- 18: Tables in Python (3 of 3)
- 19: Exploratory Data Analysis: bivariate (1 of 2)
- 20: Exploratory Data Analysis: Bivariate (2 of 2)
- 21: Branching
- 22: Functions (1 of 2)
- 23: Functions (2 of 2)
- 24: Recoding and Transforming
- 25: Machine Learning - Concepts
- 26: Classification - Concepts
- 27: Decision Trees (1 of 2)
- 28: Decision Trees (2 of 2)
- 29: Evaluating a Classifier
- Back Matter
- Principles of Data Science (OpenStax)
- Electrical Engineering
- Introductory Electrical Engineering
- Electrical Engineering (Johnson)
- Front Matter
- 1: Introduction to Electrical Engineering
- 2: Signals and Systems
- 3: Analog Signal Processing
- 3.1: Voltage, Current, and Generic Circuit Elements
- 3.2: Ideal Circuit Elements
- 3.3: Ideal and Real-World Circuit Elements
- 3.4: Electric Circuits and Interconnection Laws
- 3.5: Power Dissipation in Resistor Circuits
- 3.6: Series and Parallel Circuits
- 3.7: Equivalent Circuits - Resistors and Sources
- 3.8: Circuits with Capacitors and Inductors
- 3.9: The Impedance Concept
- 3.10: Time and Frequency Domains
- 3.11: Power in the Frequency Domain
- 3.12: Equivalent Circuits - Impedances and Sources
- 3.13: Transfer Functions
- 3.14: Designing Transfer Functions
- 3.15: Formal Circuit Methods - Node Method
- 3.16: Power Conservation in Circuits
- 3.17: Electronics
- 3.18: Dependent Sources
- 3.19: Operational Amplifiers
- 3.20: The Diode
- 3.21: Analog Signal Processing Problems
- 4: Frequency Domain
- 4.1: Introduction to the Frequency Domain
- 4.2: Complex Fourier Series
- 4.3: Classic Fourier Series
- 4.4: A Signal's Spectrum
- 4.5: Fourier Series Approximation of Signals
- 4.6: Encoding Information in the Frequency Domain
- 4.7: Filtering Periodic Signals
- 4.8: Derivation of the Fourier Transform
- 4.9: Linear Time Invariant Systems
- 4.10: Modeling the Speech Signal
- 4.11: Frequency Domain Problems
- 5: Digital Signal Processing
- 5.1: Introduction to Digital Signal Processing
- 5.2: Introduction to Computer Organization
- 5.3: The Sampling Theorem
- 5.4: Amplitude Quantization
- 5.5: Discrete -Time Signals and Systems
- 5.6: Discrete -Time Fourier Transform (DTFT)
- 5.7: Discrete Fourier Transforms (DFT)
- 5.8: DFT - Computational Complexity
- 5.9: Fast Fourier Transform (FFT)
- 5.10: Spectrograms
- 5.11: Discrete-Time Systems
- 5.12: Discrete-Time Systems in the Time-Domain
- 5.13: Discrete -Time Systems in the Frequency Domain
- 5.14: Filtering in the Frequency Domain
- 5.15: Efficiency of Frequency - Domain Filtering
- 5.16: Discrete -Time Filtering of Analog Signals
- 5.17: Digital Signal Processing Problems
- 6: Information Communication
- 6.1: Information Communication
- 6.2: Types of Communication Channels
- 6.3: Wireline Channels
- 6.4: Wireless Channels
- 6.5: Line-of-Sight Transmission
- 6.6: The Ionosphere and Communications
- 6.7: Communication with Satellites
- 6.8: Noise and Interference
- 6.9: Channel Models
- 6.10: Baseband Communication
- 6.11: Modulated Communication
- 6.12: Signal-to-Noise Ratio of an Amplitude-Modulated Signal
- 6.13: Digital Communication
- 6.14: Binary Phase Shift Keying
- 6.15: Frequency Shift Keying
- 6.16: Digital Communication Receivers
- 6.17: Digital Communication in the Presence of Noise
- 6.18: Digital Communication System Properties
- 6.19: Digital Channels
- 6.20: Entropy
- 6.21: Source Coding Theorem
- 6.22: Compression and the Huffman Code
- 6.23: Subtlies of Coding
- 6.24: Channel Coding
- 6.25: Repetition Codes
- 6.26: Block Channel Coding
- 6.27: Error-Correcting Codes - Hamming Distance
- 6.28: Error-Correcting Codes - Channel Decoding
- 6.29: Error-Correcting Codes - Hamming Codes
- 6.30: Noisy Channel Coding Theorem
- 6.31: Capacity of a Channel
- 6.32: Comparison of Analog and Digital Communication
- 6.33: Communication Networks
- 6.34: Message Routing
- 6.35: Network architectures and interconnection
- 6.36: Ethernet
- 6.37: Communication Protocols
- 6.38: Information Communication Problems
- 7: Appendix
- Back Matter
- A First Course in Electrical and Computer Engineering (Scharf)
- Front Matter
- 1: Complex Numbers
- 2: The Exponential Functions
- 3: Phasors
- 4: Linear Algebra
- 5: Vector Graphics
- 6: Filtering
- 7: Binary Codes
- 8: An Introduction to MATLAB
- 8.1: Introduction
- 8.2: Running MATLAB (Macintosh)
- 8.3: Running MATLAB (PC)
- 8.4: Interactive Mode
- 8.5: Variables
- 8.6: Complex Variables
- 8.7: Vectors and Matrices
- 8.8: The Colon
- 8.9: Graphics
- 8.10: Editing Files and Creating Functions (Macintosh)
- 8.11: Editing Files and Creating Functions (PC)
- 8.12: Loops and Control
- 9: Appendices
- Back Matter
- Electrical Engineering (Johnson)
- Electronics
- Operational Amplifiers: Theory and Practice (Roberge)
- Front Matter
- 1: Background and Objectives
- 2: Properties and Modeling of Feedback Systems
- 3: Linear System Response
- 4: Stability
- 5: Compensation
- 6: Non-Linear Systems
- 7: Direct-Coupled Amplifiers
- 8: Operational-Amplifier Design Techniques
- 9: An Illustrative Design
- 10: Integrated-Circuit Operational Amplifiers
- 11: Basic Applications
- 12: Advanced Applications
- 13: Compensation Revisited
- Back Matter
- Operational Amplifiers and Linear Integrated Circuits - Theory and Application (Fiore)
- Front Matter
- 1: Introductory Concepts and Fundamentals
- 2: Operational Amplifier Internals
- 3: Negative Feedback
- 4: Basic Op Amp Circuits
- 5: Practical Limitations of Op Amp Circuits
- 6: Specialized Op Amps
- Front Matter
- 6.1: Introduction to Specialized Op Amps
- 6.2: Instrumentation Amplifiers
- 6.3: Programmable Op Amps
- 6.4: Op Amps for High Current, Power, and Voltage Applications
- 6.5: High Speed Amplifiers
- 6.6: Voltage Followers and Buffers
- 6.7: Operational Transconductance Amplifier
- 6.8: Norton Amplifier
- 6.9: Current Feedback Amplifiers
- 6.10: Other Specialized Devices
- 6.11: Summary
- 6.12: Problems
- Back Matter
- 7: Nonlinear Circuits
- 8: Voltage Regulation
- 9: Oscillators and Frequency Generators
- 10: Integrators and Differentiators
- 11: Active Filters
- Front Matter
- 11.1: Introduction to Active Filters
- 11.2: Filter Types
- 11.3: The Use and Advantages of Active Filters
- 11.4: Filter Order and Poles
- 11.5: Filter Class or Alignment
- 11.6: Realizing Practical Filters
- 11.7: Band-Pass Filter Realizations
- 11.8: Notch Filter (Band-Reject) Realizations
- 11.9 Audio Equalizers
- 11.10: Switched-Capacitor Filters
- 11.11: Voltage-Controlled Filters (Extended Topic)
- 11.12: Summary
- 11.13: Problems
- Back Matter
- 12: Analog-to-Digital-to-Analog Conversion
- Back Matter
- AC Electrical Circuit Analysis: A Practical Approach (Fiore)
- Laboratory Manual - AC Electrical Circuit Analysis (Fiore)
- Front Matter
- 1: Introduction to RL and RC Circuits
- 2: Phasor Vector Review
- 3: The Oscilloscope (Tektronix MDO 3000 series)
- 4: The Oscilloscope (Tektronix TDS 3000 series)
- 5: The Oscilloscope (GWInstek 2000)
- 6: Capacitive Reactance
- 7: Inductive Reactance
- 8: Series RLC Circuits
- 9: Parallel RLC Circuits
- 10: Series-Parallel RLC Circuits
- 11: Passive Crossover
- 12: AC Superposition Theorem
- 13: AC Thevenin’s Theorem
- 14: AC Maximum Power Transfer
- 15: Series Resonance
- 16: Parallel Resonance
- 17: Loudspeaker Impedance Model
- Back Matter
- DC Electrical Circuit Analysis - A Practical Approach (Fiore)
- Laboratory Manual - DC Electrical Circuit Analysis (Fiore)
- Front Matter
- 1: The Electrical Laboratory
- 2: DC Sources and Metering
- 3: Resistor Color Code
- 4: Ohm’s Law
- 5: Series DC Circuits
- 6: Parallel DC Circuits
- 7: Series-Parallel DC Circuits
- 8: Ladders and Bridges
- 9: Potentiometers and Rheostats
- 10: Superposition Theorem
- 11: Thévenin’s Theorem
- 12: Maximum Power Transfer
- 13: Nodal Analysis
- 14: Mesh Analysis
- 15: Capacitors and Inductors
- Back Matter
- Laboratory Manual: Operational Amplifiers and Linear Integrated Circuits 3e (Fiore)
- Front Matter
- 1: Decibels and Bode Plots
- 2: The Differential Amplifier
- 3: The Op Amp Comparator
- 4: The Non-inverting Voltage Amplifier
- 5: The Inverting Voltage Amplifier
- 6: The Op Amp Differential Amplifier
- 7: Parallel-Series and Series-Series Negative Feedback
- 8: Gain-Bandwidth Product
- 9: Slew Rate and Power Bandwidth
- 10: The Non-compensated Op Amp
- 11: DC Offset
- 12: The Operational Transconductance Amplifier
- 13: Precision Rectifiers
- 14: Function Generation
- 15: The Linear Regulator
- 16: The Triangle-Square Generator
- 17: The Wien Bridge Oscillator
- 18: The Integrator
- 19: The Differentiator
- 20: VCVS Filters
- 21: The Multiple Feedback Filter
- 22: The State-Variable Filter
- Back Matter
- Laboratory Manual - Computer Programming with Python, Multisim and TINA 4e (Fiore)
- Book: Laboratory Manual - Embedded Controllers Using C and Arduino (Fiore)
- Front Matter
- 1: Introduction to C Programming
- 2: Using Standard I/O (Input/Output)
- 3: Using Conditionals
- 4: Using Loops
- 5: Introduction to Addresses, Pointers and Handles
- 6: Hello Arduino
- 7: Arduino Digital Output
- 8: Arduino Digital Input
- 9: Arduino Analog Input
- 10: Arduino Reaction Timer
- 11: Arduino Reaction Timer Redux
- 12: Arduino Analog Output via PWM
- 13: Arduino Event Counter
- 14: Arduino Arbitrary Waveform Generator
- 15: Arduino Interruptus
- Back Matter
- Semiconductor Devices - Theory and Application (Fiore)
- Front Matter
- 1: Semiconductor Fundamentals
- 2: PN Junctions and Diodes
- 3: Diode Applications
- 4: Bipolar Junction Transistors (BJTs)
- 5: BJT Biasing
- 6: Amplifier Concepts
- 7: BJT Small Signal Amplifiers
- 8: BJT Class A Power Amplifiers
- 9: BJT Class B Power Amplifiers
- 10: Junction Field Effect Transistors (JFETs)
- 11: JFET Small Signal Amplfiers
- 12: Metal Oxide Semiconductor FETs (MOSFETs)
- 13: MOSFET Small Signal Amplifiers
- 14: Class D Power Amplifiers
- 15: Insulated Gate Bipolar Transistors (IGBTs)
- Back Matter
- Embedded Controllers Using C and Arduino (Fiore)
- Front Matter
- 1: Course Introduction
- 2: C Memory Organization
- 3: C Language Basics
- 4: C Basics II
- 5: C Storage Types and Scope
- 6: C Arrays and Strings
- 7: C Conditionals and Looping
- 8: C Pointers and Addresses
- 9: C Look-up Tables
- 10: C Structures
- 11: C Linked Lists
- 12: C Memory
- 13: C File IO
- 14: C Command Line Args and More
- 15: Embedded Programming
- 16: Hardware Architecture
- 17: AVR ATmega 328P Overview
- 18: Bits and Pieces — include and define
- 19: Bits and Pieces — Digital Output Circuitry
- 20: Bits and Pieces — Digital Input Circuitry
- 21: Bits and Pieces — pinMode()
- 22: Bits and Pieces — digitalWrite()
- 23: Bits and Pieces — delay()
- 24: Bits and Pieces — digitalRead()
- 25: Bits and Pieces — Analog Input Circuitry
- 26: Bits and Pieces — analogRead()
- 27: Bits and Pieces — analogWrite()
- 28: Bits and Pieces — Timer/Counters
- 29: Bits and Pieces — Interrupts
- 30: Appendix A
- 31: Appendix B — Answers to Selected Problems
- Back Matter
- Laboratory Manual - Semiconductor Devices - Theory and Application (Fiore)
- Front Matter
- 1: Introduction to Electronics Lab
- 2: Resistive Sensors
- 3: Diode Curves
- 4: Light Emitting Diodes
- 5: Photodiodes
- 6: The Zener Diode
- 7: The Oscilloscope (Tektronix MDO3000)
- 8: The Oscilloscope (Tektronix TDS 3000)
- 9: The Oscilloscope (GWInstek 2000)
- 10: Diode Clippers and Clampers
- 11: Half-wave Rectifier
- 12: The Transformer
- 13: Full-wave Bridge Rectifier
- 14: The DC Power Supply Project
- 15: Base Bias - CE Configuration
- 16: LED Driver Circuits
- 17: Emitter Bias
- 18: Voltage Divider Bias
- 19: Feedback Biasing
- 20: PNP Transistors
- 21: Common Emitter Amplifier
- 22: Swamped CE Amplifier
- 23: Frequency Limits
- 24: Voltage Follower
- 25: Class A Power Analysis
- 26: Class B Power Analysis
- 27: Power Amp with Driver
- 28: JFET Bias
- 29: JFET Amplifiers
- 30: JFET Ohmic Region
- Back Matter
- Book: Digital Circuit Projects - An Overview of Digital Circuits Through Implementing Integrated Circuits (Kahn)
- Implementing a One Address CPU in Logisim (Kann)
- Book: Fundamentals of Microwave and RF Design (Steer)
- Front Matter
- 1: Introduction to Microwave Engineering
- 2: Antennas and the RF Link
- 3: Transmission Lines
- 4: Planar Transmission Lines
- 5: Extraordinary Transmission Line Effects
- 6: Coupled Lines and Applications
- 7: Microwave Network Analysis
- 8: Graphical Network Analysis
- 9: Passive Components
- 10: Impedance Matching
- 10.1: Introduction
- 10.2: Matching Networks
- 10.3: Impedance Transforming Networks
- 10.4: The L Matching Network
- 10.5: Dealing with Complex Loads
- 10.6: Dealing with Complex Loads
- 10.7: Summary
- 10.8: References
- 10.9: Exercises
- 10.10: Impedance Matching Using Smith Charts
- 10.11: Distributed Matching
- 10.12: Matching Using the Smith Chart
- 11: RF and Microwave Modules
- 11.1: Introduction to Microwave Modules
- 11.2: RF System as a Cascade of Modules
- 11.3: Amplifiers
- 11.4: Filters
- 11.5: Noise
- 11.6: Diodes
- 11.7: Local Oscillator
- 11.8: Frequency Multiplier
- 11.9: Summary
- 11.10: References
- 11.11: Exercises
- 11.12: Switch
- 11.13: Ferrite Components- Circulators and Isolators
- 11.14: Mixer
- Back Matter
- Microwave and RF Design I - Radio Systems (Steer)
- Front Matter
- 1: Introduction to RF and Microwave Systems
- 2: Modulation
- 2.1: Introduction
- 2.2: Radio Signal Metrics
- 2.3: Modulation Overview
- 2.4: Analog Modulation
- 2.5: Digital Modulation
- 2.6: Frequency Shift Keying, FSK
- 2.7: Digital Modulation Summary
- 2.8: Interference and Distortion
- 2.9: Summary
- 2.10: References
- 2.11: Exercises
- 2.12: Carrier Recovery
- 2.13: Phase Shift Keying Modulation
- 2.14: Quadrature Amplitude Modulation
- 3: Transmitters and Receivers
- 3.1: Introduction
- 3.2: Single-Sideband and Double-Sideband Modulation
- 3.3: Early Modulation and Demodulation Technology
- 3.4: Receiver and Transmitter Architectures
- 3.5: Carrier Recovery
- 3.6: Modern Transmitter Architectures
- 3.7: Case Study- SDR Transmitter
- 3.8: SDR Quadrature Demodulator
- 3.9: SDR Receiver
- 3.10: SDR Summary
- 3.11: Summary
- 3.12: References
- 3.13: Exercises
- 3.14: Modern Architectures
- 3.15: Introduction to Software Defined Radios
- 3.16: SDR Quadrature Modulators
- 4: Antennas and the RF Link
- 5: RF Systems
- 5.1: Introduction
- 5.2: Broadcast, Simplex, Duplex, Diplex, and Multiplex Operations
- 5.3: Cellular Communications
- 5.4: Multiple Access Schemes
- 5.5: Spectrum Efficiency
- 5.6: Processing Gain
- 5.7: 4G, Fourth Generation Radio
- 5.8: 5G, Fifth Generation Radio
- 5.9: 6G, Sixth Generation Radio
- 5.10: Radar Systems
- 5.11: Summary
- 5.12: References
- 5.13: Exercises
- 5.14: Early Generations of Cellular Phone Systems
- 5.15: Early Generations of Radio
- 5.16: 3G, Third Generation- Code Division Multiple Access (CDMA)
- 5.A: Appendix- Mathematics of Random Processes
- Back Matter
- Microwave and RF Design II - Transmission Lines (Steer)
- Front Matter
- 1: Introduction to Distributed Microwave Circuits
- 1.1: Introduction
- 1.2: Book Outline
- 1.3: Chapter Outline
- 1.4: Distributed Circuits
- 1.5: Maxwell's Equations
- 1.6: Electric and Magnetic Field Laws
- 1.7: Electromagnetic Fields and Materials
- 1.8: Electric and Magnetic Walls
- 1.9: Fields in Lossy Mediums
- 1.10: Summary
- 1.11: References
- 1.12: Exercises
- 1.A: Appendix- Mathematical Foundations
- 2: Transmission Lines
- 2.1: Introduction
- 2.2: Transmission Line Theory
- 2.3: The Terminated Lossless Line
- 2.4: Special Cases of Lossless Terminated Lines
- 2.5: The Lossy Terminated Line
- 2.6: Reflections at Interfaces
- 2.7: Models of Transmission Lines
- 2.8: Two-Conductor Transmission Lines
- 2.9: Coaxial Line
- 2.10: Summary
- 2.11: References
- 2.12: Exercises
- 2.A: Appendix- Physical Constants and Material Properties
- 3: Planar Transmission Lines
- 4: Extraordinary Transmission Line Effects
- 4.1: Introduction
- 4.2: Frequency-Dependent Characteristics
- 4.3: High-Frequency Properties of Microstrip Lines
- 4.4: Multimoding on Transmission Lines
- 4.5: Parallel Plate Waveguide
- 4.6: Microstrip Operating Frequency Limitations
- 4.7: Multimoding Considerations for Coplanar Waveguide
- 4.8: Multimoding Considerations for Stripline
- 4.9: Power Losses and Parasitic Effects
- 4.10: Lines on Semiconductor Substrates
- 4.11: Summary
- 4.12: References
- 4.13: Exercises
- 5: Coupled Lines and Applications
- 5.1: Introduction
- 5.2: Physics of Coupling
- 5.3: Coupled Transmission Line Theory
- 5.4: Low Frequency Capacitance Model of Coupled Lines
- 5.5: Symmetric Coupled Transmission Lines
- 5.6: Formulas for Impedance of Coupled Microstrip Lines
- 5.7: Terminated Coupled Lines
- 5.8: Directional Coupler
- 5.9: Models of Parallel Coupled Lines
- 5.10: Differential and Common Modes
- 5.11: Common Impedance Coupling
- 5.12: Summary
- 5.13: References
- 5.14: Exercises
- 6: Waveguides
- Back Matter
- Microwave and RF Design III - Networks (Steer)
- Front Matter
- 1: Introduction to RF and Microwave Networks
- 2: Microwave Network Analysis
- 2.10: Summary
- 2.11: References
- 2.12: Exercises
- 2.1: Introduction
- 2.2: Two-Port Networks
- 2.3: Scattering Parameters
- 2.4: Generalized Scattering Parameters
- 2.5: Scattering Parameter Matrices of Common Two-Ports
- 2.6: \(T\) or Chain Scattering Parameters of Cascaded Two-Port Networks
- 2.7: Scattering Parameter Two-Port Relationships
- 2.8: Return Loss, Substitution Loss, and Insertion Loss
- 2.9: Scattering Parameters and Coupled Lines
- 3: Graphical Network Analysis
- 4: Microwave Measurements
- 5: Passive Components
- 5.10: Baluns
- 5.11: Combiners and Dividers
- 5.12: Transmission Line Transformer
- 5.13: Transmission Line-Based Hybrids
- 5.14: Summary
- 5.15: References
- 5.16: Exercises
- 5.1: Introduction
- 5.2: \(Q\) Factor
- 5.3: Integrated Lumped Elements
- 5.4: Surface-Mount Components
- 5.5: Terminations and Attenuators
- 5.6: Transmission Line Stubs and Discontinuities
- 5.7: Resonators
- 5.8: Magnetic Transformer
- 5.9: Hybrids
- 6: Impedance Matching
- 6.10: Summary
- 6.11: References
- 6.12: Exercises
- 6.1: Introduction
- 6.2: Matching Networks
- 6.3: Impedance Transforming Networks
- 6.4: The L Matching Network
- 6.5: Dealing with Complex Loads
- 6.6: Multielement Matching
- 6.7: Impedance Matching Using Smith Charts
- 6.8: Distributed Matching
- 6.9: Matching Options Using the Smith Chart
- 7: Broadband Matching
- Back Matter
- Microwave and RF Design IV: Modules (Steer)
- Front Matter
- 1: Introduction to RF and Microwave Modules
- 2: Filters
- 2.1: Introduction
- 2.2: Singly and Doubly Terminated Networks
- 2.3: The Lowpass Filter Prototype
- 2.4: The Maximally Flat (Butterworth) Lowpass Approximation
- 2.5: The Chebyshev Lowpass Approximation
- 2.6: Element Extraction
- 2.7: Butterworth and Chebyshev Filters
- 2.8: Impedance and Admittance Inverters
- 2.9: Filter Transformations
- 2.10: Cascaded Line Realization of Filters
- 2.11: Butterworth and Chebyshev Bandpass Filters
- 2.12: Richards’s Transformation
- 2.13: Kuroda’s and Norton’s Network Identities
- 2.14: Inter-resonator Coupled Bandpass Filters
- 2.15: Bandpass Filter Topologies
- 2.16: Case Study- Design of a Bandstop Filter
- 2.17: Active Filters
- 2.18: Transient Response of a Bandpass Filter
- 2.19: Summary
- 2.20: References
- 2.21: Exercises
- 3: Parallel Coupled-Line Filters
- 4: Noise, Distortion, and Dynamic Range
- 5: Passive Modules
- 6: Mixer and Source Modules
- 6.1: Introduction
- 6.2: Mixer
- 6.3: Single-Ended, Balanced, and Double Balanced Mixers
- 6.4: Local Oscillator
- 6.5: Voltage-Controlled Oscillator (VCO)
- 6.6: Phase Detector
- 6.7: Frequency Multiplier
- 6.8: Frequency Divider
- 6.9: Phase Locked Loop (PLL)
- 6.10: Direct Digital Synthesizer
- 6.11: Diode and Vacuum Sources
- 6.12: Summary
- 6.13: References
- 6.14: Exercises
- 7: Cascade of Modules
- 7.1: Introduction
- 7.2: Nonlinear Distortion of a Cascaded System
- 7.3: Cascaded Module Design Using the Budget Method
- 7.4: Cascaded Module Design Using the Contribution Method
- 7.5: Case Study- High Dynamic Range Down-Converter Design
- 7.6: Case Study- Analysis of a 15 GHz Receiver
- 7.7: Case Study- Frequency Planning of a Transceiver
- 7.8: Summary
- 7.9: References
- 7.10: Exercises
- Back Matter
- Microwave and RF Design V: Amplifiers and Oscillators (Steer)
- Front Matter
- 1: Introduction to Active RF and Microwave Circuits
- 2: Linear Amplifiers
- 2.1: Introduction
- 2.2: Linear Amplifier Design Strategies
- 2.3: Amplifier Gain Definitions
- 2.4: Amplifier Efficiency
- 2.5: Class A, AB, B, and C Amplifiers
- 2.6: Amplifier Stability
- 2.7: Amplifier Noise
- 2.8: Trading Off Gain, Noise, and Stability in Amplifier Design
- 2.9: Case Study- Narrowband Linear Amplifier Design
- 2.10: Summary
- 2.11: References
- 2.12: Exercises
- 3: Wideband Amplifiers
- 3.1: Introduction
- 3.2: Distributed Amplifiers
- 3.3: Case Study- Analysis of a Distributed Amplifier
- 3.4: Negative Image Amplifier Design
- 3.5: Case Study- Wideband Amplifier Design
- 3.6: Differential Amplifiers
- 3.7: Case Study- Distributed Biasing of Differential Amplifiers
- 3.8: Amplifiers and RFICs
- 3.9: Summary
- 3.10: References
- 3.11: Exercises
- 4: Power Amplifiers
- 4.1: Introduction
- 4.2: Simulation of Nonlinear Microwave Circuits
- 4.3: Switching Amplifiers, Classes D, E, and F
- 4.4: Distortion and Digitally Modulated Signals
- 4.5: Loadpull
- 4.6: Case Study- Design of a WiMAX Power Amplifier
- 4.7: Linearization
- 4.8: Advanced Power Amplifier Architectures
- 4.9: MMIC Power Amplifiers
- 4.10: RFIC Power Amplifiers
- 4.11: Summary
- 4.12: References
- 4.13: Exercises
- 5: Oscillators
- 5.1: Introduction
- 5.2: Oscillator Theory
- 5.3: Reflection Oscillator
- 5.4: Case Study- Reflection Oscillator
- 5.5: Voltage-Controlled Oscillator (VCO)
- 5.6: Case Study- Design of a C-Band VCO
- 5.7: Negative Transconductance Differential Oscillator
- 5.8: Advanced Discussion of Oscillator Noise
- 5.9: Case Study- Oscillator Phase Noise Analysis
- 5.10: Summary
- 5.11: References
- 5.12: Exercises
- Back Matter
- Introduction to Nanoelectronics (Baldo)
- Front Matter
- 1: The Quantum Particle
- 1.1: The Quantum Particle
- 1.2: Waves in electronics
- 1.3: Review of Classical Waves
- 1.4: Plane waves
- 1.5: The Double Slit Experiment
- 1.6: Interpretation of the double slit experiment
- 1.7: The Wavefunction
- 1.8: Frequency domain and k-space descriptions of waves
- 1.9: Linear Combinations of Waves
- 1.10: Wave packets and uncertainty
- 1.11: Examples of wavepackets
- 1.12: Expectation values of position
- 1.13: Bra and Ket Notation
- 1.14: Parseval’s Theorem
- 1.15: Expectation values of k and \(\omega\)
- 1.16: The Commutator
- 1.17: Momentum and Energy
- 1.18: The Uncertainty Principle
- 1.19: Uncertainty in Energy and Time
- 1.20: Application of the Uncertainty Principle
- 1.21: Schrödinger’s Wave Equation
- 1.22: A Summary of Operators
- 1.23: The Time Independent Schrödinger Equation
- 1.24: Free Particles
- 1.25: The Square Well
- 1.26: Matching piecewise solutions
- 1.27: Bound solutions
- 1.28: The limit that \(V_{0} \rightarrow \infty\) (the infinite square well)
- 1.29: The Finite Square Well
- 1.30: Potential barriers and Tunneling
- 1.31: Problems
- 2: The Quantum Particle in a Box
- 2.1: The Quantum Particle in a Box
- 2.2: How many electrons? Fermi-Dirac Statistics
- 2.3: Current
- 2.4: Metals and Insulators
- 2.5: The Density of States
- 2.6: The Particle in a Box
- 2.7: The Schrödinger Equation in Higher Dimensions
- 2.8: The 0-D DOS - Single Molecules and Quantum Dots Confined in 3-D
- 2.9: Periodic Boundary Conditions
- 2.10: The 1-D DOS - Quantum Wires Confined in 2-D
- 2.11: Periodic Boundary Conditions in 2-D
- 2.12: The 2-D Density of States - Quantum Wells Confined in 1-D
- 2.13: Periodic boundary conditions in 3-D
- 2.14: The 3-d DOS- bulk materials with no confinement
- 2.15: Problems
- 3: Two Terminal Quantum Dot Devices
- 3.1: Two Terminal Quantum Dot Devices
- 3.2: Quantum Dot / Single Molecule Conductors
- 3.3: Contacts
- 3.4: Equilibrium between contacts and the conductor
- 3.5: Calculation of the electrostatic capacitance
- 3.6: Current Flow in Two Terminal Quantum Dot/Single Molecule Devices
- 3.7: Calculation of Current
- 3.8: Analytic calculations of the effects of charging
- 3.9: A small signal circuit model
- 3.10: The Ideal Contact Limit†
- 3.11: Problems
- 4: Two Terminal Quantum Wire Devices
- 4.1: Two Terminal Quantum Wire Devices
- 4.2: Scattering and Ballistic Transport
- 4.3: Equilibrium between contacts and the conductor
- 4.4: Bias
- 4.5: The Spatial Profile of the Potential
- 4.6: The Quantum Limit of Conductance
- 4.7: The Landauer Formula†
- 4.8: Spatial variation of the electrochemical potential†
- 4.9: Ohm’s law
- 4.10: The Drude or Semi-Classical Model of Charge Transport
- 4.11: Mobility
- 4.12: Effective Mass
- 4.13: Comparing the quantum and Semi-Classical Drude models of conduction
- 4.14: Problems
- 5: Field Effect Transistors
- 5.1: Field Effect Transistors
- 5.2: FET switching
- 5.3: FET Calculations
- 5.4: Quantum Capacitance in FETs
- 5.5: Simplified models of FET switching
- 5.6: The Zero Charging Limit
- 5.7: The Strong Charging Limit
- 5.8: The temperature dependence of current in the OFF state
- 5.9: Transconductance
- 5.10: The Ballistic Quantum Wire FET
- 5.11: Quantum dot models of quantum wire transistor channels
- 5.12: Ballistic Quantum Wire FET Current-Voltage Characteristics at T = 0K.
- 5.13: Ballistic Quantum Well FETs
- 5.14: Comparison of ballistic and non-ballistic MOSFETs
- 5.15: Problems
- 6: The Electronic Structure of Materials
- 6.1: The hydrogen atom
- 6.2: Atoms to Molecules
- 6.3: Molecular orbitals
- 6.4: Linear combination of atomic orbitals (LCAO)
- 6.5: The Tight Binding Approximation
- 6.6: Solving for the energy
- 6.7: Examples of tight binding calculations
- 6.8: Polyacetylene
- 6.9: Crystals and periodic molecules
- 6.10: Polyacetylene (average bond model)
- 6.11: Polyacetylene (alternating bond model)
- 6.12: Graphene
- 6.13: Simple cubic, face centered cubic and diamond lattices
- 6.14: Bloch functions- wavefunctions in periodic molecules
- 6.15: The first Brillouin zone
- 6.16: 2-d and 3-d periodic materials
- 6.17: Tight Binding Calculations in Periodic molecules and crystals
- 6.18: Bandstructure of Bulk Semiconductors
- 6.19: Band Gaps and Conduction and Valence bands
- 6.20: Analytic approximations for the bandstructure of graphene and carbon nanotubes
- 6.21: Band diagrams
- 6.22: Semiconductors and Insulators
- 6.23: Problems
- 7: Fundamental Limits in Computation
- 7.1: Speed and power in CMOS circuits
- 7.2: Switching Speed
- 7.3: Scaling Limits in CMOS
- 7.4: Brief notes on information theory and the thermodynamics of computation
- 7.5: Reversible computers
- 7.6: Reversible Computers and Noise
- 7.7: The future of electronics?
- 7.8: So how can we approach the subthreshold limit?
- 7.9: And beyond?
- 7.10: Problems
- 8: References and Appendices
- Back Matter
- Introduction to Physical Electronics (Wilson)
- Front Matter
- 1: Conductors, Semiconductors and Diodes
- 1.1: Simple Conduction
- 1.2: Introduction to Semiconductors
- 1.3: Doped Semiconductors
- 1.4: P-N Junction, Part I
- 1.5: P-N Junction, Part II
- 1.6: Gauss's Law
- 1.7: Depletion Width
- 1.8: Forward Biased
- 1.9: The Diode Equation
- 1.10: Reverse Biased/Breakdown
- 1.11: Diffusion
- 1.12: Light Emitting Diode
- 1.13: LASER
- 1.14: Solar Cells
- 2: Bipolar Transistors
- 3: FETs
- 4: IC Manufacturing
- 4.1: Introduction to IC Manufacturing Technology
- 4.2: Silicon Growth
- 4.3: Doping
- 4.4: Fick's First Law
- 4.5: Fick's Second Law
- 4.6: Photolithography
- 4.7: Integrated Circuit Well and Gate Creation
- 4.8: Applying Metal/Sputtering
- 4.9: Integrated Circuit Manufacturing - A Bird's-Eye View
- 4.10: Diffused Resistor
- 4.11: Yield
- 5: Introduction to Transmission Lines
- 6: AC Steady-State Transmission
- 6.1: Introduction to Phasors
- 6.2: A/C Line Behavior
- 6.3: Terminated Lines
- 6.4: Line Impedance
- 6.5: Crank Diagram
- 6.6: Standing Waves/VSWR
- 6.7: Bilinear Transform
- 6.8: The Smith Chart
- 6.9: Introduction to Using the Smith Chart
- 6.10: Simple Calculations with the Smith Chart
- 6.11: Power
- 6.12: Finding ZL
- 6.13: Matching
- 6.14: Introduction to Parallel Matching
- 6.15: Single Stub Matching
- 6.16: Double Stub Matching
- 6.17: Odds and Ends
- Back Matter
- Operational Amplifiers: Theory and Practice (Roberge)
- Signal Processing and Modeling
- Fast Fourier Transforms (Burrus)
- Front Matter
- 1: Fast Fourier Transforms
- 2: Multidimensional Index Mapping
- 3: Polynomial Description of Signals
- 4: The DFT as Convolution or Filtering
- 5: Factoring the Signal Processing Operators
- 6: Winograd's Short DFT Algorithms
- 7: DFT and FFT - An Algebraic View
- 8: The Cooley-Tukey Fast Fourier Transform Algorithm
- 9: The Prime Factor and Winograd Fourier Transform Algorithms
- 10: Implementing FFTs in Practice
- 11: Algorithms for Data with Restrictions
- 12: Convolution Algorithms
- 13: Comments and Conclusion
- 14: Appendix
- Back Matter
- Signals and Systems (Baraniuk et al.)
- Front Matter
- 1: Introduction to Signals
- 1.1: Signal Classifications and Properties
- 1.2: Signal Size and Norms
- 1.3: Signal Operations
- 1.4: Common Continuous Time Signals
- 1.5: Common Discrete Time Signals
- 1.6: Continuous Time Impulse Function
- 1.7: Discrete Time Impulse Function
- 1.8: Continuous Time Complex Exponential
- 1.9: Discrete Time Complex Exponential
- 2: Introduction to Systems
- 3: Time Domain Analysis of Continuous Time Systems
- 3.1: Continuous Time Systems
- 3.2: Continuous Time Impulse Response
- 3.3: Continuous Time Convolution
- 3.4: Properties of Continuous Time Convolution
- 3.5: Eigenfunctions of Continuous Time LTI Systems
- 3.6: BIBO Stability of Continuous Time Systems
- 3.7: Linear Constant Coefficient Differential Equations
- 3.8: Solving Linear Constant Coefficient Differential Equations
- 4: Time Domain Analysis of Discrete Time Systems
- 4.1: Discrete Time Systems
- 4.2: Discrete Time Impulse Response
- 4.3: Discrete Time Convolution
- 4.4: Properties of Discrete Time Convolution
- 4.5: Eigenfunctions of Discrete Time LTI Systems
- 4.6: BIBO Stability of Discrete Time Systems
- 4.7: Linear Constant Coefficient Difference Equations
- 4.8: Solving Linear Constant Coefficient Difference Equations
- 5: Introduction to Fourier Analysis
- 6: Continuous Time Fourier Series (CTFS)
- 7: Discrete Time Fourier Series (DTFS)
- 8: Continuous Time Fourier Transform (CTFT)
- 9: Discrete Time Fourier Transform (DTFT)
- 10: Sampling and Reconstruction
- 11: Laplace Transform and Continuous Time System Design
- 11.1: Laplace Transform
- 11.2: Common Laplace Transforms
- 11.3: Properties of the Laplace Transform
- 11.4: Inverse Laplace Transform
- 11.5: Poles and Zeros in the S-Plane
- 11.6: Region of Convergence for the Laplace Transform
- 11.7: Rational Functions and the Laplace Transform
- 11.8: Differential Equations
- 11.9: Continuous Time Filter Design
- 12: Z-Transform and Discrete Time System Design
- 13: Capstone Signal Processing Topics
- 14: Appendix A- Linear Algebra Overview
- 15: Appendix B- Hilbert Spaces Overview
- 15.1: Fields and Complex Numbers
- 15.2: Vector Spaces
- 15.3: Norms
- 15.4: Inner Products
- 15.5: Hilbert Spaces
- 15.6: Cauchy-Schwarz Inequality
- 15.7: Common Hilbert Spaces
- 15.8: Types of Bases
- 15.9: Orthonormal Basis Expansions
- 15.10: Function Space
- 15.11: Haar Wavelet Basis
- 15.12: Orthonormal Bases in Real and Complex Spaces
- 15.13: Plancharel and Parseval's Theorems
- 15.14: Approximation and Projections in Hilbert Space
- 16: Appendix C- Analysis Topics Overview
- 17: Appendix D- Viewing Interactive Content
- Back Matter
- Discrete Stochastic Processes (Gallager)
- Front Matter
- 1: Introduction and Review of Probability
- 2: Poisson Processes
- 3: Finite-State Markov Chains
- 4: Renewal Processes
- 4.1: Introduction to Renewal Processes
- 4.2: The Strong Law of Large Numbers and Convergence WP1
- 4.3: Strong Law for Renewal Processes
- 4.4: Renewal-Reward Processes and Time-Averages
- 4.5: Random Stopping Trials
- 4.6: Expected Number of Renewals
- 4.7: Renewal-reward Processes and Ensemble-averages
- 4.10: Exercises
- 4.8: Delayed Renewal Processes
- 4.9: Summary
- 5: Countable-state Markov Chains
- 6: Markov processes with countable state spaces
- 7: Random Walks, Large Deviations, and Martingales
- 7.1: Introduction
- 7.2: The Queueing Delay in a G/G/1 Queue
- 7.3: Detection, Decisions, and Hypothesis Testing
- 7.4: Threshold Crossing Probabilities in Random Walks
- 7.5: Thresholds, Stopping Rules, and Wald's Identity
- 7.6: Martingales
- 7.7: Submartingales and Supermartingales
- 7.8: Stopping Processes and Stopping Trials
- 7.9: The Kolmogorov Inequalities
- 7.10: Markov Modulated Random Walks
- 7.11: Summary
- 7.12: Exercises
- Back Matter
- Information and Entropy (Penfield)
- Front Matter
- 1: Bits
- 2: Codes
- 3: Compression
- 4: Errors
- 5: Probability
- 6: Communications
- 7: Processes
- 8: Inference
- 9: Principle of Maximum Entropy
- 10: Physical Systems
- 11: Energy
- 12: Temperature
- 13: Quantum Information
- 13.1: Quantum Information Storage
- 13.2: Model 1- Tiny Classical Bits
- 13.3: Model 2- Superposition of States (the Qubit)
- 13.4: Model 3- Multiple Qubits with Entanglement
- 13.5: Detail- Qubit and Applications
- 13.6: Bracket Notation for Qubits
- 13.7: No Cloning Theorem
- 13.8: Representation of Qubits
- 13.9: Quantum Communication
- 13.10: Quantum Algorithms
- 13.11: Quantum Information Science
- Back Matter
- Introduction to Linear Time-Invariant Dynamic Systems for Students of Engineering (Hallauer)
- Front Matter
- 1: First and Second Order Systems; Analysis; and MATLAB Graphing
- 1.1: Introduction
- 1.2: LTI Systems and ODEs
- 1.3: The Mass-Damper System I - example of 1st order, linear, time-invariant (LTI) system and ordinary differential equation (ODE)
- 1.4: A Short Discussion of Engineering Models
- 1.5: The Mass-Damper System II - Solving the 1st order LTI ODE for time response, given a pulse excitation and an IC
- 1.6: The Mass-Damper System III - Numerical and Graphical Evaluation of Time Response using MATLAB
- 1.7: Good Engineering Graphical Practice
- 1.8: Plausibility Checks of System Response Equations and Calculations
- 1.9: The Mass-Damper-Spring System - A 2nd Order LTI System and ODE
- 1.10: The Mass-Spring System - Solving a 2nd order LTI ODE for Time Response
- 1.11: Homework problems for Chapter 1
- 2: Complex Numbers and Arithmetic, Laplace Transforms, and Partial-Fraction Expansion
- 3: Mechanical Units, Low-Order Mechanical Systems, and Simple Transient Responses of First Order Systems
- 3.1: Common Mechanical Units
- 3.2: Calculation of Mass from Measured Weight
- 3.3: Reaction Wheel
- 3.4: Simples Transient Responses of First Order Systems, First Order Time Constants and Settling Times
- 3.5: Aileron-Induced Rolling of an Airplane or Missile
- 3.6: Translational Spring and Viscous Damper (Dashpot)
- 3.7: More Examples of Damped Mechanical Systems
- 3.8: Chapter 3 Homework
- 4: Frequency Response of First Order Systems, Transfer Functions, and General Method for Derivation of Frequency Response
- 4.1: Definition of Frequency Response
- 4.2: Response of a First Order System to a Suddenly Applied Cosine
- 4.3: Frequency Response of the First Order Damper-Spring System
- 4.4: Period, Frequency, and Phase of Periodic Signals
- 4.5: Derivation of the Complex Frequency-Response Function - Easy derivation of the complex frequency-response function for standard stable first order systems.
- 4.6: Transfer Function - General Definition
- 4.7: Frequency-Response Function from Transfer Function
- 4.8: Chapter 4 Homework
- 5: Basic Electrical Components and Circuits
- 6: General Time Response of First Order Systems by Application of the Convolution Integral
- 6.1: The Convolution Transform and Its Inverse - the Convolution Integral
- 6.2: General Solution of the Standard Stable First Oder ODE and IC by Application of the Convolution Integral
- 6.3: Examples of First Order System Response
- 6.4: General Solution of the Standard First Order Problem - an Alternative Derivation
- 6.5: Numerical Algorithm for the General Solution of the Standard First Order Problem
- 6.6: Chapter 6 Homework
- 7: Undamped Second Order Systems
- 7.1: Standard Form for Undamped Second Order Systems and Natural Frequency
- 7.2: General Solution for Output of Undamped Second Order Systems
- 7.3: Simple IC Response and Step Response of Undamped Second Order Systems
- 7.4: Discussion of Physical Applicability of Step-Response Solutions
- 7.5: Dynamic Motion of a Mechanical System Relative to a Non-Trivial Static Equilibrium Position; Dynamic Free-Body Diagram
- 7.6: Introduction to Vibrations of Distributed-Parameter Systems
- 7.7: Chapter 7 Homework
- 8: Pulse Inputs; Dirac Delta Function; Impulse Response; Initial Value Theorem; Convolution Sum
- Fast Fourier Transforms (Burrus)
- Introductory Electrical Engineering