Programming Theory

Best practices, structuring of code, dissecting algorithms and talking about the “Why?”

Zippity Do Dah, Zipping with Java, Yay!

My oh my what a wonderful code day! Welcome to another entry of my blog and I hope you have enjoyed your stay. Before we cover todays topic of creating zip files in Java I wanted to thank everyone who has subscribed to my blog and added links through their websites. I appreciate the support and enjoy bringing you on a journey through this vast programming world. We have tamed ...

Find High / Low Value in Array (Definitive Series)

Welcome to another kick ass entry of the Programming Underground. On today's entry we explore a basic way to find the high and low values in an array as part of our Definitive Series. For those of you who are not familiar with my Definitive Series, it is the exploration of a concept and examples provided for 5 major languages (C++/C#/VB.NET/Java/PHP). Doing a search on my blog will also uncover ...

Train / Bus Reservation Example in Java

ALLLLLL ABOARD! Buy your tickets right here for the DIC train of love. In this episode we talk about a problem that pops up once in awhile on the boards, a seat reservation system. People have their preferences and the DIC train is no different. Some people like the windows, some people like the aisle seats and some even like to hang out there in the caboose (Yeah you know ...

Let the Carnage Begin! Josephus Solution in C++

It was a dark stormy night, the staff of DIC had been running all night up this steep mountain trying to avoid the hordes of newbies asking for solutions. "Run for the cave!" yelled supersloth. So the crew ran into the cave hoping to elude the beasts that will not let a programming master sleep. Shortly after the 10 staffers made it safely inside... "BOOM POW CRASH!" the cave entrance ...

Problems with Brute Force in Programming

"Damn! This solution just won't work! I have tried everything and all I get is a bunch of mush! Stupid programming I hate it!" Does this sound like you? Do you feel like one of those people on TV at the beginning of some paid television commercial? Many times the newbie and the expert alike finds themselves in the situation where a project just seems to stall. As human beings, ...

Euclidean, Bezout, and Coprime Oh My!

Occasionally a programmer loves to play with numbers. Some like to stick gum in their sister's hair, but that is besides the point. At the heart of some programming is the heart of mathematics and especially number theory. One of the great theoretical algorithms out there is the Extended Euclidean algorithm which is used to find the Greatest Common Divisor (GCD). The GCD is a number which divides both of ...