Thursday, September 4, 2025

Beginners guide for algorithmic design and data structure

When you first start learning how to code, it’s easy to think of programming as just writing step-by-step instructions. But as problems get more complex, you’ll see that how you organize your program and the choices you make with algorithms and data structures really matter. Algorithmic design and data structures work hand-in-hand to help developers write programs that are both efficient and easy to maintain.


What is algorithmic design?

An algorithm is just a set of steps to solve a problem. Algorithmic design means planning out those steps in a clear and structured way. For example, if you want to search for a number in a list, you could use a simple linear search (check each item one by one) or a binary search (cut the list in half repeatedly until you find the number). Both solve the problem, but binary search is much faster on large, sorted lists.


What are data structures?

Data structures are ways of organizing information in a program. For example, arrays hold items in a fixed order, while linked lists let you add or remove items more easily. Stacks and queues control the order items are processed, and trees and graphs handle more complex relationships. Choosing the right data structure makes your algorithm more efficient and your program easier to manage.


Are some designs better than others?

Yes, but it depends on the situation. A queue might be better for tasks that need first-in-first-out processing, like printer jobs, while a stack might be better for backtracking problems, like undo features. Sorting algorithms also vary—quick sort works well for large datasets, but insertion sort is better for small or nearly sorted data.


How I would apply these ideas

When developing a structured program, I would start by understanding the problem and then decide what data structure fits best. After that, I’d pick an algorithm that works efficiently with that structure. For example, if I need fast lookups, I might choose a hash map with constant-time access. If I need to process items in order, I’d use a queue. By combining algorithmic design with the right data structure, I can build programs that solve problems quickly and cleanly.

Thursday, August 7, 2025

Week 1: Java install and Hello World

 Hello everyone!

This week I learned how to install Java and ran my first Hello world code. Within this post I will be sharing a few things I learned while going through this process, along with information regarding object oriented programming.

Installing Java Development Kit:

Java was interesting to install at first, but isn't so bad when you have some of these resources to assist:

Amit Thinks. (2025, July 23). How to Install Java JDK 24.0.2 on Windows 10. YouTube. https://www.youtube.com/watch?v=UgdbnuiD7T0


Guru99. (2014, January 21). First Program | Hello World | Java Tutorial. YouTube. https://www.youtube.com/watch?v=I2wvhRUVNTM


Downloading JDK (Version 24.0.2) and an IDE, I used VSC(Visual Studio Code).

Object Oriented Programming:

After the installation was successful, I did some research into object oriented programming to fully understand the syntax of Java. Here are the four key principles I discovered from my research:

 Encapsulation: Hides internal data and only exposes what’s necessary through methods, making code more secure and modular.

Inheritance: Allows one class to inherit features from another, promoting code reuse and creating logical relationships.

Polymorphism: Enables the same method to behave differently depending on the object, making code more flexible and dynamic.

Abstraction: Focuses on essential features while hiding complex details, helping simplify code and reduce clutter.

At first this can be very overwhelming but it is just like learning anything else, it takes time and practice to be proficient at it. 

Final Thoughts:

Installing Java is the first step to your programming journey. The real magic happens when you understand what you are writing and the outcome being what you expected. Using object oriented programming is helpful to write smarter, more effective code. Whatever you may be using it for, these four foundational principles will get you a head start in your programming journey. 

Stay tuned for more!

Beginners guide for algorithmic design and data structure

When you first start learning how to code, it’s easy to think of programming as just writing step-by-step instructions. But as problems get ...