
The first official session will answer:
Why Python?
How to see if Python >= 3.6 is installed?
Where can we go to get an installer?
The session will answer:
What is MicroPython?
Is Python 3.6 obsolete?
What is the difference between Python & Python3?
What are "Python Scripts"?
What is "The Zen of Python"?
How can I use Python as a calculator?
Why "Batteries Included"?
How can Python show the current time?
The session will answer:
What is a "script file"?
What is a "new line"?
Can Python use "text editors"?
What is a "she bang" - Why is it important?
How do I run a program from a command line?
This session will answer:
What is the "REPL Mode"?
What does a UML Activity Diagram look like?
Can I input & evaluate an expression without REPL?
What is an Integrated Development Environment?
How does a Python IDE work?
How can I debug under IDLE?
How can a set IDLE fonts & sizes?
How can IDLE auto-save my code?
What are the 5 common debugger operations?
Why do they call it "debugging"?
How is the '_' used in CPython's REPL session?
What is an "L-Value"?
This session will answer:
What are "code blocks"?
What is the most difficult code formatting challengs?
How can I fix tab & spacing problems?
How do we define functions?
How can we re-use our own functions?
What are "member functions?"
What is the difference between assignment and equality?
What does a Flowchart look like?
What is a "Predefined Procedure?"
Can we expect code to match a Flowchart?
Learn to test Python first-class functions with docstrings and doctest in REPL, distinguishing calling with parentheses from inspecting the function, and run tests to verify behavior.
Practice Python module importation by running a hello world test, importing Mihai, and toggling a dunder name gatekeeper to display or hide a banner using the command line.
Explore Python collection notations versus nominal iteration, strings, quotes and docstrings, and master operations like capitalize, join, find, and the in keyword with zero-based indexing.
Master string formatting with f strings and center, left-justify, or right-justify text in a 12-space frame, using square braces; create banners with a make string operation generating 20 stars.
Explore the immutable tuple in Python, a finite, ordered collection whose items cannot be reassigned, unlike lists, and learn zero-based indexing and the contents of operator.
Explore how to iterate over tuples and strings, recognizing what is iterable and what isn’t, including why a float isn’t iterable but its string is.
Very much on our crytical path let's take a moment to review the oddities we must understand when reading, saving, nd converting boolean values.
Much like our "C.R.U.D+S" mantra, creating "Truth Tables" also ensure that no possibilites are ever overlooked.
Explore Python fundamentals by building crud operations using dictionaries and primitive data types, and learn function design, first-class functions, and main module patterns for practical apps.
Discover how to search data files without limits by opening and scanning files, counting matches, and returning results, while illustrating Python module aliasing and namespace encapsulation for flexible search operations.
Explore common data interchange formats, including csv, json, xml, yaml, and tab or pipe delimited styles, and learn how to export, save, and load data for spreadsheets and text editors.
Explore SQLite's data definition language and data manipulation language, learning create table, drop table, and alter table, along with select, insert, update, and delete operations.
Explore SQLite data types such as blob and clob, how the none keyword maps to null in Python, and plan a final project building a users db module with users.csv.
Educational Overview
Randall Nagy’s Introduction to Programming Seminar is a one-day educational opportunity. The Seminar is designed to show you how to create your own data management applications, on your own computer, in a single day.
Programming Language
This Seminar uses the Python programming language. Commonly available on every popular operating system, Python powers countless applications in data science, software development, machine learning, artificial intelligence, and in the Cloud.
Educational Approach
A critical-path approach this Introduction to Programming Seminar focuses upon the core-concepts you’ll need to Create, Read, Update, Delete, and Search (CRUD+S) records (1) stored in memory, (2) within Comma Separated Variable (CSV) files, as well as (3) in SQL Databases.
Introductions to professional topics such as flowcharts, design patterns, testing, databases, data types, collections, and using GitHub are part of this Agile learning experience.
Topics Include:
1. Overview & Introduction
a. The Three Things All Programs Must Do
b. Installing Python
c. IDE’s & Code Editing Caveats
2. Python Basics
a. The R.E.P.L Mode
b. Flow-charting Basics
c. Comments & Conditional Blocks
d. First-Class Functions
e. Functional Tests
3. Intermediate Python
a. Classic Data Types
b. Common Collection Types
c. Data Validation
d. Exception Management
4. Using GitHub
a. Prompter 9000
b. PyDAO 9000
c. PyQuest
5. Application Creation
a. The C.R.U.D+S Design Pattern
b. Managing Internal Data Storage
c. Querying By Example
d. Data Interchange Formats
e. SQLite
f. From Text User Interface (TUI) to GUI
g. Formatting & Reporting Basics
Upon successful completion of this Introduction to Programming Seminar you’ll be able to write, test, enhance and maintain software. You’ll not only have the technical skills required to learn more about programming, Modern Python, and computer science, but also walk away with problem-solving abilities required to create software on your own computer.
Seminar Prerequisites
Please note that basic computer skills are required. The ability to type, copy and paste code using your operating system’s clipboard, locate and open files, as well as to download and install software is required.