--
 ☰
Python Across Disciplines
with Python + AI Tool   
×
Table of Contents

1.1.   Introduction 1.2.   About the Author & Contact Info 1.3.   Book Conventions 1.4.   What (Who) is a Programmer? 1.5.   Programming Across Disciplines 1.6.   Foundational Computing Concepts 1.7.   About Python 1.8.   First Steps 1.8.1 Computer Setup 1.8.2 Python print() Function 1.8.3 Comments
2.1. About Data 2.2. Data Types 2.3. Variables 2.4. User Input 2.5. Data Structures (DS)         2.5.1. DS Concepts         2.5.2. Lists         2.5.3. Dictionaries         2.5.4. Others 2.6. Files         2.6.1. Files & File Systems         2.6.2. Python File Object         2.6.3. Data Files 2.7. Databases
3.1. About Processing 3.2. Decisions         3.2.1 Decision Concepts         3.2.2 Conditions & Booleans         3.2.3 if Statements         3.2.4 if-else Statements         3.2.5 if-elif-else Statements         3.2.6 In-Line if Statements 3.3. Repetition (a.k.a. Loops)         3.3.1  Repetition Concepts         3.3.2  while Loops         3.3.3  for Loops         3.3.4  Nested Loops         3.3.5  Validating User Input 3.4. Functions         3.4.1  Function Concepts         3.4.2  Built-In Functions         3.4.3  Programmer Defined Functions 3.5. Libraries         3.5.1  Library Concepts         3.5.2  Standard Library         3.5.3  External Libraries 3.6. Processing Case Studies         3.6.1  Case Studies         3.6.2  Parsing Data
4.1. About Output 4.2. Advanced Printing 4.3. Data Visualization   4.4  Sound
  4.5  Graphics
  4.6  Video
  4.7  Web Output
  4.8  PDFs & Documents
  4.9  Dashboards
  4.10  Animation & Games
  4.11  Text to Speech

5.1 About Disciplines 5.2 Accounting 5.3 Architecture 5.4 Art 5.5 Artificial Intelligence (AI) 5.6 Autonomous Vehicles 5.7 Bioinformatics 5.8 Biology 5.9 Bitcoin 5.10 Blockchain 5.11 Business 5.12 Business Analytics 5.13 Chemistry 5.14 Communication 5.15 Computational Photography 5.16 Computer Science 5.17 Creative Writing 5.18 Cryptocurrency 5.19 Cultural Studies 5.20 Data Analytics 5.21 Data Engineering 5.22 Data Science 5.23 Data Visualization 5.24 Drone Piloting 5.25 Economics 5.26 Education 5.27 Engineering 5.28 English 5.29 Entrepreneurship 5.30 Environmental Studies 5.31 Exercise Science 5.32 Film 5.33 Finance 5.34 Gaming 5.35 Gender Studies 5.36 Genetics 5.37 Geography 5.38 Geology 5.39 Geospatial Analysis ☯ 5.40 History 5.41 Humanities 5.42 Information Systems 5.43 Languages 5.44 Law 5.45 Linguistics 5.46 Literature 5.47 Machine Learning 5.48 Management 5.49 Marketing 5.50 Mathematics 5.51 Medicine 5.52 Military 5.53 Model Railroading 5.54 Music 5.55 Natural Language Processing (NLP) 5.56 Network Analysis 5.57 Neural Networks 5.58 Neurology 5.59 Nursing 5.60 Pharmacology 5.61 Philosophy 5.62 Physiology 5.63 Politics 5.64 Psychiatry 5.65 Psychology 5.66 Real Estate 5.67 Recreation 5.68 Remote Control (RC) Vehicles 5.69 Rhetoric 5.70 Science 5.71 Sociology 5.72 Sports 5.73 Stock Trading 5.74 Text Mining 5.75 Weather 5.76 Writing
6.1. Databases         6.1.1 Overview of Databases         6.1.2 SQLite Databases         6.1.3 Querying a SQLite Database         6.1.4 CRUD Operations with SQLite         6.1.5 Connecting to Other Databases
Built-In Functions Conceptss Data Types Date & Time Format Codes Dictionary Methods Escape Sequences File Access Modes File Object Methods Python Keywords List Methods Operators Set Methods String Methods Tuple Methods Glossary Index Appendices   Software Install & Setup
  Coding Tools:
  A.  Python    B.  Google CoLaboratory    C.  Visual Studio Code    D.  PyCharm IDE    E.  Git    F.  GitHub 
  Database Tools:
  G.  SQLite Database    H.  MySQL Database 


