[Learning] For tonight’s learning menu, I studied SOLID principle and common design pattern for object oriented programming to further strengthen my knowledge of coding and programming. My key takeaways for this topic are: - the modules we created are essentially a black box, no one needs to know how the code is structured and all that. As long as it is clean and readable, it is good!! - “it is quicker to write 5 lines of code today, than to write 1 line of code and edit it in the future.” That is why we have to follow the proper design patterns and strengthen our knowledge about the principle(s) so that our code is clean, readable, and maintainable. #thisPostWasNotGeneratedByAI #peakPerformative #stayGoated
Studied SOLID principle and design patterns for OOP
More Relevant Posts
-
My go-to mental framework for solving programming problems. It helps you structure your thinking. Works every time. 1. Define problem 2. Define input & output 3. Hypothesis - Visualise the traversal & data structure changes - List the steps - Pseudo write the code with the actual figures - Code the real thing 4. Evaluate - Try testcases - Use print statement - Find error and fix 5. Iterate - Repeat from step 3 till the problem is solved #programming #datastructure #algorithm
To view or add a comment, sign in
-
Advice for Beginners: Focus on Fundamentals First. If you're new to coding, resist the urge to jump straight into complex frameworks or trendy languages. Instead, build a rock-solid foundation. Learn how variables work, what loops do, and how conditional logic forms the backbone of all programming. At CodeTarGenius, our courses are designed to guide you through these essential steps—one concept at a time. Master the basics first, and everything else becomes much easier. Don’t rush the process—trust the progression. Begin with the basics at: https://codetargenius.com #CodingAdvice #StartWithTheBasics #LearnToCodeRight #CodeTarGenius #StepByStepCoding
To view or add a comment, sign in
-
-
🚀 The Secret to Becoming a Great Programmer Isn't Code… 👇 One of the most important facts about programming is this: it's not about the language, it's about logical thinking .🧠💡 Many people focus only on writing code to get an output, but without strong logical thinking skills,Even you get the output may never be accurate. Programming languages are just tools; the real power lies in the ability to analyze problems, think step by step, and create logical solutions. Once you build confidence in logical thinking, writing even 100 lines of code becomes effortless—because the logic guides the flow. 🚀 👉 So if you're starting your programming journey, focus on sharpening your logic first—the syntax will follow naturally. #Programming #LogicalThinking #CodingMindset #ProblemSolving #Learning #Creativitymind
To view or add a comment, sign in
-
-
🚀 DAY 11 – Today I Learned Dynamic Programming 🧩⚡ Dynamic Programming (DP) is all about solving big problems by breaking them into smaller overlapping subproblems. Instead of recalculating the same thing again and again, we store results and reuse them. 🔹 Top-Down (Memoization) – Solve recursively and cache results. 🔹 Bottom-Up (Tabulation) – Build solutions iteratively from base cases. 🔹 Optimization – Reduces exponential recursion into polynomial time. ✨ Key Insight: DP teaches us to think smarter, not harder — by reusing past work to solve complex problems efficiently. Masai #DailyLearning #Masaiverse #DynamicProgramming #DP #ProblemSolving #Algorithms #Coding #BackendEngineering #SystemDesign #LearningJourney #CodeBetter #GrowthMindset
To view or add a comment, sign in
-
-
🌟 Understanding the 4 Pillars of OOP! 🌟 Check out this fun visual breakdown of Object-Oriented Programming concepts: - Encapsulation: Bundling data and methods (public, private, protected). - Polymorphism: Multiple forms, like Spider-Man facing his variants! - Inheritance: Passing traits from parent to child. - Abstraction: Hiding complexity, focusing on essentials. Zia Khan Ameen Alam Sharjeel Ahmed Aneeq Khatri Abbas Asad Bilal Muhammad Khan Bilal Raza Muhammad Ameen Raja Ehsan Muhammad Qasim Muhammad Junaid Shaukat Ghous Ahmed Mastering these principles is key to robust software design. What’s your favorite OOP concept? Let’s discuss! #Programming #OOP #SoftwareDevelopment #TechSkills #LearnTech
To view or add a comment, sign in
-
🚀 Day 19 of My Learning Journey 🚀 Today, I continued exploring Dynamic Programming (DP) and solved some more interesting problems. Each problem gave me a deeper understanding of how to break down complex challenges into smaller overlapping subproblems. ✨ Problems I worked on: 1️⃣ Egg Dropping Puzzle – finding the minimum number of attempts needed to find the critical floor. 2️⃣ Subset Sum Problem – checking if a subset with a given sum exists. 3️⃣ Unique Ways of Coin Change – calculating the number of unique ways to make change for a given amount using different denominations. 💡 Key Takeaway: Dynamic Programming is all about optimization and reusing previous results. With the right state definitions and transitions, even hard-looking problems can be solved efficiently. #DynamicProgramming #DSA #ProblemSolving #LearningJourney Masai #masaischool #masaiverse
To view or add a comment, sign in
-
🚀 Learning by Building 🚀 Today I wrote a small C program that sorts the characters of each word in a string individually. 🖥️ Input: A string from the user ⚡ Process: For every word, characters are compared and arranged in ascending order ✅ Output: The string with each word’s letters sorted This exercise helped me strengthen my concepts of: 🔹 String handling in C 🔹 Nested loops 🔹 Character swapping logic Sometimes the best way to learn programming is to experiment with simple but tricky problems. Every small program builds a stronger foundation. 💡 #CProgramming #CodingPractice #ProblemSolving #Learning
To view or add a comment, sign in
-
-
Today I explored one of the core concepts of Object-Oriented Programming (OOP): Polymorphism. Polymorphism simply means “many forms”. It allows the same function or method name to behave differently based on the context. 🔹 Compile-time Polymorphism → Method Overloading 🔹 Runtime Polymorphism → Method Overriding Example: A method add() can work with both integers and doubles (overloading). A sound() method can behave differently for Dog and Cat (overriding). ✨ This concept makes code more flexible, reusable, and easier to maintain — one of the reasons OOP is so powerful. Excited to keep learning and applying these principles in my coding journey 🚀 #Programming #OOP #Polymorphism #Learning
To view or add a comment, sign in
-
-
Mastering Problem-Solving: The Clash of Greedy and Dynamic Programming Approaches In the world of algorithms, two powerful strategies often come into play: Greedy Algorithms and Dynamic Programming. Each has its strengths and weaknesses, making them suitable for different types of problems. Understanding when to use each approach can significantly enhance your problem-solving skills and efficiency. Greedy algorithms make decisions based on the best immediate option available, aiming for a local optimum with the hope that these local solutions will lead to a global optimum. This approach is straightforward and often faster, making it ideal for problems like activity selection or Huffman coding. However, it’s essential to recognize that greedy methods do not always yield the best solution. They can fall short in scenarios where a more comprehensive analysis is required. On the other hand, Dynamic Programming (DP) tackles problems by breaking them down into simpler subproblems and solving each one just once, storing their solutions. This method shines in optimization problems where overlapping subproblems exist, such as the Knapsack problem or Fibonacci sequence calculations. While DP can be more complex and resource-intensive, it guarantees an optimal solution when applicable. The key takeaway? Choose wisely between these approaches based on the problem at hand. Greedy algorithms can provide quick solutions for specific cases, while dynamic programming offers a robust framework for tackling more intricate challenges. As we delve deeper into the realms of artificial intelligence and algorithm design, mastering these techniques will empower you to tackle a broader range of problems effectively. #artificialintelligenceschool #aischool #superintelligenceschool
To view or add a comment, sign in
-
If you think you need to type code to learn programming, think again – the future is drawing your logic. Traditional bootcamps can often overwhelm beginners with a flood of syntax, making the first steps into programming seem like a complex maze. Enter Flowgramming: a flowchart-based approach that strips away the clutter and focuses on what truly matters – algorithmic thinking. By visualizing concepts before writing code, learners engage their logical reasoning in a straightforward manner, allowing them to tackle problems without getting bogged down by language quirks. Master the art of problem-solving with Flowgramming, and pave your way to becoming a confident programmer without the confusion of syntax! #Programming,#Coding,#Tech,#Education,#Flowgramming,#LearnToCode,#AlgorithmicThinking,#VisualProgramming,#FutureOfWork,#EdTech
To view or add a comment, sign in
-