Python Fundamentals Training for Non-Programmers
Course 1904
2 DAY COURSE

Price: $1,404.00
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. In addition, comparisons with other languages, such as Java and C#, will be discussed. Development techniques include requirements, design, code generation, testing and debugging.

As a result, you 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:

    • Demonstrate the fundamental aspects of modern programming.
    • Design and implement an application using Python.
    • Write cohesive object-oriented logic (classes and libraries).
    • Leverage integrated development tools for code editing, execution, testing, and debugging.
    • Access data files to save and restore persistent information.
    • Distinguish between Python and other languages such as C# or Java.
  • Prerequisites

    None.

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 Eclipse and PyDev
  • The course case study
  • Demo – Using Eclipse
  • Hands-On Exercise – Creating a Python Program with PyDev

Chapter 3 – Controlling Program Flow

Making Decisions with Conditionals
  • if/elif/else statements
  • Criteria expressions
  • in and not in
  • Hands-On Exercise 3.1 – Conditional Logic
Repeating Program Logic with Loops
  • Counting loops and for/Range
  • For-each Loops
  • Iterating a List
  • Loop control
  • break and continue
  • Hands-On Exercise 3.2 – Programming loops
Writing and Calling Functions
  • Function definition
  • return statement
  • Accepting parameters
  • Returning results
  • Importing modules and functions
  • Cross-module calls
  • Calling library functions
  • Hands-On Exercise 3.3 – Writing 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
  • Discussion – object needs of the case study
  • Hands-On Exercise – Defining Classes
Encapsulation and Constructors
  • Why encapsulate?
  • Specifying Private properties and methods
  • Access from external modules
  • Purpose of __init__(self) method
  • Constructor parameters for required data
  • Discussion – case study object-oriented design
  • Hands-On Exercise – Encapsulation and Constructors
Code Quality and Testing
  • Discussion – Don’t you just hate when a program does…
  • Improving the user experience
  • Optional Hands-On Exercise – User interface improvement

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
  • Hands-On Exercise – Laying out a GUI for the case study
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
Manipulating the file system
  • Deleting, renaming and checking file existence
  • path and path.exists examples
  • Hands-On Exercise – Reading and writing a user historical log
About Relational Databases
  • Why is it relational?
  • Primary and foreign keys
  • Tables and joins
  • SQL Language
  • Non-procedural approach

Chapter 7 – Other Languages and Code Quality

Comparison of Python to other languages
  • Java and C# features
  • Similar concepts, different syntax
Code and Program Quality
  • What makes a good user experience
  • What is quality code

Chapter 8 – Course Summary

Next Steps
  • For more on Python
  • For more on Java or C#
Objectives
  • Review of course topics
Course Dates

For course questions or any customer service inquiry, please contact your Customer Service team at BAHCustomerService@LearningTree.com.

We are excited that Learning Tree now offers a deferred direct bill payment option for Booz Allen employees. The deferred direct bill payment option enables employees to enroll in learning opportunities with no upfront costs. This payment option will require the employee to sign a Family Educational Rights and Privacy Act (FERPA) agreement with Learning Tree to release grades/completion to Booz Allen to satisfy the FlexEd Program completion requirement. Note, Learning Tree may also be used for the FlexEd Program reimbursement payment option.

Attendance Method
Additional Details (optional)

Private Team Training

Interested in this course for your team? Please complete and submit the form below and we will contact you to discuss your needs and budget.