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
Appendix A: Mapping Python Course Content to Python Institute Certification Exams