Overall Progress: 50/114 Topics (43.8%) [===>...................]
Progress: 2/2 Topics (100%) [======================]
| # | Topic | Status | Description |
|---|---|---|---|
| 1.1 | What is programming? | ✅ | Basic concepts and goals of programming |
| 1.2 | Why do we need programming languages? | ✅ | The role of programming languages as a tool |
Progress: 17/17 topics (100%) [======================]
| # | Topic | Status | Description |
|---|---|---|---|
| 2.1 | Downloading the development environment | ✅ | Installing and configuring an IDE (for example, IntelliJ IDEA) |
| 2.2 | First program | ✅ | Creating and running "Hello, World!" |
| 2.3 | Reading from the console. Variables | ✅ | Entering data and declaring variables (val, var) |
| 2.4 | Special characters and patterns | ✅ | Working with string patterns and escaping |
| 2.5 | The Int integer type | ✅ | Integer basics |
| 2.6 | Integer division | ✅ | Integer division features |
| 2.7 | The conditional operator | ✅ | Using the if operator |
| 2.8 | The conditional operator. Part 2. Combining | ✅ | Logical operators (&&, ||, !) |
| 2.9 | Mutable variables | ✅ | The difference between val and var |
| 2.10 | Fractional Numbers | ✅ | Working with Double and Float Types |
| 2.11 | Introduction to Collections | ✅ | Basic List (List) Operations |
| 2.12 | Repeat and While Loops | ✅ | Using repeat and while Loops |
| 2.13 | The for Loop and the size Property | ✅ | Iterating Over Collections with for |
| 2.14 | Ranges | ✅ | Creating and Using Ranges (.., until, step) |
| 2.15 | Long Short Byte Integer Types | ✅ | Other Integer Data Types |
| 2.16 | If and when are expressions | ✅ | Using if and when as expressions (that return a value) |
| 2.17 | Symbolic data type | ✅ | Working with the Char type |
| 2.18 | Do while and split | ✅ | do-while loop and split() string splitting |
Progress: 24/24 topics (100%) [=====================]
| # | Topic | Status | Description |
|---|---|---|---|
| 3.1 | Introduction to OOP | ✅ | Basic principles: classes, objects, inheritance, polymorphism |
| 3.2 | Creating a class and an object | ✅ | Declaring a class and creating its instance |
| 3.3 | Introduction to Functions | ✅ | Creating Methods Inside a Class |
| 3.4 | Functions with Parameters | ✅ | Methods with Input Parameters |
| 3.5 | The this Keyword and Named Parameters | ✅ | Using this and Passing Arguments by Name |
| 3.6 | Introduction to Constructors | ✅ | Creating Constructors to Initialize Objects |
| 3.7 | Constructor Overloading | ✅ | Multiple Constructors |
| 3.8 | Primary Constructor | ✅ | Compact Syntax for Declaring a Constructor |
| 3.9 | Return Type of Functions | ✅ | Specifying the Return Type of a Method |
| 3.10 | Introduction to Inheritance | ✅ | Creating Class Hierarchies with : |
| 3.11 | Upcast, Downcast, Smartcast | ✅ | Type casting and smart casting (is, as) |
| 3.12 | Introduction to polymorphism | ✅ | Method overriding (override) |
| 3.13 | Accountant creation practice. The super method | ✅ | Using super to call parent methods |
| 3.14 | Enum | ✅ | Creating and using enumerations |
| 3.15 | Working with files and mutable collections | ✅ | Reading/writing files and MutableList |
| 3.16 | Manual serialization and deserialization | ✅ | Converting objects to data and back |
| 3.17 | Removing elements from a list | ✅ | Algorithms for removing elements from collections |
| 3.18 | Refactoring | ✅ | Improving the structure of existing code |
| 3.19 | Test | ✅ | Practical task to consolidate the topic |
| 3.20 | Encapsulation and access modifiers | ✅ | public, private, protected, internal |
| 3.21 | Abstract classes | ✅ | Creating abstract classes and methods |
| 3.22 | Interfaces | ✅ | Implementing interfaces and contracts |
| 3.23 | The Any class and the toString method | ✅ | The base class for all objects and its methods |
| 3.24 | OOP overview | ✅ | Review and consolidation of all OOP principles |
Progress: 10/10 topics (100%)
[================]
| # | Topic | Status | Description |
|---|---|---|---|
| 4.1 | Getters and Setters. Part 1 | ✅ | Custom Accessors for Properties |
| 4.2 | Getters and Setters. Part 2 | ✅ | Advanced Use of Accessors |
| 4.3 | Single Responsibility Principle | ✅ | Single Responsibility Principle (SOLID) |
| 4.4 | Refactoring and StringBuilder | ✅ | Optimizing String Handling |
| 4.5 | Singleton Object | ✅ | The object keyword for creating singletons |
| 4.6 | Backing Field | ✅ | field inside custom accessors |
| 4.7 | The copy method | ✅ | Creating copies of data class objects |
| 4.8 | The equals method | ✅ | Overriding the logic of comparing objects |
| 4.9 | The hashcode method. Set collections | ✅ | Contract between equals and hashCode, working with Set |
| 4.10 | Data Classes | ✅ | Automatic generation of toString, equals, hashCode, copy methods |
| 4.11 | Additional copy method details | ✅ | Deep copy and advanced copy usage |
| 4.12 | Nullable Types | ✅ | Working with nullable types and null safety |
| 4.13 | Elvis and Unit | ✅ | Elvis operator (?:) and Unit return type |
| 4.14 | Try catch | ✅ | Exception handling with try-catch blocks |
| 4.15 | Nothing | ✅ | The Nothing type for functions that never return |