Skip to content

This repository contains my solutions for the tasks from the SoftUni course Programming Advanced & OOP with Python-January-2023.

License

Notifications You must be signed in to change notification settings

AsenAsenov1/SoftUni-Python-Advanced-and-OOP-January-2023

Repository files navigation

SoftUni Programming Advanced & OOP January 2023

image

This repository contains my solutions for the tasks from the SoftUni course Programming Advanced & OOP with Python-January-2023.

Course details:

Course duration: 12 weeks
Course start: 10.01.2023
Course tutors:
   • Python Labs: Mario Zahariev
   • Python Exercises: Diyan Kalaydzhiev

Advanced OOP
1. Resources
1. Resources
2. Course Info
2. Course Info
3. Lists as Stacks and Queues
   • Stacks (creating, adding and removing elements);
   • Queues (creating, adding and removing elements).
3. First Steps in OOP
   • Project Architecture;
   • Basic Concepts of OOP;
   • A First Look at Classes;
   • Scope and Namespace.
4. Exercise: Lists as Stacks and Queues
4. Exercise: First Steps in OOP
5. Tuples and Sets
   • Tuples (definition, usage, methods);
   • Sets (definition, operators, methods).
5. Classes and Objects
   • Class Objects;
   • Instance Objects;
   • Method Objects;
   • Class and Instance Variables.
6. Exercise: Tuples and Sets
6. Exercise: Classes and Objects
7. Exercise: Stacks, Queues, Tuples and Sets
7. Inheritance
   • Inheritance;
   • Forms of Inheritance;
   • Mixins.
8. Multidimensional Lists
   • Definition and Usage;
   • Creating Multidimensional Lists;
   • Traversing and Manipulation;
   • Other Nested Structures.
8. Exercise: Inheritance
9. Exercise: Multidimensional Lists
9. Encapsulation
   • Encapsulation Definition;
   • Access Modifiers in Python;
   • Getters and Setters.
10. Exercise: Multidimensional Lists
10. Exercise: Encapsulation
11. Functions Advanced
   • Packing Arguments;
   • Unpacking Arguments;
   • Recursion;
   • Decorators.
11. Static and Class Methods
   • Static Method;
   • Class Method;
   • Overriding a Class Method.
12. Exercise: Functions Advanced
12. Exercise: Static and Class Methods
13. Error Handling
   • Errors and Exceptions;
   • Common Error Types;
   • Custom Exceptions;
   • Catching Exceptions.
13. Polymorphism and Abstraction
   • What is Polymorphism?;
   • Overriding Magic Methods;
   • What is Abstraction?;
   • Abstract classes and methods;
   • Duck-typing.
14. Exercise: Error Handling
14. Exercise: Polymorphism and Abstraction
15. File Handling
   • Python File Object;
   • Opening a File;
   • Reading File;
   • Writing and Creating a File;
   • Deleting a File.
15. SOLID
   • Single Resposibility;
   • Open/Closed;
   • Liskov Substitution;
   • Iterface Sugregation;
   • Dependency Inversion.
16. Exercise: File Handling
16. Exercise: SOLID
17. Workshop
17. Iterators and Generators
   • What are Iterators?;
   • What are Generators? (the yield statement).
18. Exercise: Workshop
18. Exercise: Iterators and Generators
19. Modules
   • Module Definition;
   • Build-in Modules;
   • External Modules (PIP);
   • Custom Modules.
19. Decorators
   • Functions Returning Functions;
   • Decorators;
   • Accepting Arguments in Decorators;
   • Passing Arguments to Decorators;
   • Class Decorators.
20. Exercise: Modules
20. Exercise: Decorators
21. Exam Preparation
21. Testing
   • What is Unit Testing?;
   • Unit Testing Basics;
   • Unit Testing Framework - unittest;
   • Mocking.
22. Exam Preparation
22. Exercise: Testing
23. Regular Exam
23. Design Patterns
   • Design Patterns;
   • Definition of Design Patterns;
   • Benefits and Drawbacks;
   • Types of Design Patterns.
24. Retake Exam
24. Exam Preparation
25. Exam Preparation
26. Workshop
27. Workshop
28. Regular Exam
29. Retake Exam

About

This repository contains my solutions for the tasks from the SoftUni course Programming Advanced & OOP with Python-January-2023.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages