Advanced Programming Techniques with Python (Second Edition)
Python® continues to be a popular programming language, perhaps owing to its easy learning curve, small code footprint, and versatility for business, web, and scientific uses. It's proven to be a useful language for developing custom software tools, desktop programs, web services, and cloud applications.
In this course, you'll build upon your basic Python skills, learning more advanced topics such as object-oriented programming patterns, development of graphical user interfaces, data management, creating web-based apps, performing data science tasks, unit testing, and creating and installing packages and executable applications.
In this course, you will apply advanced programming techniques using Python. You will:
- Design applications around the object-oriented programming paradigm.
- Create object-oriented applications.
- Create desktop applications.
- Create data-driven applications.
- Create and secure web-based applications.
- Program Python for data science.
- Implement exception handling and unit testing.
- Package applications for distribution.
To ensure your success in this course, you should have experience with object-oriented programming and Python 3. You can obtain this level of skills and knowledge by taking the following United States Career Campus LLC course:
- Introduction to Programming with Python® (Second Edition)
- Microsoft® Windows® 10 or 11 64-bit.
- Oracle® VM VirtualBox version 7.0.6 (VirtualBox-7.0.6-155176-Win.exe).
VirtualBox is distributed with the course data files under version 2 of the GNU General Public License (GPL).
- If necessary, software for viewing the course slides. (Instructor machine only.)
NOTE: While it is possible to run VirtualBox on other operating systems, this course was written and tested using Windows 11. If your classroom computers will use a different operating system, it is highly recommended that you install and test VirtualBox and the course VMs on the computers to make sure you can key through the course successfully before delivering a class.
NOTE: The Linux operating system is already installed on the VM that will be loaded in VirtualBox. Specifically, this VM runs the Lubuntu 24.04 ("Noble Numbat") distribution.
NOTE: The system on the VM is configured to log the user in automatically. If you or your students are prompted at any time to log in, the account is named student and the password is Pa22w0rd.
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:
- Modern x86-64 processor.
- Most Intel Core processors and AMD Zen processors since 2017 should be sufficient. Using an older processor may work, but could lead to sluggishness in the VM.
- 8 gigabytes (GB) of random-access memory (RAM).
- 25 GB available storage space.
- Mouse, keyboard, and monitor.
- High-speed, stable Internet connection.
- For the instructor's computer, a method to project and/or share the screen as needed for local and remote class participants.
Lesson 1: Designing Object-Oriented Applications
Topic A: Select an Object-Oriented Programming Approach
Topic B: Leverage the Benefits of Object-Oriented Programming
Lesson 2: Creating Object-Oriented Applications
Topic A: Create Classes
Topic B: Use Built-In Methods
Topic C: Implement the Factory Design Pattern
Lesson 3: Creating Desktop Applications
Topic A: Design Graphical User Interfaces (GUIs)
Topic B: Create Interactive Applications
Lesson 4: Creating Data-Driven Applications
Topic A: Connect to Databases
Topic B: Manage Data in Databases
Lesson 5: Creating and Securing Web-Based Applications
Topic A: Program Network Communications
Topic B: Create RESTful Web Services
Topic C: Create Clients for Web Services
Topic D: Secure Connected Applications
Lesson 6: Programming Python for Data Science
Topic A: Clean Data
Topic B: Visualize Data
Topic C: Implement Basic Machine Learning Using Regression
Lesson 7: Implementing Exception Handling and Unit Testing
Topic A: Handle Exceptions
Topic B: Write Unit Tests
Topic C: Execute Unit Tests
Lesson 8: Packaging Applications for Distribution
Topic A: Create Python Packages
Topic B: Generate Executable Files