We may earn an affiliate commission when you visit our partners.
Course image
Russell Sayers and Morgan Willis

This course gives you a thorough introduction to the python programming language. You'll start by learning the definition of python, its history, semantics, and how it works. The first week concludes by writing a python script to solve a problem. In Week 2, you'll learn about Serverless Architectures and understand the differences between microservices, service-oriented and monolith architectures. You'll build a microservices architecture by learning how to use the following tools: AWS Lambda, Amazon API Gateway, and Cloud9. It's then time to go deep with AWS Databases. You'll see Amazon RDS and Amazon DynamoDB in action, visualizing the important role they play in developing applications in python. The course's final week will cover application integration services. Amazon's Simple Notification Service (SQS), Simple Queue Service (SQS), and EventBridge take center stage as important “glue” components for scalable, cloud-based applications. You'll close the course with a hands-on project, writing some code to use some hardcoded data to write to dynamodb and then convert that into a lambda function.

Enroll now

What's inside

Syllabus

Module 1: Welcome to the Course
This module starts with how to develop applications in a team. An application engineer doesn’t work alone, and you learn how an engineer interacts with roles such as architects, product managers, quality assurance (QA), support, and DevOps teams. Next, you learn the basics of Python programming. The goal is to get you to the level where you can read and understand some basic Python code. If you already know a programming language, many of the features of Python will look similar to the programming languages you already know.
Read more
Module 2: Architecture Comparison
This module focuses on software architecture. You learn about AWS Lambda as a home for your application code. You also investigate three different types of application architecture: microservices architecture, monolithic architecture, and service-oriented architecture. You walk through a conceptual ecommerce application, and compare how to build an application based on each architecture type. Next, you learn how to expose your application logic as an application programming interface (API). In a lab environment, you deploy a Lambda function and an Amazon API Gateway API by using the AWS Serverless Application Model (AWS SAM).
Module 3: Database
In this module, you learn about using a database for your application data. You explore both relational databases with Amazon Relational Database service (Amazon RDS), and NoSQL databases with Amazon DynamoDB. You learn about the differences between relational databases and NoSQL databases, and when you would choose one type of database instead of the other. You also explore different examples of how to access relational databases and DynamoDB from a Python application.
Module 4: Messaging Services
This module introduces you to another way that you can integrate your applications: by using messaging and event buses. You learn how to integrate applications by creating a topic in Amazon Simple Notification Service (Amazon SNS) and adding multiple subscribing applications. You then explore how an application sends messages to an Amazon Simple Queue Service (Amazon SQS) queue, and how consumer applications retrieve messages from that queue. Next, you investigate event-driven applications, which are another type of application architecture. You learn how an application can be designed as a series of both events, and applications that create and respond to these events. Finally, you learn how an application can receive, filter, transform, route, and deliver events by using Amazon EventBridge.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers database technologies, which are common in industry
Teaches microservices architecture, which is in high demand in industry
Develops skills in AWS, which is a popular cloud computing platform
Taught by industry recognized instructors, Morgan Willis and Russell Sayers
Builds a strong foundation for beginners in Python programming
Offers hands-on labs and interactive materials

Save this course

Save Developing Applications in Python on AWS to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Developing Applications in Python on AWS with these activities:
Review Object-Oriented Programming
Refresh knowledge of object-oriented programming concepts like classes, objects, and inheritance.
Show steps
  • Review notes or online resources on object-oriented programming.
  • Complete practice exercises to reinforce understanding.
  • Identify real-world examples of object-oriented programming in python applications.
Review Basic Data Structures
Refresh knowledge of basic data structures used in python, such as lists, tuples, and dictionaries.
Browse courses on Data Structures
Show steps
  • Review notes or online resources on basic data structures.
  • Complete practice exercises to reinforce understanding.
Read Getting Started with Python
Reinforce basic python concepts that will be used throughout this course.
Show steps
  • Read chapters 1-3 to gain an overview of the python programming language syntax and semantics.
  • Complete the practice exercises at the end of each chapter.
Three other activities
Expand to see all activities and additional details
Show all six activities
Python Coding Challenges
Practice problem-solving and improve coding skills in preparation for course assignments.
Browse courses on Python
Show steps
  • Solve at least 10 coding challenges on platforms like CodeChef or HackerRank.
  • Debug and optimize your solutions for efficiency and conciseness.
Python Study Group
Collaborate with peers to enhance understanding and share knowledge.
Show steps
  • Form a study group with classmates who have similar learning goals.
  • Regularly meet to discuss course topics, share notes, and work through problems together.
Build a Python Project
Demonstrate understanding and apply course concepts by creating a practical project.
Show steps
  • Identify a problem or idea that can be solved or implemented using python.
  • Plan and design the project, including requirements, architecture, and implementation.
  • Develop and test the project, ensuring functionality and code quality.
  • Document and present the project, showcasing its features and capabilities.

Career center

