Python Fundamentals Training for Non-Programmers

Course Outline

This hands-on course is intended for those individuals with little or no software development experience. Starting with the most fundamental elements, this training evolves your skills to produce complete computer applications, including the user interface, business logic and data access layers. During the course, attendees will write code using Python, one of the most popular modern languages and highly suitable for beginners. Development techniques include requirements, design, code generation, testing and debugging.

Of special note, this course combines adaptive learning (AdaptaLearn) with the use of Generative AI (Chat.OpenAI) to accelerate your pace of learning and ability to do hands-on development work. This will ensure you are highly productive Python programmers the moment you return to your office. A post-course AI-driven hands-on practicum is provided for ongoing practice and improvement.

With this course, you will gain all the pre-requisite skills necessary to carry on to more language-specific training appropriate for the type of applications your organization needs, be they data science, web development, embedded real-time systems or other.

Python Fundamentals Training for Non-Programmers Benefits

  • In this Python for Non-Programmers course, you will learn how to:

    • Begin developing modern computer applications.
    • Design and implement an application using Python.
      Write cohesive object-oriented logic (classes and libraries).
    • Leverage Generative AI (Chat.OpenAI) and modern integrated development tools (PyCharm) for code editing, execution, testing, and debugging.
    • Access data files to save and restore persistent information.
  • Prerequisites

    Basic computer literacy is expected. Attendees will need to know how to use Microsoft Windows to edit and copy files both in Windows Explorer and via a command prompt. Prior programming experience is not needed.

Python Training for Non-Programmers Course Outline

Chapter 1 – Starting to Program

Principles of Programming

  • How computers solve problems
  • Language types and evolution
  • Procedural logic
  • Object Orientation
  • Bugs and other challenges

Syntax and Semantics

  • About Python
  • Statements and comments
  • Literals, Variables and Data Types
  • Collection Types
  • Expressions and Operators
  • Strings, Concatenation, and type conversion
  • Demo – accessing exercise computers and Py
  • Hands-On Exercise – First Python program using Py

Chapter 2 – Development Tools

Program Layout and Organization

  • Modules and Packages
  • Integrated Development Environments (IDEs)
  • Introduction to PyCharm

Chapter 3 – Controlling Program Flow

Making Decisions with Conditionals

  • if/elif/else statements
  • Criteria expressions
  • in and not in

Repeating Program Logic with Loops

  • Counting loops and for/Range
  • For-each Loops
  • Iterating a List
  • Loop control

Writing and Calling Functions

  • Function definition
  • return statement
  • Accepting parameters
  • Returning results
  • Importing modules and functions
  • Cross-module calls
  • Calling library functions

Chapter 4 – Object-Oriented Programming

Why Object Oriented?

  • Challenges with purely procedural code
  • Global variables – not the solution
  • Principles and style of object orientation

Classes and Objects

  • Defining classes
  • Properties vs local variables
  • Methods vs functions
  • Creating objects
  • Object state and instance data

Chapter 5 – User Interfaces and Events

Graphical UI Frameworks

  • 3-layer model
  • What is a framework?
  • Framework choices
  • GUI Philosophy
  • Why Tkinter (tinker)

Windows, Frames and Widgets

  • Familiar widgets – from labels to radio buttons
  • The GUI class structure and layout
  • Adding widgets to a form
  • Geometry manager
  • pack(), vs grid() vs place()
  • Adding widgets to a frame
  • Adding a frame to a window
  • Using grids – automatic rows and columns
  • Tk Choice properties
  • Radio button example

 Events and Event Binding

  • Philosophy of event-driven programming
  • Event types
  • Binding to events using bind()
  • Button click event
  • Keyboard enter-key event
  • Choice widget command options
  • Command response function vs event method
  • Discussion – An event has happened, now what?
  • Hands-On Exercise – Adding events for the case study.

Chapter 6 – Input and Output

Accessing Files

  • Types of data input
  • Flat vs serialization vs big data vs database
  • I/O streams
  • Opening modes – read, write and append
  • New files vs appending
  • Reading/writing binary, raw and character data
  • Handling exceptions
  • Preventing exceptions

Chapter 7 – Leveraging Generative AI

Capabilities and Concepts of Gen AI

  • The AI megatrend
  • How GenAI works
  • The promise and the pitfalls 
  • AI Ethics

Preparing AI prompts and queries

  • Elements of an effective prompt 
  • Succinct polite queries
  • Background...Goal...Rationale format 
  • Repeat and regenerate until satisfied.
  • Designing the post-course practicum

Chapter 8 – Course Summary

Next Steps

Course Dates - North America
Course Dates - Europe
Attendance Method
Additional Details (optional)