Loading...

Course Description

Details

Architecture is the foundation of any back-end system. But, what does it mean for modern back-end development? How can we design a good architecture?

This course explores a variety of back-end architectural patterns and compares several popular frameworks. You will learn to design resilient and scalable back-end systems while applying testing strategies and understanding the interactions between different system components. Emphasis will be placed on robust coding practices to ensure high-quality development.

This course will help you gain a strong grasp of back-end frameworks, enabling you to create scalable and maintainable systems in real-world environments. You will develop the knowledge needed to build the back end of a website, code in Python or TypeScript, and apply AI tools to the development process. 

Upon completion of this course, you will be one-third of the way to earning a certificate in the Back-End Development Program.

Course Overview

This 10-week course combines synchronous and asynchronous delivery modes and includes: 

  • A one-hour live online orientation session 
  • Weekly one-hour optional live code-along sessions  
  • Weekly independent online learning and group coding assignments 
  • Regular online interaction with peers and instructor via discussion boards 
  • Major group project with real-world applications

Academic requirements 

  • Prior experience with Python, TypeScript, or JavaScript
  • Basic understanding of web development  
  • Basic understanding of version control using Git

System requirements

  • Visual Studio or your preferred IDE
  • GitHub Classroom for coding assignments

Receive a certificate and badge from the University of Waterloo

Upon successful completion of this program, you will receive a professional education certificate and badge from the University of Waterloo. To earn the certificate, students must achieve a minimum grade of 70 per cent in the course.

Who Should Enrol

This course is intended for individuals with a basic understanding of web development who want to deepen their expertise in back-end systems. Specifically, it is appropriate for: 

  • Early-career developers who have a primarily front-end focus or have completed a general programming bootcamp and want to level up their skills. 
  • Front-end developers who want to accelerate their career progression with back-end skills and knowledge. 
  • Programmers with experience in JavaScript, TypeScript, or Python who want to learn how to build reliable, resilient back-end systems. 

What You Will Learn

  • Build the back end of a website using a popular framework
  • Demonstrate the ability to adapt quickly between different back-end frameworks
  • Demonstrate proficiency in robust coding in Python and/or TypeScript
  • Apply AI tools to the development process 
  • Recognize areas and strategies for coding improvement 

Module 1: IDEs and Chrome tools 

  • VSCode features
  • The development environment

Module 2: HTTP, APIs, and Modern Development

  • Evolution of HTTP
  • HTTP methods, status codes, and headers
  • URL structures and APIs
  • Coding styles
  • Modern development

Module 3: Web Servers and Receiving Messages

  • Web servers and frameworks
  • URL decoding
  • Routing strategies and route patterns
  • Payloads and body parsing
  • Data validation and header information
  • Documenting an API

Module 4: Script and Domain Model Patterns

  • Modularity and models
  • The script pattern
  • The domain and model pattern
  • Mappers and model transformation

Module 5: Services and Mapping

  • Services and mapping requests to responses
  • Statelessness
  • Managing state
  • Dependency injection
  • Serialization and serialization
  • Building and debugging services

Module 6: HTML Templating

  • HTML template engines
  • Coding to contracts
  • Data types, type refinement, and LLMs

Module 7: Relational Databases

  • Related tables
  • Database abstraction layers 
  • Preventing SQL injection attacks
  • SQL libraries
  • Tractions
  • Modern development for databases 

Module 8: Integrating with External Web Services

  • Direct integration strategies
  • Retries
  • Webhooks 
  • Task queues
  • Cross-origin resource sharing

Module 9: File Handling (Serving Other File Types)

  • File uploads using Base64 encoding and multipart body
  • File storage
  • File processing
  • Serving files 
  • Long polling, server-sent events, and WebSockets

Module 10: Back-End Frameworks and Architecture Review 

  • Key concept review
  • Numeric types
  • Data and times 
Loading...
Enroll Now - Select a section to enroll in
Section Title
Back-End Frameworks and Architecture
Type
Online
Dates
Mar 24, 2025 to May 25, 2025
Course Fee(s)
Course Fee non-credit $995.00
Section Title
Back-End Frameworks and Architecture
Type
Online
Dates
Jun 16, 2025 to Aug 24, 2025
Course Fee(s)
Course Fee non-credit $995.00
Required fields are indicated by .