Kopec Explains Software

Kopec Explains Software

By David Kopec, Rebecca KopecScienceTechnologyEducation
Download on the App Store

Kopec Explains Software episodes

  • #61 What is a Data Structure?

    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 collection? We'll discuss two illustrative examples: arrays and linked lists. We'll explain the tradeoffs between the two and provide some analogies for them that non-programmers can understand.

    Show Notes
    • Episode 11: What is a Programming Language?
    • Episode 3: What is a Byte?
    • Follow us on Twitter @KopecExplains.

      Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

      Find out more at http://kopec.live

      21 min
    • #60 What is JavaScript?

      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: What is Java?
      • Episode 11: What is a Programming Language?
      • Follow us on Twitter @KopecExplains.

        Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

        Find out more at http://kopec.live

        15 min
      • #59 What is HTML and CSS?

        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 knowledge of how the Web works, consider first checking out our previous episode "How Does the Web Work?"

        Show Notes
        • Episode 6: How does the Web work?
        • Episode 5: How does the Internet work?
        • Follow us on Twitter @KopecExplains.

          Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

          Find out more at http://kopec.live

          14 min
        • #58 GitHub Copilot's Controversies

          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 this episode we breakdown the controversies in this current events story.

          Show Notes
          • Episode 57: Version Control Systems, Git, and GitHub
          • Episode 53: Developer Tools
          • Episode 13: Artificial Intelligence
          • Episode 12: Open Source Software
          • Follow us on Twitter @KopecExplains.

            Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

            Find out more at http://kopec.live

            14 min
          • #57 Version Control Systems, Git, and GitHub

            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
            • Episode 53: Developer Tools
            • Episode 12: Open Source Software
            • Follow us on Twitter @KopecExplains.

              Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

              Find out more at http://kopec.live

              17 min
            • #56 What is the Cloud?

              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 today connects to the cloud. We discuss what this really means, and why this is nothing new.

              Show Notes
              • Episode 5: How does the Internet work?
              • Follow us on Twitter @KopecExplains.

                Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

                Find out more at http://kopec.live

                17 min
              • #55 What is Java?

                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 and its future.

                Show Notes
                • Episode 11: What is a Programming Language?
                • Episode 44: Google v. Oracle
                • Episode 47: The C++ Programming Language
                • Follow us on Twitter @KopecExplains.

                  Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

                  Find out more at http://kopec.live

                  14 min
                • #54 What is Compression?

                  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 algorithmic techniques like run-length encoding and dictionary based compression.

                  Show Notes
                  • Episode 51: What is Lossless Audio?
                  • Episode 3: What is a Byte?
                  • Episode 7: What is a Character Encoding?
                  • Follow us on Twitter @KopecExplains.

                    Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

                    Find out more at http://kopec.live

                    15 min
                  • #53 Developer Tools

                    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?
                    • Episode 28: Learning to Code
                    • Follow us on Twitter @KopecExplains.

                      Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

                      Find out more at http://kopec.live

                      18 min
                    • #52 One-Year Anniversary

                      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!

                      Show Notes
                      • Episode 24: The Browser Wars
                      • Episode 11: What is a Programming Language?
                      • Episode 12: Open Source Software
                      • Episode 2: What is an Operating System?
                      • Follow us on Twitter @KopecExplains.

                        Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0

                        Find out more at http://kopec.live

                        15 min

                      About Kopec Explains Software

                      From the publisher's feed

                      Each week we make a software-related technical topic intelligible. We aim to help you develop an intuitive understanding of each subject, instead of emphasizing formal definitions. Join us as we learn…