
Thinking Like a Computer Scientist: A Python Programming Journey
01/04/25 • 18 min
1 Listener
This episode explores how to approach problem-solving through computer programming using Python. We'll learn about the core concepts in "Think Python," including variables, expressions, functions, and control structures, and how these elements work together to create effective programs. We'll focus on developing a "computer science" mindset, and using concepts like incremental development and debugging to tackle complex problems. We will also discuss data structures like lists and dictionaries, object-oriented programming, and file handling to write practical programs, with examples drawn from the textbook.
Think Python 2nd edition: book
This episode explores how to approach problem-solving through computer programming using Python. We'll learn about the core concepts in "Think Python," including variables, expressions, functions, and control structures, and how these elements work together to create effective programs. We'll focus on developing a "computer science" mindset, and using concepts like incremental development and debugging to tackle complex problems. We will also discuss data structures like lists and dictionaries, object-oriented programming, and file handling to write practical programs, with examples drawn from the textbook.
Think Python 2nd edition: book
Previous Episode

Structure and Interpretation: Exploring the Foundations of Computer Science
Join us as we delve into the classic textbook, "Structure and Interpretation of Computer Programs" (SICP), exploring its key concepts and timeless principles. From abstraction and recursion to metacircular evaluators and logic programming, we unpack the ideas that have shaped generations of programmers. We’ll discuss how these ideas are still relevant today, drawing on concrete examples and explanations from the text and our own exploration. We will be referencing different concepts in the text, including Lisp as a language for describing processes, data abstraction, generic operations, message passing, stream processing and the implementation of evaluators, to fully understand this foundational text.
Next Episode

Diving into Operating Systems: Virtualization, Concurrency, and Persistence
Join us to discuss about the book "Operating Systems: Three Easy Pieces" which teaches operating system concepts through a dialogue format between a professor and student. The excerpts cover various topics, including CPU and memory virtualization, concurrency, persistence (file systems and devices), scheduling algorithms (like MLFQ, lottery, and CFS), process management, memory management (paging, segmentation, allocation), and distributed systems. The book uses a combination of explanation, code examples, and figures to illustrate concepts, and includes homework assignments and references to seminal operating systems papers. It emphasizes the importance of understanding the underlying mechanisms of operating systems and the trade-offs involved in designing them.
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/my-first-tech-610994/thinking-like-a-computer-scientist-a-python-programming-journey-81127208"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to thinking like a computer scientist: a python programming journey on goodpods" style="width: 225px" /> </a>
Copy