About Me

Thursday, September 4, 2025

Programming Newbie to Newbie

 

What Even Is Coding in Programming?

When I started my degree program, I wouldn’t have had much to say if you asked me what coding was. I didn’t know how code was structured, or why algorithms were essential for creating programs that worked correctly. Like many beginners, my main goal was to make something run. But as I learned more, I realized that coding is more than making code run well.

So, What Is Coding?

Coding is how a programmer tells a computer what to do by giving it instructions in a language the computer understands. But writing code isn’t just about making something happen; it’s about ensuring it happens proficiently. This is where algorithms and data structures come in.

What Are Algorithms?

An algorithm is a plan for solving a problem step by step. Think of it like a recipe: you follow the instructions individually, so your dish turns out right.

Some algorithms are straightforward, and others are more creative. One interesting type is called recursion. Recursion happens when an algorithm calls itself to solve smaller pieces of a bigger problem. For example, imagine a set of boxes inside each other. To find a key, you open the first box, then the box inside it, and so on, until you find the key or reach an empty box. Recursion is like telling your program, “Do the same thing again, but with the smaller box.”

What Are Data Structures?

Data structures are ways to store and organize data so that algorithms can work efficiently. Imagine shelves, boxes, or folders; each data structure has its own way of keeping things in order. Some common ones are:

  • Lists/Arrays – Keep things in order, like a to-do list.
  • Stacks/Queues – Add and remove items in a specific order (like a line at the store).
  • Trees/Graphs – Show connections, like a family tree or a map.
  • Hash Tables – Help you find things quickly, like a dictionary.

Why Does It Matter?

Picking the wrong algorithm or data structure can slow your program or use too much memory. Picking the right ones can make your program fast, efficient, and easy to scale.

Final Takeaway

Algorithms are your step-by-step plan. Data structures are your containers. Together, they ensure your code runs smoothly and handles more data without breaking. Once I understood this, I realized that good coding isn’t just about getting the correct answer, but also about using the right tools to get there.

Monday, August 11, 2025

Object Oriented Programming and Java

 Object Oriented Programming (OOP) is a fundamental approach in writing computing languages. In Java this helps users understand what the code is trying to say. You have many different type of principles in an OOP. You have the object "An object is a software bundle of related state and behavior" (Oracle, ND). A class "A class is a blueprint of prototype from which objects are created" (Oracle, ND). Inheritance which "provides a powerful and natural mechanism for organizing and structuring your software" (Oracle, ND). An interface which "is a contract between a class and the outside world" (Oracle, ND). A "package" which is "a namespace for organizing classes and interfaces in a logical manner" (Oracle, ND). Something I found interesting is that the abstract data type (ADT) which is the "realization of data type as a software component" (Shaffer, 2013), which is the "data structure implementation for ADT" (Shaffer, 2013) make up the principle 'Class' in Java. There are few more major principles that are focused around object oriented programming and these are encapsulation, this is how data is hidden from unauthorized access. Accessor and Mutators, which is a method of asking an object about itself. Abstraction which is used to manage "complexity" of information by "focusing on essential characteristics while ignoring irrelevant details " (Wikipedia, ND). 



References

Oracle, ND. Lesson: Object-Oriented Programming Concepts. 

https://docs.oracle.com/javase/tutorial/java/concepts/index.html 

Shaffer A., Clifford, 2013. Data Structures and Algorithm Analysis. 

https://people.cs.vt.edu/~shaffer/Book/JAVA3elatest.pdf 

Copyright © 2009-2012 by Clifford A. Shaffer. This document is made freely available in PDF form for educational and other non-commercial use. You may make copies of this file and redistribute in electronic form without charge. You may extract portions of this document provided that the front page, including the title, author, and this notice are included. Any commercial use of this document requires the written consent of the author. The author can be reached at shaffer@cs.vt.edu. If you wish to have a printed version of this document, print copies are published by Dover Publications (see http://store.doverpublications.com/0486485811.html). Further information about this text is available at http://people.cs.vt.edu/˜shaffer/Book/.

Wikipedia, ND. Object-Oriented Programming.

Wikipedia, ND. Abstraction.

Lewallen Raymond, 2005. 4 Major Principles of Object-Oriented Programming. 

https://people.computing.clemson.edu/~jmarty/courses/commonCourseContent/Module2-ProgrammingReview/SupplementalMaterial/4%20major%20principles%20of%20Object-Oriented%20Programming%20_%20Raymond%20Lewallen.pdf 

Programming Newbie to Newbie

  What Even Is Coding in Programming? When I started my degree program, I wouldn’t have had much to say if you asked me what coding was. I...