49 episodes

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 about the wide world of software.

Kopec Explains Software David Kopec, Rebecca Kopec

    • Education

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 about the wide world of software.

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

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

    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: What is the Difference Between Information Technology and Computer Science?

    Follow us on Twitter @KopecExplains.

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

    Find out more at http://kopec.live

    The C++ Programming Language

    The C++ Programming Language

    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 language without removing older features has proven controversial. In this episode we discuss how C++ got started, where it's used, and some of the different opinions that software developers hold about the language.

    Show Notes

    Episode 35: The C Programming Language
    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

    • 18 min
    What is The Internet of Things?

    What is The Internet of Things?

    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 excludes traditional computers like your PC or your smartphone. If you bought it ten years ago and it was not connected to the Internet, and you buy it today and it is, then it's generally something that's considered an Internet of Things device. In this episode we discuss some of the costs and constraints associated with Internet of Things devices, and how hobbyists and companies can use low cost prototyping platforms like Arduino.

    Show Notes

    Episode 19: What is Linux?
    Arduino

    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
    #45 Two Software Disasters

    #45 Two Software Disasters

    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 bug when the year hit 2000. They saved 1 byte per date, but systems that used 2 digits would roll dates from 1999 to 1900. Mitigating the problem cost hundreds of billions of dollars.

    We discuss whether these software disasters were software errors, human errors, or some combination of the two. We also discuss the follow-up to the Y2K issue, the upcoming 2038 bug.

    Show Notes

    Boeing 737 MAX groundings via Wikipedia
    Year 2000 problem via Wikipedia
    Episode 32: What is Unix?

    Follow us on Twitter @KopecExplains.

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

    Find out more at http://kopec.live

    • 25 min
    Google v. Oracle

    Google v. Oracle

    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 these tech giants actually began in 2010. For 11 years, the battle has raged back in forth in lower courts over billions of dollars of potential damages. The case also has far-reaching implications for the software industry. Is it "fair use" to reimplement a copyrighted API? If it's not, many software products would be in violation.

    Show Notes

    Google LLC v. Oracle America, Inc. Opinion via supremecourt.gov

    Follow us on Twitter @KopecExplains.

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

    Find out more at http://kopec.live

    • 9 min
    The Lisp Programming Language

    The Lisp Programming Language

    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 amongst some programmers. For many decades it was the mainstay of AI research, and it even had entire hardware platforms designed around its efficient execution. Today, Lisp's legacy lives on through its influence on other languages and its modern dialects like Scheme and Clojure.

    Show Notes

    Episode 11: What is a Programming Language
    Lisp via Wikipedia
    Scheme via Wikipedia
    Clojure via Wikipedia
    Structure and Interpretation of Computer Programs via Wikipedia

    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

Top Podcasts In Education