Python Across Disciplines
by John Gordon © 2023

Table of Contents

Table of Contents  »  Chapter 1 : Preliminaries : Programming Across Disciplines

Programming Across Disciplines

Contents

Overview

There was a time when computer programming was almost entirely within the domain of Computer Science (CS); however, that has changed. Programming now transcends traditional boundaries, embedding itself as a fundamental skill across various (I dare say nearly all) disciplines. The following commentary on the growing significance of programming in non-STEM (Science, Technology, Engineering, and Math (STEM)) areas gives a brief overview of the importance of Programming Across Disciplines (PAD).

What is Programming Across Disciplines?

As programming becomes increasingly common in non-technical fields, such as the Humanities, we see how powerful programming languages like Python and AI tools like ChatGPT are in those environments. Combined with advances in data-related technologies like

... and with humanist approaches to studying code, data, and algorithms, like

... programming in fields within the Humanities is becoming commonplace. This leads us to question how programming is perceived, learned, and mastered. Historically, programming education heavily influenced by science and math. Programming students were expected to be well-versed in these fields to advance in CS courses. This is still, rightly, the case in Computer Science degree programs. Interdisciplinary study and use of programming breaks away from science and math in many ways, though, as the humanist study of code, data, and algorithms is not generally numerical, but rather textual and language-driven. Programming tools like Python, ChatGPT, and others are powerful and openly available easily to work with textual and language-based data without demanding a heavy mathematical background. Humanist researchers and professionals in non-CS fields take to programming with these tools quite readily.

In Chapter 5  of this book, I have compiled a list of over seventy disciplines with summaries of how Python programming is used in those disciplines. That list demonstrates the breadth and depth of possibilities for programming from a large number of disciplinary perspectives.

Disciplinarity

As we consider programming in various disciplines, we should also consider collaborative work in which people from more than one discipline engage in joint projects to address or solve large problems, challenges, or tasks. Here are some key terms related to work across disciplines and ways in which we consider how disciplines function and can work together.

Disciplinary: This approach involves a single discipline or field of study. The focus is on deepening knowledge and expertise within a specific academic or professional domain. For example, a physicist working solely within the realm of physics, using theories and methods specific to physics, is engaging in disciplinary research or study.

Interdisciplinary: This approach integrates knowledge and methods from different disciplines, synthesizing approaches to address a common problem or topic. Unlike disciplinary work, which is confined to the boundaries of a single field, interdisciplinary work crosses these boundaries. For example, a project combining psychology and sociology insights to study human behavior is interdisciplinary.

Multidisciplinary: In a multidisciplinary approach, experts from various disciplines work together, each contributing from their discipline's perspective, but the disciplines remain distinct within the project. The focus is more on adding perspectives rather than integrating them. For instance, a health research project might involve a doctor, a sociologist, and an economist, each analyzing the issue from their disciplinary viewpoint.

Transdisciplinary: This approach goes beyond simply combining different disciplines and seeks to transcend them, creating a new holistic approach. It integrates and transcends disciplinary boundaries to develop new frameworks and perspectives. Transdisciplinary approaches are seen in efforts to address complex societal issues that cannot be understood fully from a single disciplinary perspective. For example, addressing climate change might require a transdisciplinary approach that combines and evolves beyond traditional disciplines like environmental science, economics, and political science.

Benefits of the Humanist Perspective in Programming

Studying programming from a humanist perspective offers distinct advantages for any student, whether from a technical field (Computer Science, Information Systems, Engineering, Science, Mathematics, etc.) or a non-technical field (Humanities, Social Science, Behavioral Science, Law, etc. Let's briefly explore how each group can benefit:

In both fields, "Programming for the Humanities" bridges the technical aspects of computer science and information systems and the human-centric approach of the humanities. This course can broaden students' perspectives, making them more versatile and empathetic professionals equipped to design and implement technology solutions that are both efficient and socially and ethically conscious.

Computer Science (Science/Engineering Focus)

Information Systems (Business Focus)

Humanities

Connections to Commercial, Government and Non-Profit Sectors

Studying programming from a humanist perspective equips students with a unique skill set that is highly valuable in various sectors post-graduation, including commercial, government, and non-profit organizations. Here's how this interdisciplinary knowledge benefits individuals in these areas:

Commercial Sector

Government Sector

Non-Profit Sector

 






© 2023 John Gordon
Cascade Street Publishing, LLC