Explorations in Computing An Introduction to Computer Science and Python Programming
An Active Learning Approach to Teaching the Main Ideas in Computing
Explorations in Computing: An Introduction to Computer Science and Python Programming teaches computer science students how to use programming skills to explore fundamental concepts and computational approaches to solving problems. Tbook gives beginning students an introduction to computer science concepts and computer programming. Designed for CS0 and CS1 courses, it is very well suited for alternative lecture styles, including flipped classrooms.
Prepares Students for Advanced Work in Computer Science
A revised and updated version of the author’s Explorations in Computing: An Introduction to Computer Science, this text incorporates two major differences. It now uses Python, instead of Ruby, as the lab software so that students can seamlessly transition from introductory projects to more advanced studies in later courses. The book also introduces Python programming, providing students with sufficient programming skills so they can implement their own programs.
Practical, Step-by-Step Projects
The interactive lab projects in each chapter allow students to examine important ideas in computer science, particularly how algorithms offer computational solutions to problems. Students can type expressions, view results, and run experiments that help them understand the concepts in a hands-on way.
The Python software modules for each lab project are available on the author’s website. The modules include data files and sample Python code that students can copy and modify. In addition, the site provides a lab manual of installation instructions and tips for editing programs and running commands in a terminal emulator.
Introduction. The Python Workbench. The Sieve of Eratosthenes. A Journey of a Thousand Miles. Iteration as a Strategy for Solving Computational Problems. Breaking Large Problems into Smaller Subproblems. A Machine Learning Approach to Filtering Junk Mail. An Algorithm for Generating Random Numbers. Binary Codes and Algorithms for text Compression and Error Detection. Introduction to Computer Architecture and Assembly Language Programming. A Program that Understands English (or does it). Computer Simulation and the N-Body Problem. A Genetic Algorithm for a Computationally Demanding Problem.