Intro to Algorithms and Big-O Notation

Intro to Algorithms and Big-O Notation

Author: Trevor Page: Java Guru | Programmer | Teacher October 30, 2013 Duration: 54:12

An algorithm is essentially a well defined set of instructions that get carried out by a computer in an automated fashion to solve a problem.  A good example of this is to say "How would you tell a computer to figure out which of the 5 balls I've given to you is the heaviest (or lightest)".  In order to solve this "problem", you'll need to define a set of steps for the computer to carry out in order to reach a conclusion and solve the problem.

Algorithms are very common in programming, as you are constantly trying to tell the computer how to solve problems in a step by step manner.

The Big-O Notation is the way we determine how fast any given algorithm is when put through its paces.  

Consider this scenario: You are typing a search term into Google like "How to Program with Java" or "Java Video Tutorials", you hit search, and you need to wait about 30 seconds before all of the results are on the screen and ready to go...  Would you still use Google?  Or would you start shopping around with other search engines to find one that is faster?  My guess is you'd start shopping around.

Speed is everything these days, and building slow software is infuriating to users even if they aren't even paying for the software.


The How to Program with Java Podcast is a practical guide for anyone wanting to build software, from curious beginners to those looking to solidify their professional skills. Host Trevor Page, a seasoned Java guru and teacher, breaks down complex programming concepts into clear, manageable lessons you can apply immediately. You'll hear detailed walkthroughs on building applications, understanding core principles like object-oriented design, and navigating the tools of the trade. The discussions move beyond dry theory, focusing on the real-world logic and problem-solving that defines a career in software development. Whether you're aiming for a new job, tackling a personal project, or helping a child explore technology, this podcast provides a structured, conversational path forward. Each episode is crafted to demystify the process, translating technical jargon into plain English so you can focus on creating functional code. The tone is direct and encouraging, rooted in Trevor's experience as both a programmer and an educator. It’s a resource for building a tangible skill set, episode by episode, where consistent listening translates directly to growing competency. You’ll find the content naturally bridges the categories of technology education and career development, making it a useful companion for your learning journey.
Author: Language: English Episodes: 113

How to Program with Java Podcast
Podcast Episodes
Database Relationships: Many-to-Many and One-to-One [not-audio_url] [/not-audio_url]

Duration: 44:01
Show Notes available via: http://howtoprogramwithjava.com/session43 In this post we will be expanding on the topic of database relationships and touch on two that are less common but just as useful. Many-to-Many Relation…
Database Relationships – One to Many [not-audio_url] [/not-audio_url]

Duration: 32:16
We've talked about relational databases already, and we've learned why this type of database management really dovetails with the object oriented programming model. So now I want to dive into the specifics when it comes…
Database Terminology - Relationships, Joins and Keys [not-audio_url] [/not-audio_url]

Duration: 0:00
Terminology It's the foundation when learning any new concepts. In this episode of the "How to Program with Java Podcast" we will be talking about some new database terminology. One of the most important aspects of moder…
CRUD Operations - Syntax for Interacting with your Database [not-audio_url] [/not-audio_url]

Duration: 55:16
What's all this CRUD about? Create Read Update Delete This is the at the heart of all databases and SQL. A database essentially carries out these four operations over and over again for the duration of its existence. In…
Intro to Databases and SQL [not-audio_url] [/not-audio_url]

Duration: 0:00
Ladies and gentlemen the time has come for you to start learning about Databases and SQL. In this episode I will talk about the very basics of databases and why it is they exist in the first place. You'll learn things li…
Let's talk AJAX - It's not just for cleaning anymore! [not-audio_url] [/not-audio_url]

Duration: 32:15
AJAX (Asynchronous Javascript and XML) is a techonology used to create Rich Internet Applications (RIA). If you're asking "what the heck does that mean!?" You're in the right place In this podcast episode we will talk ab…
Spring Security [not-audio_url] [/not-audio_url]

Duration: 49:37
Ever wondered how you could properly restrict access to certain parts of your web application? Do you have an application that has a user registration page and a user login page? Spring Security is the answer if you have…
Data Binding with Spring Framework [not-audio_url] [/not-audio_url]

Duration: 42:43
So, the Spring framework is a wonderful help for programmers, but sometimes it needs a bit of help. It does a good job of trying to match fields on a webpage to Java objects (aka Java Beans), but sometimes when the "mapp…
Spring Framework - Fun with Controllers [not-audio_url] [/not-audio_url]

Duration: 55:07
In our last episode I talked about controllers and how they are used in Spring. In this episode I will be diving even further into Controllers in the Spring Framework and I will talk about the different parameters that c…
Intro to the Spring Framework [not-audio_url] [/not-audio_url]

Duration: 49:17
Well, so far we've been focusing on a bunch of topics that align themselves around the Java programming language in general. But now we're going to take things into a slightly new direction, we're going to be talking abo…