Trial, buy to get premium features

Previous Buy now to get complete version Next
  • Home
uCertify Logo
  • login
  • Signup
    • Help & Support
    • Accessibility
    • Testimonials
  • Powered by uCertify
  • Hello GuestLogin or Signup
  • Feedback & Support
    • Support
    • Keyboard Shortcuts
    • Send Feedback
Scroll to top button

Software Architecture with Python

(SOFTWARE-ARC-PYTHON.AJ1) / ISBN: 978-1-64459-218-2
This course includes
Lessons
TestPrep
LiveLab
Mentoring (Add-on)
SOFTWARE-ARC-PYTHON.AJ1 : Software Architecture with Python
Try this course Pre-Assessment and first two Lessons free No credit card required
Are you an instructor? Teach using uCertify products
Request a free evaluation copy

Software Architecture with Python

Use Software Architecture with Python course and lab to get to know how Python fits into an application architecture. The lab is cloud-based, device-enabled, and can easily be integrated with an LMS. The software architecture training will help you gain an understanding of the different architectural quality requirements to help build a product that satisfies business needs. The course also provides knowledge and skills required to work with various techniques such as incorporating DevOps, Continuous Integration, and more to make your application robust.
Here's what you will get

Lessons
  • 13+ Lessons
  • 150+ Quizzes
  • 174+ Flashcards
  • 174+ Glossary of terms
TestPrep
  • 71+ Pre Assessment Questions
  • 85+ Post Assessment Questions
LiveLab
  • 27+ LiveLab
Here's what you will learn
Download Course Outline
Lesson 1: Preface
  • What this course covers
  • Conventions
Lesson 2: Principles of Software Architecture
  • Defining software architecture
  • Characteristics of software architecture
  • Importance of software architecture
  • System versus enterprise architecture
  • Architectural quality attributes
  • Summary
Lesson 3: Writing Modifiable and Readable Code
  • What is modifiability?
  • Aspects related to modifiability
  • Understanding readability
  • Fundamentals of modifiability – cohesion and coupling
  • Exploring strategies for modifiability
  • Metrics – tools for static analysis
  • Refactoring code
  • Summary
Lesson 4: Testability – Writing Testable Code
  • Understanding testability
  • White-box testing principles
  • Summary
Lesson 5: Good Performance is Rewarding!
  • What is performance?
  • Software performance engineering
  • Performance testing and measurement tools
  • Performance complexity
  • Measuring performance
  • Profiling
  • Other tools
  • Programming for performance – data structures
  • Summary
Lesson 6: Writing Applications that Scale
  • Scalability and performance
  • Concurrency
  • Thumbnail generator
  • Multithreading – Python and GIL
  • Multithreading versus multiprocessing
  • Pre-emptive versus cooperative multitasking
  • The asyncio module in Python
  • Waiting for a future – async and await
  • Concurrent futures – high-level concurrent processing
  • Scaling for the web
  • Scaling workflows – message queues and task queues
  • Celery – a distributed task queue
  • Summary
Lesson 7: Security – Writing Secure Code
  • Information security architecture
  • Secure coding
  • Common security vulnerabilities
  • Is Python secure?
  • Security issues with web applications
  • Strategies for security – Python
  • Secure coding strategies
  • Summary
Lesson 8: Design Patterns in Python
  • Design patterns – elements
  • Categories of design patterns
  • Patterns in Python – creational
  • Patterns in Python – structural
  • Patterns in Python – behavioral
  • Summary
Lesson 9: Python – Architectural Patterns
  • Introducing MVC
  • Event-driven programming
  • Microservice architecture
  • Pipe and Filter architectures
  • Summary
Lesson 10: Deploying Python Applications
  • Deployability
  • Tiers of software deployment architecture
  • Software deployment in Python
  • Deployment – patterns and best practices
  • Summary
Lesson 11: Techniques for Debugging
  • Maximum subarray problem
  • Simple debugging tricks and techniques
  • Logging as a debugging technique
  • Debugging tools – using debuggers
  • Advanced debugging – tracing
  • Summary
Appendix - A
  • Installing Python
  • Running Python
  • Basic syntax
  • Conditional statements and loops
  • Data structures
  • Functions
  • Summary
Appendix - B
  • Object-oriented programming
  • Modules and packages
  • File operations
  • Error and exception handling
  • Summary

Hands on Activities (Live Labs)

Writing Modifiable and Readable Code

  • Documenting the Code
  • Understanding the Concept of Cohesion
  • Finding the McCabe Metric
  • Running a Static Checker
  • Fixing Code Smells by Refactoring the Code
  • Fixing Code Complexity by Refactoring the Code

Testability – Writing Testable Code

  • Measuring Code Coverage
  • Unit Testing a Module
  • Using Test-Driven Development
  • Unit Testing Using doctest

Good Performance is Rewarding!

  • Measuring the Performance of Code Using timeit
  • Collecting and Reporting Statistics
  • Profiling with cProfile
  • Implementing an LRU Cache Dictionary

Writing Applications that Scale

  • Using the Multiprocessing Pool Object
  • Creating a Co-operative Multitasking Scheduler Using Simple Python Generators
  • Using the asyncio Module
  • Using async and await
  • Using the concurrent.futures Module

Security – Writing Secure Code

  • Serializing an object using code jail
  • Making the Code Secure for Input

Techniques for Debugging

  • Debugging Maximum Subarray Problem
  • Generating Random Patient Data Using the schematics Library
  • Debugging the Word Searcher Program
  • Creating a Log File Using Logger Objects
  • Creating a Simple Log File
  • Debugging with pdb
×
uc logo for app downloadDownload our uCertify App [lms_setting_placeholder: This filed is used to set the LMS settings.

Share with your friends and colleagues

We use cookies to enhance your experience. By continuing to visit this site you agree to our use of cookies. More information
Accept