Skip to main content

The 30-Day Design Challenge

8h 52m 30s
English
Paid

Course description

This course is designed for those who want to go beyond theoretical knowledge and develop skills in working with production code. Regardless of your level of experience - whether you are a junior developer looking to improve your skills or a data specialist who wants to structure your code - the course will help you move on to more complex tasks.

Read more about the course

The course offers 30 engaging software design assignments that will unlock your potential in problem-solving and creative programming approaches. You will encounter tasks of varying complexity: from simple examples focusing on design principles to deep practical exercises, such as creating an API with FastAPI and SQLAlchemy, working with GUI code, functional and object-oriented programming, as well as detailed type annotations in Python.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 53 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome!

All Course Lessons (53)

#Lesson TitleDurationAccess
1
Welcome! Demo
01:59
2
Solution: KISS
02:14
3
Solution: Type Annotations
09:34
4
5 Tips To Achieve Low Coupling In Your Python Code
18:30
5
Solution: Decoupling
03:31
6
Solution: DRY
03:42
7
F-strings In Python_ Everything You Need To Know
23:29
8
Solution: String Formatting
02:33
9
Solution: Law Of Demeter
03:19
10
Solution: Better Discounts
04:32
11
The Strategy Pattern_ Write BETTER PYTHON CODE Part 3
15:31
12
How to Implement the Strategy Design Pattern in Python
27:20
13
Solution: Payment Strategy
03:08
14
Why the Plugin Architecture Gives You CRAZY Flexibility
24:06
15
Solution: Plugins
05:52
16
Functions vs Classes_ When to Use Which and Why_
10:49
17
Solution: Object Oriented To Functional
06:32
18
Cohesion and Coupling_ Write BETTER PYTHON CODE Part 1
26:14
19
Solution: Cohesion
03:53
20
Which Software Architecture Should You Use_ MVC, MVP, or MVVM_
24:27
21
Solution: MVP
05:18
22
Composition Is Better Than Inheritance in Python
23:29
23
Solution: Inheritance
03:39
24
Dependency INVERSION vs Dependency INJECTION in Python
17:52
25
Solution: Abstraction
02:26
26
You Can Do Really Cool Things With Functions In Python
19:47
27
Solution: Higher-Order Functions
03:12
28
Solution: Configuration
02:59
29
Next-Level Concurrent Programming In Python With Asyncio
19:19
30
How To Easily Do Asynchronous Programming With Asyncio In Python
23:09
31
Solution: Concurrency
08:18
32
Solution: Refactoring
03:36
33
A Deep Dive Into Iterators and Itertools in Python
21:01
34
Solution: Itertools
02:10
35
Solution: Inappropriate Intimacy
01:58
36
End of Part 1
00:32
37
Real-Life Case of the Command Design Pattern
32:25
38
Solution: Undo/Redo
03:32
39
Raw SQL, SQL Query Builder, or ORM?
16:19
40
Solution: SQL to ORM
04:29
41
Solution: Unit Tests (Basic)
02:48
42
Solution: Unit Tests (Advanced)
02:15
43
Solution: Operations Layer
04:35
44
Solution: Ticket Cancellation
03:32
45
Observer Pattern Tutorial: I NEVER Knew Events Were THIS Powerful
15:17
46
Solution: Messaging
04:30
47
Attrs, Pydantic, or Python Data Classes?
17:10
48
Do We Still Need Dataclasses? // PYDANTIC Tutorial
16:33
49
Solution: Validation
02:30
50
Let's Take The Bridge Pattern To The Next Level
17:13
51
Solution: Bridge
04:52
52
Solution: Mixins
03:33
53
Wrapping Things Up
00:57

Unlock unlimited learning

Get instant access to all 52 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Building an Interpreter from scratch

Building an Interpreter from scratch

Sources: udemy, Dmitry Soshnikov
How programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine, and JIT-compiler? And what abo
2 hours 59 minutes 53 seconds
Introduction to Networking

Introduction to Networking

Sources: zerotomastery.io
Discover the basics of computer networks and how they impact everyday life. Perfect for beginners eager to understand networking with zero prior knowledge.
1 hour 49 minutes 15 seconds
Practical Object-Oriented Design - Course I

Practical Object-Oriented Design - Course I

Sources: Sandi Metz
Practical Object-Oriented Design I (POOD-I) is a course suitable for both beginners and experienced developers working with object-oriented...
11 hours 49 minutes 53 seconds
Build Side Projects With 500k+ Users: Shipping & Growing

Build Side Projects With 500k+ Users: Shipping & Growing

Sources: Alex Chiou
You came up with a great idea for a side project. But here's the question: how do you turn it into a real product? And most importantly, how do you get...
2 hours 12 minutes 17 seconds