Python Programming: Advanced
In this course, you will expand your Python proficiencies.
You will:
- Create object-oriented Python applications.
- Design and create a GUI.
- Store data in a database from Python applications.
- Communicate using client/server network protocols.
- Manage multiple processes with threading.
- Implement unit testing.
- Package an application for distribution.
To ensure your success in this course, you should have experience with object-oriented programming and Python 2.x or 3.x. You can obtain this level of skill and knowledge by taking the following United States Career Campus course:
- Python® Programming: Introduction
- Windows® 10/8.1/8/7/Vista (64-bit).
NOTE: This course was successfully keyed on Windows 10. Some activity steps may not key exactly as written if students key on a different version of Windows.
- Python version 3.4.2 (python-3.4.2.amd64.msi, provided with the course data files).
- PyCharm Community Edition version 3.4.1 ( pycharm-community-3.4.1.exe, provided with the course data files).
NOTE: Python is distributed under the Python Software Foundation License (PSFL). PyCharm Community Edition is distributed under the Apache® License 2.0.
- If necessary, software for viewing the course slides. (Instructor machine only.)
For this course, you will need one computer for each student and one for the instructor. Each computer will need the following minimum hardware configurations:
- 1 GHz or faster 32-bit (x86) or 64-bit (x64) processor
- 2 gigabytes (GB) RAM (32-bit or 64-bit)
- 20 GB available hard disk space (32-bit or 64-bit)
- Keyboard and mouse (or other pointing device)
- 1,024 x 768 resolution monitor recommended
- Projection system to display the instructor's computer screen
- Local area network and Internet connection recommended
Lesson 1: Using Object-Oriented Python
Topic A: Create and Use Classes in an Application
Topic B: Use Magic Methods
Topic C: Incorporate Class Factories
Lesson 2: Creating a GUI
Topic A: Design a GUI
Topic B: Create and Arrange a GUI Layout
Topic C: Interact with User Events
Lesson 3: Using Databases
Topic A: Basics of Data Management
Topic B: Use SQLite Databases
Topic C: Manipulate SQL Data
Lesson 4: Network Programming
Topic A: Basics of Network Programming
Topic B: Create a Client/Server Program
Lesson 5: Managing Multiple Processes with Threading
Topic A: Create a Threaded Application
Topic B: Manage Thread Resources
Lesson 6: Implementing Unit Testing
Topic A: Test-Driven Development
Topic B: Write and Run a Unit Test Case
Topic C: Create a Test Suite
Lesson 7: Packaging an Application for Distribution
Topic A: Create a Package Structure
Topic B: Generate the Package Distribution Files
Topic C: Generate a Windows Executable