David Kopec, Rebecca Kopec

Kopec Explains Software

We make software-related technical topics intelligible. We aim to help you develop an intuitive understanding of each subject, instead of emphasizing formal definitions. Join us as we learn about the wide world of software.

Author

David Kopec, Rebecca Kopec

Category

Education

Podcast website

kopec.live

Latest episode

Mar 20, 2025

Where to listen?

Podcasts in the app Replaio Radio Coming soon

Podcasts are coming to the app soon. Install now and be the first to see a whole new take on podcasts

Get it on Google Play Install for free Android almost 10M downloads · 4.8 rating iOS soon

Episodes

#64 What is a Content Management System? 30.08.2021

A content management system (CMS) is a piece of software that lives on a web server for the dynamic generation of web sites based on content that lives in a database. A CMS frees a site developer from the need to edit raw HTML and CSS to update and stylize their site. The most popular CMS in the world by far is WordPress, but there are many open source and proprietary alternatives. In this episode...

#63 Intel's Current Challenges 23.08.2021

Intel has received a lot of bad press the last few years. It never successfully made the leap into the smartphone market. Its fab got stuck at a 14 nanometer (nm) node for several years while competing fabs pressed on to 7 and 5 nm. And it lost a huge amount of share in the X86 market to arch-rival AMD. Yet, Intel is still very profitable and it still has its chips in the majority of desktops, lap...

#62 What is an Algorithm? 16.08.2021

Algorithms are at the heart of computer science. And they're actually a really simple concept. What are the steps we need to take to solve a problem? The best algorithms are generic enough to be used on different problems of the same type. Software developers favor algorithms that are efficient and easy to implement. In this episode we'll discuss what an algorithm is, how algorithms are measured,...

#61 What is a Data Structure? 09.08.2021

The official definitions of data structures are very vague. For example, Introduction to Algorithms defines a data structure as "A way to store and organize data in order to facilitate access and modifications." They're really about collections of data. How do we put multiple pieces of data in the same place in memory and make it efficient to retrieve them or do various operations on the collectio...

#60 What is JavaScript? 02.08.2021

JavaScript is one of the most popular programming languages in the world for a simple reason: it's the only client-side programming language in every web browser. In this episode we'll discuss its purpose, history, and all of the places that it's used. We'll also get into why it is so heavily criticized. Show Notes Episode 59: What is HTML and CSS? Episode 6: How does the Web work? Episode 55: Wha...

#59 What is HTML and CSS? 26.07.2021

HTML, or Hypertext Markup Language, describes the content and structure of web pages. A web browser can also be thought of as an HTML document viewer. CSS, or Cascading Style Sheets, is a styling and layout description language that works hand-in-hand with HTML to define a web page's particular look. In this episode we provide a broad overview of both languages from 30,000 feet. If you have no kno...

#58 GitHub Copilot's Controversies 19.07.2021

GitHub recently launched its AI programming assistant, Copilot, in beta. Copilot can suggest lines of source code or even entire functions to the programmer for instant addition to their project. Copilot's machine learning algorithm was trained on millions of open source projects. This has led to many controversies around legal (copyright infringement), programmatic, and educational issues. In thi...

#57 Version Control Systems, Git, and GitHub 12.07.2021

Version Control Systems make it possible for software developers to seamlessly work together on large projects. In this episode we explain how version control systems are used and how the different kinds of version control systems compare to one another. We pay special attention to the most popular version control system, Git, and the very popular open source "social network" GitHub. Show Notes Ep...

#56 What is the Cloud? 05.07.2021

The cloud is an amorphous term that at its heart refers to computation or storage resources that are remote, aka not on your device. What backs the modern cloud are large providers like Amazon Web Services, Microsoft Azure, and Google Cloud that provide on-demand dynamic access to resources that don't require application builders to worry about individual machines. Almost every application we used...

#55 What is Java? 28.06.2021

Java, the most popular programming language in the world, is also a platform. It enables software to be written once, compiled into platform-independent bytecode, and then run on any computing device with a Java Virtual Machine. We discuss why Java was created, what the Java Virtual Machine is, and what characteristics have made Java successful. We also dive into Java's most popular applications a...

#54 What is Compression? 21.06.2021

Compression is a classic trade-off between space and time. Compressed data uses less space than the original, but it takes computational time to compress and decompress the data. In this episode we discuss the purpose of compression, some basic ways that compression works, and some common applications of compression. We distinguish between lossy and lossless compression, and we talk about algorith...

#53 Developer Tools 14.06.2021

You need programs to make programs. In this episode we discuss the tools programmers use to make the software you love. We discuss compilers, text editors, debuggers, profilers, documentation, integrated development environments, and more. By the end of the episode you'll have a good sense of how these myriad of components work together. Show Notes Episode 11: What is a Programming Language? Episo...

#52 One-Year Anniversary 07.06.2021

