About the course
Catalog Discription
Provides a deep-dive into the design and implementation of enterprise-grade software systems
with an emphasis on software architectures for more complex data-driven applications. Covers
extensible architectures that support testing, data provenance, reuse, maintainability, scalability, and robustness; building
software APIs and libraries for wide-scale adoption and ease-of-use. Students will learn how to
design implement and test complex loosely-coupled service-oriented architectures and will learn how
to use the python programming language for distributed processing, stream-based data processing, and
inter-process communication via message-passing.
Homework assignments will center around a semester-long project exploring various topical machine
learning themes possibly including but not limited to: library construction for data cleansing, analysis, and data mining,
sentiment analysis and natural-language processing, scientific computing problems in bioinformatics,
astronomical data analysis, or healthcare. Student will explore the features, capabilities, and underlying design
of popular data analysis and visualization frameworks.
4.000 Credit Hours
Prerequisites: DS2000,DS2500
Textbooks
Title |
Percival and Gregory (2020): Architecture Patterns with Python:
Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
(O'Reilly)
|
Buy online |
Amazon.com |
Description |
As Python continues to grow in popularity, projects are becoming larger and more complex.
Many Python developers are now taking an interest in high-level software design patterns
such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns
prescribed by domain-driven design (DDD). But translating those patterns into Python isn’t
always straightforward.
With this hands-on guide, Harry Percival and Bob Gregory from MADE.com introduce
proven architectural design patterns to help Python developers manage application
complexity—and get the most value out of their test suites. |