Thursday, September 25, 2025

Algorithms and Data Structures Blog

                           Growing into Programming Through Algorithms and Data Structures


When I first started programming, I wasn’t sure it was something I could learn. The syntax felt

overwhelming, and I often thought code was just a mysterious black box. Over time, I realized

that programming isn’t about memorizing commands, but about building structure and design.

Once I began focusing on fundamentals like algorithms and data structures, the pieces started to

click. They gave me a framework to organize problems logically and break them down into steps

I could actually manage.


One of the first big lessons was that not all solutions are created equal. Early on, I thought a

search was just a search. But then I saw how linear search and binary search differ: one checks

each item one at a time, while the other cuts the problem in half with every step. For small lists,

the difference doesn’t matter much, but at scale, the gap is huge. Linear search is simple but slow

as data grows, while binary search is much faster but only if the list is sorted. The key is that

neither is always “better”; the right choice depends on the data and the task.

I saw this idea play out in an assignment where I created a linked list of cities I’ve lived in 

Augusta, Charleston, Hollywood, Bellevue, and West Ashley. I inserted Charlotte at index 2 and

removed another city by position. If I had used an array, inserting in the middle would have

meant shifting multiple elements. But with a linked list, those changes were efficient and

straightforward. That exercise showed me how the structure itself can make certain operations

easier while trading off speed in other areas.


The biggest shift for me has been learning to stop thinking of programming as just “writing code

that works.” Instead, I now look at the problem and ask what operations I’ll be doing most. If I

need quick searching, a binary search or hash table makes sense. If I need frequent insertions and

deletions, a linked list is the right tool. If items need to be processed in order, a queue is the

natural choice. Queues follow a first-in/first-out approach, which is exactly how tasks arrive in

the real world like people waiting in line or jobs waiting for the processor. That structure

makes sure everything is handled fairly and in the order it arrived.

What once felt out of reach now feels manageable. By understanding algorithms and data

structures, I’ve moved from doubting whether I could ever program to actually enjoying the

process of solving problems with the right tools.

Thursday, August 28, 2025

Trial run

 

First things first getting Java Set Up 

Make sure you had the right tools. Java requires two main things:

The Java Development Kit (JDK), which is the engine that lets you compile and run Java programs.

An IDE (Integrated Development Environment), which is basically your coding workspace.

 

Here are the official resources I used:

 Download Java (JDK): https://www.oracle.com/java/technologies/downloads/?er=221886

 

 

Download an IDE: Apache NetBeans http://netbeans.org/downloads/index.html

 

For our first trial I tested my setup by running the classic “Hello, World!” program. Seeing those words appear in the console was a small moment, but it gave me confidence

 

The Big Ideas Behind OOP

 

Not gonna lie my first impression, “object-oriented programming” sounded a little overwhelming. Moving forward after experimenting we can it down into simple terms makes it easier to understand.

 

Abstraction: Hiding the messy details and just focusing on what something does.

 

Encapsulation: Keeping the data and the code that works on it bundled together, while protecting it from outside interference.

 

Classes and Objects: A class is like a blueprint and an object is the actual car built from that blueprint.

 

Trade-offs: Every design choice comes with costs and benefits. Sometimes you choose speed, other times you choose simplicity.

 

Learning these concepts has already helped me see why OOP is such a popular way to structure programs. It’s less about memorizing syntax and more about organizing ideas in a logical way.

 


Takeaways as a New Learner

 

The biggest lesson for me so far is that programming isn’t just about typing lines of code it’s about thinking through how to organize information and solve problems efficiently. 

 

Closing

 

Still loading

Getting Java Set Up

Algorithms and Data Structures Blog

                           Growing into Programming Through Algorithms and Data Structures When I first started programming, I wasn’t sure i...