On our 1-year anniversary of the podcast we discuss our most popular episodes, our favorite episodes, and where we're going with the podcast moving forward. We also give you a bit of a sneak peek behind the scenes as we discuss how we get prepared for an episode. Don't forget to check out our back catalog, there's an episode for everyone. Thank you so much for listening and we'll see you next week...

#51 What is Lossless Audio? 31.05.2021

Lossless audio is coming to Apple Music and Spotify. But what is lossless audio? In this episode we explain the difference between lossy compression, like MP3 files, and the lossless formats that are coming to a streaming service near you. However, anytime we record signals from our analog world in a digital form we lose information. We talk about this dilemma and what lossless audio really means...

#50 What is DRM? 24.05.2021

Digital Rights Management (DRM) is a software or hardware mechanism that restricts what you can do with your digital media. It may limit a movie from playing without your authenticated credentials, or stop a Nintendo cartridge from working in a third-party console. While DRM was created to limit piracy, it also may limit what you can do with your purchases. In this episode we discuss DRM from lega...

#49 Apple vs Facebook on App Tracking 17.05.2021

Starting with iOS 14.5, Apple forces developers who want to track users across multiple different apps to get permission on a per app basis. In this episode we talk about the origins of this policy, why it has irked Facebook, and how the conflict has so far played out between the two companies. We get into what it means to be tracked, how the different companies' business models affect their prior...

#48 What's it Like Studying Computer Science in College? 10.05.2021

What is it like to study computer science (CS) at the undergraduate level? In this episode we dive into the qualities you need to succeed, the curriculum that most programs follow, and the likely outcomes of earning your degree. We also talk about how CS programs differ, the different subdisciplines that you can study, and how to pick a program. Show Notes Episode 28: Learning to Code Episode 33:...

#47 The C++ Programming Language 03.05.2021

Bjarne Stroustrup originally built C++ in the early 1980s as a successor to C with support for object-oriented programming. Since then, C++ has evolved in a myriad of ways, adding both features and complexity. It's found its way into many use cases, including low-level system development, application development, and game development. However, its complexity due to ongoing additions to the languag...

#46 What is The Internet of Things? 26.04.2021

It seems like every electric device that we buy today is connected to the Internet. This movement is known as the Internet of Things, or IoT for short. Some people think "Internet of Things" is a specific term, but the truth is that it's very amorphous. There's no exact parameters that make something an IoT device other than it being a thing that's connected to the Internet. Generally the term exc...

#45 Two Software Disasters 19.04.2021

While software has reduced human error in many industries, when software errors are made they can have tragic consequences. The Boeing 737 MAX crashes, occurring shortly after the introduction of the plane, were due in part to a software error in a flight maneuvering system called MCAS. Some software developers in the 20th century chose to use 2 digits to represent each date, which led to the Y2K...

#44 Google v. Oracle 12.04.2021

Last week the Supreme Court of the United States made a decision in the case known as Google LLC v. Oracle America, Inc. The case centers on whether the use of certain Java technology in Android infringed on Oracle's copyright. In particular, it's concerned with whether Google's reimplementation of Java is legitimate in copying much of the Java standard library's APIs. The legal battle between the...

#43 The Lisp Programming Language 05.04.2021

Lisp is the second oldest programming language still in wide use. Designed by John McCarthy in 1958, it introduced several new ideas to the field of programming languages, including but not limited to homoiconicity (code is data), the centrality of the list data structure, and automatic memory management. However, its parentheses heavy syntax and use of prefix notation have proved controversial am...

#42 What was DOS? 29.03.2021

Microsoft became the dominant player in personal computer operating systems through the release of MS-DOS for the IBM PC. Microsoft would go on to license DOS to the many manufacturers building PC clones, eventually reaching a market share upwards of 90% in the personal computer operating system space. MS-DOS was the dominant personal computer operating system of the 1980s and early 1990s. All ear...

#41 How to Pick an Internet Service Provider 22.03.2021

Selecting an Internet Service Provider (ISP) can be difficult if you don't know the terminology. How is connection speed measured? How does download speed differ from upload speed? What is latency? What's a data cap? We talk about all of this and more. Plus, we compare in general terms the different kinds of connection modalities, including dial-up, cable, fiber, satellite, and DSL. Show Notes Epi...

#40 What is the Memory Hierarchy? 15.03.2021

A modern computer doesn't just have one type of memory. It has disk, RAM, CPU caches, CPU registers, and much more. In this episode we dive into the different types of memory and how they work together. We delineate each type by capacity, latency, and permanence. The memory hierarchy is a classic trade-off between space and time. We also discuss other types of memory within our computing systems....

Listen to the Kopec Explains Software podcast in Replaio

Radio and podcasts in one app - free, with no sign-up. Install today and do not miss the launch

Get it on Google Play

Replaio is not a podcast publisher; show names, artwork and audio belong to their authors and are distributed through public RSS feeds.