Learners who complete Developing Applications in Python on AWS will develop knowledge and skills that may be useful to these careers:
Software Architect
A Software Architect designs and builds the overall architecture of software systems. They ensure that the system is scalable, reliable, and maintainable. This course provides a strong foundation in Python programming, which is a popular language for developing software applications. The course also covers serverless architectures, databases, and application integration services. These topics are essential for designing and building modern software systems.
Software Engineer
A Software Engineer designs, develops, and maintains software applications. They work with stakeholders to understand the requirements of the application and then design and implement a solution. This course provides a strong foundation in Python programming, which is a popular language for developing software applications. The course also covers serverless architectures, databases, and application integration services. These topics are essential for developing modern software applications.
Web Developer
A Web Developer designs and develops websites and web applications. They work with designers and other stakeholders to create websites that are user-friendly, functional, and visually appealing. This course provides a strong foundation in Python programming, which is a popular language for developing web applications. The course also covers serverless architectures, databases, and application integration services. These topics are essential for developing modern web applications.
Data Scientist
A Data Scientist uses data to solve problems and make decisions. They collect, clean, and analyze data to identify patterns and trends. This course provides a strong foundation in Python programming, which is a popular language for data science. The course also covers databases and data visualization. These topics are essential for data scientists.
DevOps Engineer
A DevOps Engineer works with developers and operations teams to ensure that software is deployed and maintained efficiently. They automate tasks and processes to improve the speed and quality of software delivery. This course provides a strong foundation in Python programming, which is a popular language for DevOps. The course also covers serverless architectures, databases, and application integration services. These topics are essential for DevOps engineers.
Cloud Engineer
A Cloud Engineer designs, builds, and maintains cloud computing systems. They work with customers to understand their needs and then design and implement cloud solutions. This course provides a strong foundation in Python programming, which is a popular language for cloud computing. The course also covers serverless architectures, databases, and application integration services. These topics are essential for cloud engineers.
Data Analyst
A Data Analyst analyzes data to identify trends and patterns. They use this information to make recommendations and improve decision-making. This course provides a strong foundation in Python programming, which is a popular language for data analysis. The course also covers databases and data visualization. These topics are essential for data analysts.
Database Administrator
A Database Administrator manages and maintains databases. They ensure that databases are running smoothly and that data is secure. This course provides a strong foundation in Python programming, which is a popular language for database administration. The course also covers databases and data visualization. These topics are essential for database administrators.
Systems Engineer
A Systems Engineer designs, builds, and maintains computer systems. They work with customers to understand their needs and then design and implement system solutions. This course provides a strong foundation in Python programming, which is a popular language for systems engineering. The course also covers serverless architectures, databases, and application integration services. These topics are essential for systems engineers.
Network Engineer
A Network Engineer designs, builds, and maintains computer networks. They work with customers to understand their needs and then design and implement network solutions. This course may be useful for network engineers who want to learn more about Python programming. However, the course does not cover network engineering topics in detail.
Security Engineer
A Security Engineer designs, builds, and maintains computer security systems. They work with customers to understand their needs and then design and implement security solutions. This course may be useful for security engineers who want to learn more about Python programming. However, the course does not cover security engineering topics in detail.
IT Manager
An IT Manager plans, organizes, and directs the activities of an IT department. They work with senior management to develop and implement IT strategies. This course may be useful for IT managers who want to learn more about Python programming. However, the course does not cover IT management topics in detail.
Project Manager
A Project Manager plans, organizes, and executes projects. They work with stakeholders to define project goals and objectives, and then develop and implement project plans. This course may be useful for project managers who want to learn more about Python programming. However, the course does not cover project management topics in detail.
Business Analyst
A Business Analyst works with businesses to identify and solve problems. They analyze business processes and data to identify areas for improvement. This course may be useful for business analysts who want to learn more about Python programming. However, the course does not cover business analysis topics in detail.
Technical Writer
A Technical Writer writes and edits technical documentation. They work with subject matter experts to gather information and then write clear and concise documentation. This course may be useful for technical writers who want to learn more about Python programming. However, the course does not cover technical writing topics in detail.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Developing Applications in Python on AWS.
Provides a comprehensive introduction to the Python programming language. It covers the basics of Python syntax, data types, control flow, and functions. It also includes hands-on projects that allow you to apply your new skills to real-world problems.
Comprehensive introduction to Python programming. It covers the basics of Python syntax, data types, control flow, and functions. It also includes chapters on object-oriented programming and data structures.
Shows you how to use Python to automate tasks. It covers topics such as web scraping, data analysis, and working with APIs. It also includes projects that you can use to practice your skills.
Comprehensive guide to using Python for data analysis. It covers topics such as data cleaning, data manipulation, and data visualization. It also includes case studies that show you how to use Python to solve real-world data analysis problems.
Comprehensive guide to using Python for machine learning. It covers topics such as supervised learning, unsupervised learning, and deep learning. It also includes case studies that show you how to use Python to solve real-world machine learning problems.
Comprehensive guide to using Python for programmers. It covers topics such as Python syntax, data types, control flow, and functions. It also includes chapters on object-oriented programming and data structures.
Collection of 59 specific ways to write better Python code. It covers topics such as code style, code organization, and code performance. It also includes case studies that show you how to apply these tips to real-world Python code.
Collection of Python tricks and techniques. It covers topics such as working with strings, working with lists, and working with dictionaries. It also includes case studies that show you how to use these tricks to solve real-world Python problems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Developing Applications in Python on AWS.
Python for Serverless Applications and Automation on AWS
Most relevant
Message Queuing with Amazon Simple Queue Service (SQS)
Most relevant
Automating AWS with Lambda, Python, and Boto3
Most relevant
Serverless Architectures on AWS
Most relevant
Developing on AWS
Most relevant
Integrating AWS with the SDK
Most relevant
AWS Fundamentals: Building Serverless Applications
Most relevant
AWS Lambda Deep Dive
Most relevant
Solution Detail: Internet of Tracking
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser