├── .gitignore ├── .idea ├── bookn.iml ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── LICENSE ├── README.md ├── conversion_tools ├── TOC.yml ├── copy_images_dir.py ├── filter_links.py ├── make_mkdocs_yaml.py ├── md_not_converted.tpl ├── nb2html.py ├── nb2latex.py ├── nb2mkdocs.py ├── nb_list_tools.py ├── remove_section_from_TOC.ipynb ├── templates │ ├── book_PUU.tplx │ └── noprompts.tplx ├── test_latex.tex ├── test_output.tex ├── test_output2.tex ├── test_output3.tex ├── test_output4.tex ├── test_output5.tex └── yaml_TOC.py ├── notebooks ├── 00-Preface │ ├── 00.00-Motivation.ipynb │ ├── 00.02-Acknowledgments.ipynb │ ├── 00.03-Supporting-Materials.ipynb │ ├── 00.04-Formatting-Conventions.ipynb │ └── 00.05-Errata.ipynb ├── 01-Orientation │ ├── 01.00-Welcome.ipynb │ ├── 01.01-Why-Python.ipynb │ ├── 01.02-The-Anaconda-Distribution-of-Python.ipynb │ ├── 01.03-Installing-Anaconda-on-Windows.ipynb │ ├── 01.04-Installing-Anaconda-on-MacOS.ipynb │ ├── 01.05-Installing-Anaconda-on-Linux.ipynb │ ├── 01.06-Installing-Python-from-Python-dot-org.ipynb │ ├── 01.07-Summary.ipynb │ ├── 01.08-Review-Questions.ipynb │ └── images │ │ ├── Anaconda_download_linux.png │ │ ├── anaconda_agree_to_license.png │ │ ├── anaconda_download_mac.png │ │ ├── anaconda_download_mac_ask_for_email.png │ │ ├── anaconda_download_page.png │ │ ├── anaconda_downloading.png │ │ ├── anaconda_enter_email.png │ │ ├── anaconda_from_start_menu.png │ │ ├── anaconda_install_linux_copy_link_address.png │ │ ├── anaconda_installer_advanced_options.png │ │ ├── anaconda_installer_click_next.png │ │ ├── anaconda_path2.png │ │ ├── anaconda_prompt.png │ │ ├── anaconda_python3_or_python2.png │ │ ├── anaconda_run_installer.png │ │ ├── anaconda_select_windows.png │ │ ├── anaconda_window.png │ │ ├── conda_import_this.png │ │ ├── conda_import_this_output.png │ │ ├── conda_in_windows_start_menu.png │ │ ├── conda_prompt_type_python.png │ │ ├── conda_type_python.png │ │ ├── python_dot_org_macos_download.PNG │ │ └── python_dot_org_windows_download.PNG ├── 02-The-Python-REPL │ ├── 02.00-Introduction.ipynb │ ├── 02.01-Python-as-a-Calculator.ipynb │ ├── 02.02-Variables.ipynb │ ├── 02.03-String-Operations.ipynb │ ├── 02.04-Print-Statements.ipynb │ ├── 02.05-Summary.ipynb │ └── 02.06-Review-Questions.ipynb ├── 03-Data-Types-and-Variables │ ├── 03.00-Introduction.ipynb │ ├── 03.01-Numeric-Data-Types.ipynb │ ├── 03.02-Boolean-Data-Type.ipynb │ ├── 03.03-Strings.ipynb │ ├── 03.04-Lists.ipynb │ ├── 03.05-Dictionaries-and-Tuples.ipynb │ ├── 03.06-Summary.ipynb │ ├── 03.07-Review-Questions.ipynb │ └── images │ │ ├── reverse_string_indexing.png │ │ ├── reverse_string_indexing.xml │ │ ├── string_indexing.png │ │ └── string_indexing.xml ├── 04-Jupyter-Notebooks │ ├── 04.00-Introduction.ipynb │ ├── 04.01-What-is-a-Jupyter-Notebook.ipynb │ ├── 04.02-Why-Jupyter-Notebooks.ipynb │ ├── 04.03-Installing-Juypter.ipynb │ ├── 04.04-Opening-a-Jupyter-Notebook.ipynb │ ├── 04.05-The-Jupyter-Notebook-Interface.ipynb │ ├── 04.06-Magic-Cells.ipynb │ ├── 04.07-Getting-Help-in-a-Jupyter-Notebook.ipynb │ ├── 04.08-Summary.ipynb │ ├── 04.10-Review-Questions.ipynb │ ├── hello.py │ └── images │ │ ├── Anaconda_Prompt_Jupyter_Notebook.png │ │ ├── Jupyter_Home_Browser.png │ │ ├── anaconda_navigator_jupyter_notebook_launch.png │ │ ├── anaconda_navigator_jupyter_notebook_start.png │ │ ├── anaconda_start_menu.png │ │ ├── change_cell_type.png │ │ ├── click_change_name.png │ │ ├── code_cell.png │ │ ├── downloading_complete.png │ │ ├── engineering.png │ │ ├── file_download_as_notebook.png │ │ ├── file_make_a_copy.png │ │ ├── insert_cell_above.png │ │ ├── jupyter_notebook_anaconda_prompt.png │ │ ├── jupyter_notebook_dot_py_file.png │ │ ├── jupyter_notebook_example.png │ │ ├── jupyter_notebook_export_options.png │ │ ├── jupyter_notebook_markdown_cells_as_comments.png │ │ ├── kernel_restart_and_clear_output.png │ │ ├── markdown_cell.png │ │ ├── new_notebook.png │ │ ├── new_notebook_from_browser.png │ │ ├── notebook_file_browser.png │ │ ├── notebook_file_browser_click_folder.png │ │ ├── notebook_file_browser_click_notebook.png │ │ ├── notebook_json.png │ │ ├── output_cell.png │ │ ├── rename_dialog.png │ │ ├── rename_notebook.png │ │ ├── rename_window.png │ │ ├── run_cell.png │ │ ├── run_import_this.png │ │ ├── save_notebook.png │ │ ├── windows_start_anaconda_navigator.png │ │ └── windows_start_jupyter_notebook.png ├── 05-Functions-and-Modules │ ├── 05.00-Introduction.ipynb │ ├── 05.01-Why-functions.ipynb │ ├── 05.02-First-function.ipynb │ ├── 05.03-Functions-with-multiple-arguments.ipynb │ ├── 05.04-Functions-with-default-arguments.ipynb │ ├── 05.05-Calling-Functions-from-Other-Files.ipynb │ ├── 05.06-Docstrings-in-Functions.ipynb │ ├── 05.07-Positional-and-Keyword-Arguments.ipynb │ ├── 05.08-Summary.ipynb │ ├── 05.09-Review-Questions.ipynb │ └── myfunctions.py ├── 06-Plotting-with-Matplotlib │ ├── 06.00-Introduction.ipynb │ ├── 06.01-What-is-Matplotlib.ipynb │ ├── 06.02-Installing Matplotlib.ipynb │ ├── 06.03-Line-Plots.ipynb │ ├── 06.04-Saving-Plots.ipynb │ ├── 06.05-Multi-Line-Plots.ipynb │ ├── 06.06-Bar-Charts-and-Pie-Charts.ipynb │ ├── 06.07-Error-Bars.ipynb │ ├── 06.08-Histograms.ipynb │ ├── 06.09-Box-Plots-and-Violin-Plots.ipynb │ ├── 06.10-Scatter-Plots.ipynb │ ├── 06.11-Plot-Annotations.ipynb │ ├── 06.12-Subplots.ipynb │ ├── 06.13-Plot-Styles.ipynb │ ├── 06.14-Contour-Plots.ipynb │ ├── 06.15-Quiver-and-Stream-Plots.ipynb │ ├── 06.16-3D-Surface-Plots.ipynb │ ├── 06.17-Summary.ipynb │ ├── 06.18-Review-Questions.ipynb │ ├── 3_quiver_plots.png │ ├── bar_plot.png │ ├── bar_plot_with_error_bars.png │ └── plot.png ├── 07-If-Else-Try-Except │ ├── 07.00-Introduction.ipynb │ ├── 07.01-User-Input.ipynb │ ├── 07.02-If-Statements.ipynb │ ├── 07.02-Selection-Statements.ipynb │ ├── 07.04-If-Else-Statements.ipynb │ ├── 07.05-Try-Except-Statements.ipynb │ ├── 07.06-Flowcharts.ipynb │ ├── 07.07-Summary.ipynb │ ├── 07.08-Review-Questions.ipynb │ └── images │ │ ├── flow_chart_calculation_program.png │ │ ├── flow_chart_calculation_program.xml │ │ ├── flow_chart_more_complex_user_input_program.png │ │ ├── flow_chart_more_complex_user_input_program.xml │ │ ├── flow_chart_simple_print_program.png │ │ ├── flow_chart_simple_print_program.xml │ │ ├── flow_chart_simple_user_input_program.png │ │ ├── flow_chart_simple_user_input_program.xml │ │ ├── flow_chart_user_input_program.xml │ │ ├── four_flow_chart_shapes.png │ │ └── four_flow_chart_shapes.xml ├── 08-Loops │ ├── 08.00-Introduction.ipynb │ ├── 08.01-For-Loops.ipynb │ ├── 08.02-While-Loops.ipynb │ ├── 08.03-Break-and-Continue.ipynb │ ├── 08.04-Flowcharts-Describing-Loops.ipynb │ ├── 08.05-Summary.ipynb │ ├── 08.06-Review-Questions.ipynb │ └── images │ │ ├── flow_chart_of_program_that_contains_a_for_loop.png │ │ ├── flow_chart_of_program_that_contains_a_for_loop.xml │ │ ├── flow_chart_of_program_that_contains_a_while_loop.png │ │ ├── flow_chart_of_program_that_contains_a_while_loop.xml │ │ ├── four_flow_chart_shapes.png │ │ └── four_flow_chart_shapes.xml ├── 09-Matricies-and-Arrays │ ├── 09.00-Introduction.ipynb │ ├── 09.01-Installing-NumPy.ipynb │ ├── 09.02-NumPy.ipynb │ ├── 09.03-Array-Creation.ipynb │ ├── 09.04-Array-Indexing.ipynb │ ├── 09.05-Array-Slicing.ipynb │ ├── 09.06-Array-Opperations.ipynb │ ├── 09.07-Systems-of-Linear-Equations.ipynb │ ├── 09.08-Summary.ipynb │ └── 09.10-Review-Questions.ipynb ├── 10-Symbolic-Math │ ├── 10.00-Introduction.ipynb │ ├── 10.01-SymPy.ipynb │ ├── 10.02-Defining-Varaibles.ipynb │ ├── 10.03-Expressions-and-Substitutions.ipynb │ ├── 10.04-Equations.ipynb │ ├── 10.05-Solving-Equations.ipynb │ ├── 10.06-Solving-Two-Equations-for-Two-Unknowns.ipynb │ ├── 10.07-Summary.ipynb │ ├── 10.08-Review-Questions.ipynb │ └── images │ │ └── statics_problem_diagram.png ├── 11-Python-and-External-Hardware │ ├── 11.00-Introduction.ipynb │ ├── 11.01-PySerial.ipynb │ ├── 11.02-Bytes-and-Unicode-Strings.ipynb │ ├── 11.03-Controlling-an-LED.ipynb │ ├── 11.04-Reading-a-Sensor-with-Python.ipynb │ ├── 11.05-Summary.ipynb │ ├── 11.06-Project-Ideas.ipynb │ ├── images │ │ ├── Arduino_LED_fritzing.png │ │ ├── Arrow_to_Upload.png │ │ ├── Check_to_Verify.png │ │ ├── Examples_Com_PhysicalPixel.png │ │ ├── SerialMonitor_H.png │ │ ├── Tools_SerialMonitor.png │ │ ├── Tools_SerialPlotter.png │ │ ├── arduino_LED.png │ │ ├── arduino_LED.svg │ │ ├── arduino_download_page.png │ │ ├── arduino_led.fzz │ │ ├── arduino_potentiometer.fzz │ │ ├── arduino_potentiometer.svg │ │ ├── download_Arduino_IDE.png │ │ ├── file-examples-communication-physicalpixel.png │ │ ├── matplotlib_potentiometer_plot.png │ │ ├── redboard_LED.fzz │ │ ├── redboard_LED_bb.png │ │ ├── redboard_LED_potentiometer.fzz │ │ ├── redboard_pot_led_fritzing.png │ │ ├── serial_monitor_L.png │ │ ├── serial_monitor_output.png │ │ └── serial_plotter_output.png │ └── potentiometer_read.ino ├── 12-MicroPython │ ├── 12.00-Introduction.ipynb │ ├── 12.01-What-is-MicroPython.ipynb │ ├── 12.02-Installing-MicroPython.ipynb │ ├── 12.03-MicroPython-REPL.ipynb │ ├── 12.04-Blinking-a-LED.ipynb │ ├── 12.05-Reading-a-Sensor.ipynb │ ├── 12.06-Uploading-Code.ipynb │ ├── 12.07-Summary.ipynb │ ├── 12.08-Project-Ideas.ipynb │ └── images │ │ ├── Anaconda_Prompt.PNG │ │ ├── Anaconda_choose_python_version.PNG │ │ ├── Anaconda_downloads_page.PNG │ │ ├── MicroPython_in_jupyter_notebook.png │ │ ├── REPL_prompt.PNG │ │ ├── active_new_conda_env.PNG │ │ ├── bin_file_to_new_directory.PNG │ │ ├── bin_in_dir.PNG │ │ ├── conda_activate.PNG │ │ ├── conda_create_new_virtualenv.PNG │ │ ├── conda_install_mpy-repl-tool.jpg │ │ ├── conda_list.PNG │ │ ├── conda_there-jupyter-setup.png │ │ ├── device_manager_menu.png │ │ ├── download_putty.PNG │ │ ├── download_silabs_driver.PNG │ │ ├── downloads_folder.PNG │ │ ├── esptool_erase_flash.PNG │ │ ├── esptool_help.PNG │ │ ├── esptool_write_flash.PNG │ │ ├── feather_huzzah_temp_sensor_fritzing.png │ │ ├── find_device_manager.png │ │ ├── firmware_download_page.PNG │ │ ├── import_port_diag.PNG │ │ ├── micropython_modules.png │ │ ├── mkdir_micropython.PNG │ │ ├── pip_install_esptool.PNG │ │ ├── putty_config.PNG │ │ ├── putty_in_start_menu.png │ │ ├── sys_dot_implementation_and_platform.PNG │ │ ├── sys_dot_platform.PNG │ │ └── there.jupyter-setup.png ├── 99-Appendix │ ├── 99.00-Appendix.ipynb │ ├── 99.01-Reserved-and-Key-Words-in-Python.ipynb │ ├── 99.02-ASCII-Character-Codes.ipynb │ ├── 99.03-Virtual-Environments.ipynb │ ├── 99.04-NumPy-Math-Functions.ipynb │ ├── 99.05-Git-and-GitHub.ipynb │ ├── 99.06-LaTeX-Math.ipynb │ ├── 99.07-Problem-Solving-with-Python-Book-Construction.ipynb │ ├── 99.08-Contributions.ipynb │ ├── 99.09-Cover-Artwork.ipynb │ └── 99.10-About-the-Author.ipynb ├── TOC.ipynb └── figures │ └── anaconda_download_page.png ├── pdf ├── Problem-Solving-with-Python-3.6-Edition-2018-01-09.out ├── Problem-Solving-with-Python-3.6-Edition-2018-01-09.synctex(busy) ├── Problem-Solving-with-Python-3.6-Edition-2018-01-09.tex ├── Problem-Solving-with-Python-3.6-Edition-2018-01-09.toc ├── Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.out ├── Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.synctex(busy) ├── Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.tex ├── Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.toc ├── Problem-Solving-with-Python-3.6.2-Edition.aux ├── Problem-Solving-with-Python-3.6.2-Edition.out ├── Problem-Solving-with-Python-3.6.2-Edition.tex ├── Problem-Solving-with-Python-3.6.2-Edition.toc ├── README.md ├── combined_files │ ├── combined_267_0.png │ ├── combined_279_0.png │ ├── combined_285_0.png │ ├── combined_289_0.png │ ├── combined_291_0.png │ ├── combined_304_0.png │ ├── combined_307_0.png │ ├── combined_308_0.png │ ├── combined_314_0.png │ ├── combined_318_0.png │ ├── combined_323_0.png │ ├── combined_328_0.png │ ├── combined_329_0.png │ ├── combined_333_0.png │ ├── combined_338_0.png │ ├── combined_343_0.png │ ├── combined_348_0.png │ ├── combined_350_0.png │ ├── combined_351_0.png │ ├── combined_352_0.png │ ├── combined_353_0.png │ ├── combined_360_0.png │ ├── combined_363_0.png │ ├── combined_366_0.png │ ├── combined_369_0.png │ ├── combined_377_0.png │ ├── combined_384_0.png │ ├── combined_386_0.png │ ├── combined_388_0.png │ ├── combined_390_0.png │ ├── combined_393_0.png │ ├── combined_398_0.png │ ├── combined_401_0.png │ ├── combined_403_0.png │ ├── combined_405_0.png │ ├── combined_412_0.png │ ├── combined_415_0.png │ ├── combined_418_0.png │ ├── combined_421_0.png │ └── combined_549_0.png ├── copywrite_page.tex ├── dedication_page.tex ├── images │ ├── Anaconda_Prompt.PNG │ ├── Anaconda_Prompt_Jupyter_Notebook.png │ ├── Anaconda_choose_python_version.PNG │ ├── Anaconda_downloads_page.PNG │ ├── Arduino_LED_fritzing.png │ ├── Arrow_to_Upload.png │ ├── Check_to_Verify.png │ ├── Examples_Com_PhysicalPixel.png │ ├── Jupyter_Home_Browser.png │ ├── MicroPython_in_jupyter_notebook.png │ ├── REPL_prompt.PNG │ ├── SerialMonitor_H.png │ ├── Tools_SerialMonitor.png │ ├── Tools_SerialPlotter.png │ ├── active_new_conda_env.PNG │ ├── anaconda_agree_to_license.png │ ├── anaconda_download_mac.png │ ├── anaconda_download_mac_ask_for_email.png │ ├── anaconda_download_page.png │ ├── anaconda_downloading.png │ ├── anaconda_enter_email.png │ ├── anaconda_from_start_menu.png │ ├── anaconda_installer_advanced_options.png │ ├── anaconda_installer_click_next.png │ ├── anaconda_path2.png │ ├── anaconda_prompt.png │ ├── anaconda_python3_or_python2.png │ ├── anaconda_run_installer.png │ ├── anaconda_select_windows.png │ ├── anaconda_window.png │ ├── arduino_LED.png │ ├── arduino_LED.svg │ ├── arduino_led.fzz │ ├── arduino_potentiometer.fzz │ ├── arduino_potentiometer.svg │ ├── bin_file_to_new_directory.PNG │ ├── bin_in_dir.PNG │ ├── conda_activate.PNG │ ├── conda_create_new_virtualenv.PNG │ ├── conda_import_this.png │ ├── conda_import_this_output.png │ ├── conda_in_windows_start_menu.png │ ├── conda_install_mpy-repl-tool.jpg │ ├── conda_list.PNG │ ├── conda_prompt_type_python.png │ ├── conda_there-jupyter-setup.png │ ├── conda_type_python.png │ ├── device_manager_menu.png │ ├── download_Arduino_IDE.png │ ├── download_putty.PNG │ ├── download_silabs_driver.PNG │ ├── downloads_folder.PNG │ ├── engineering.png │ ├── esptool_erase_flash.PNG │ ├── esptool_help.PNG │ ├── esptool_write_flash.PNG │ ├── feather_huzzah_temp_sensor_fritzing.png │ ├── file-examples-communication-physicalpixel.png │ ├── find_device_manager.png │ ├── firmware_download_page.PNG │ ├── import_port_diag.PNG │ ├── jupyter_notebook_dot_py_file.png │ ├── jupyter_notebook_export_options.png │ ├── jupyter_notebook_markdown_cells_as_comments.png │ ├── micropython_modules.png │ ├── mkdir_micropython.PNG │ ├── pip_install_esptool.PNG │ ├── putty_config.PNG │ ├── putty_in_start_menu.png │ ├── redboard_pot_led_fritzing.png │ ├── serial_monitor_output.png │ ├── serial_plotter_output.png │ ├── sys_dot_implementation_and_platform.PNG │ ├── sys_dot_platform.PNG │ └── there.jupyter-setup.png ├── pdfout3.aux ├── pdfout3.out ├── pdfout3.tex ├── pdfout3.toc └── pdfout4.tex ├── requirements.txt ├── runtime.txt └── website ├── README.md ├── docs ├── 00-Preface │ ├── 00.00-Motivation.md │ ├── 00.02-Acknowledgments.md │ ├── 00.03-Supporting-Materials.md │ ├── 00.04-Formatting-Conventions.md │ └── 00.05-Errata.md ├── 01-Orientation │ ├── 01.00-Welcome.md │ ├── 01.01-Why-Python.md │ ├── 01.02-The-Anaconda-Distribution-of-Python.md │ ├── 01.03-Installing-Anaconda-on-Windows.md │ ├── 01.04-Installing-Anaconda-on-MacOS.md │ ├── 01.05-Installing-Anaconda-on-Linux.md │ ├── 01.06-Installing-Python-from-Python-dot-org.md │ ├── 01.07-Summary.md │ ├── 01.08-Review-Questions.md │ └── images │ │ ├── Anaconda_download_linux.png │ │ ├── anaconda_agree_to_license.png │ │ ├── anaconda_download_mac.png │ │ ├── anaconda_download_mac_ask_for_email.png │ │ ├── anaconda_download_page.png │ │ ├── anaconda_downloading.png │ │ ├── anaconda_enter_email.png │ │ ├── anaconda_from_start_menu.png │ │ ├── anaconda_install_linux_copy_link_address.png │ │ ├── anaconda_installer_advanced_options.png │ │ ├── anaconda_installer_click_next.png │ │ ├── anaconda_path2.png │ │ ├── anaconda_prompt.png │ │ ├── anaconda_python3_or_python2.png │ │ ├── anaconda_run_installer.png │ │ ├── anaconda_select_windows.png │ │ ├── anaconda_window.png │ │ ├── conda_import_this.png │ │ ├── conda_import_this_output.png │ │ ├── conda_in_windows_start_menu.png │ │ ├── conda_prompt_type_python.png │ │ ├── conda_type_python.png │ │ ├── python_dot_org_macos_download.PNG │ │ └── python_dot_org_windows_download.PNG ├── 02-The-Python-REPL │ ├── 02.00-Introduction.md │ ├── 02.01-Python-as-a-Calculator.md │ ├── 02.02-Variables.md │ ├── 02.03-String-Operations.md │ ├── 02.04-Print-Statements.md │ ├── 02.05-Summary.md │ └── 02.06-Review-Questions.md ├── 03-Data-Types-and-Variables │ ├── 03.00-Introduction.md │ ├── 03.01-Numeric-Data-Types.md │ ├── 03.02-Boolean-Data-Type.md │ ├── 03.03-Strings.md │ ├── 03.04-Lists.md │ ├── 03.05-Dictionaries-and-Tuples.md │ ├── 03.06-Summary.md │ ├── 03.07-Review-Questions.md │ └── images │ │ ├── reverse_string_indexing.png │ │ ├── reverse_string_indexing.xml │ │ ├── string_indexing.png │ │ └── string_indexing.xml ├── 04-Jupyter-Notebooks │ ├── 04.00-Introduction.md │ ├── 04.01-What-is-a-Jupyter-Notebook.md │ ├── 04.02-Why-Jupyter-Notebooks.md │ ├── 04.03-Installing-Juypter.md │ ├── 04.04-Opening-a-Jupyter-Notebook.md │ ├── 04.05-The-Jupyter-Notebook-Interface.md │ ├── 04.06-Magic-Cells.md │ ├── 04.07-Getting-Help-in-a-Jupyter-Notebook.md │ ├── 04.08-Summary.md │ ├── 04.10-Review-Questions.md │ └── images │ │ ├── Anaconda_Prompt_Jupyter_Notebook.png │ │ ├── Jupyter_Home_Browser.png │ │ ├── anaconda_navigator_jupyter_notebook_launch.png │ │ ├── anaconda_navigator_jupyter_notebook_start.png │ │ ├── anaconda_start_menu.png │ │ ├── change_cell_type.png │ │ ├── click_change_name.png │ │ ├── code_cell.png │ │ ├── downloading_complete.png │ │ ├── engineering.png │ │ ├── file_download_as_notebook.png │ │ ├── file_make_a_copy.png │ │ ├── insert_cell_above.png │ │ ├── jupyter_notebook_anaconda_prompt.png │ │ ├── jupyter_notebook_dot_py_file.png │ │ ├── jupyter_notebook_example.png │ │ ├── jupyter_notebook_export_options.png │ │ ├── jupyter_notebook_markdown_cells_as_comments.png │ │ ├── kernel_restart_and_clear_output.png │ │ ├── markdown_cell.png │ │ ├── new_notebook.png │ │ ├── new_notebook_from_browser.png │ │ ├── notebook_file_browser.png │ │ ├── notebook_file_browser_click_folder.png │ │ ├── notebook_file_browser_click_notebook.png │ │ ├── notebook_json.png │ │ ├── output_cell.png │ │ ├── rename_dialog.png │ │ ├── rename_notebook.png │ │ ├── rename_window.png │ │ ├── run_cell.png │ │ ├── run_import_this.png │ │ ├── save_notebook.png │ │ ├── windows_start_anaconda_navigator.png │ │ └── windows_start_jupyter_notebook.png ├── 05-Functions-and-Modules │ ├── 05.00-Introduction.md │ ├── 05.01-Why-functions.md │ ├── 05.02-First-function.md │ ├── 05.03-Functions-with-multiple-arguments.md │ ├── 05.04-Functions-with-default-arguments.md │ ├── 05.05-Calling-Functions-from-Other-Files.md │ ├── 05.06-Docstrings-in-Functions.md │ ├── 05.07-Positional-and-Keyword-Arguments.md │ ├── 05.08-Summary.md │ └── 05.09-Review-Questions.md ├── 06-Plotting-with-Matplotlib │ ├── 06.00-Introduction.md │ ├── 06.01-What-is-Matplotlib.md │ ├── 06.02-Installing Matplotlib.md │ ├── 06.03-Line-Plots.md │ ├── 06.04-Saving-Plots.md │ ├── 06.05-Multi-Line-Plots.md │ ├── 06.06-Bar-Charts-and-Pie-Charts.md │ ├── 06.07-Error-Bars.md │ ├── 06.08-Histograms.md │ ├── 06.09-Box-Plots-and-Violin-Plots.md │ ├── 06.10-Scatter-Plots.md │ ├── 06.11-Plot-Annotations.md │ ├── 06.12-Subplots.md │ ├── 06.13-Plot-Styles.md │ ├── 06.14-Contour-Plots.md │ ├── 06.15-Quiver-and-Stream-Plots.md │ ├── 06.16-3D-Surface-Plots.md │ ├── 06.17-Summary.md │ └── 06.18-Review-Questions.md ├── 07-If-Else-Try-Except │ ├── 07.00-Introduction.md │ ├── 07.01-User-Input.md │ ├── 07.02-If-Statements.md │ ├── 07.02-Selection-Statements.md │ ├── 07.04-If-Else-Statements.md │ ├── 07.05-Try-Except-Statements.md │ ├── 07.06-Flowcharts.md │ ├── 07.07-Summary.md │ ├── 07.08-Review-Questions.md │ └── images │ │ ├── flow_chart_calculation_program.png │ │ ├── flow_chart_calculation_program.xml │ │ ├── flow_chart_more_complex_user_input_program.png │ │ ├── flow_chart_more_complex_user_input_program.xml │ │ ├── flow_chart_simple_print_program.png │ │ ├── flow_chart_simple_print_program.xml │ │ ├── flow_chart_simple_user_input_program.png │ │ ├── flow_chart_simple_user_input_program.xml │ │ ├── flow_chart_user_input_program.xml │ │ ├── four_flow_chart_shapes.png │ │ └── four_flow_chart_shapes.xml ├── 08-Loops │ ├── 08.00-Introduction.md │ ├── 08.01-For-Loops.md │ ├── 08.02-While-Loops.md │ ├── 08.03-Break-and-Continue.md │ ├── 08.04-Flowcharts-Describing-Loops.md │ ├── 08.05-Summary.md │ ├── 08.06-Review-Questions.md │ └── images │ │ ├── flow_chart_of_program_that_contains_a_for_loop.png │ │ ├── flow_chart_of_program_that_contains_a_for_loop.xml │ │ ├── flow_chart_of_program_that_contains_a_while_loop.png │ │ ├── flow_chart_of_program_that_contains_a_while_loop.xml │ │ ├── four_flow_chart_shapes.png │ │ └── four_flow_chart_shapes.xml ├── 09-Matricies-and-Arrays │ ├── 09.00-Introduction.md │ ├── 09.01-Installing-NumPy.md │ ├── 09.02-NumPy.md │ ├── 09.03-Array-Creation.md │ ├── 09.04-Array-Indexing.md │ ├── 09.05-Array-Slicing.md │ ├── 09.06-Array-Opperations.md │ ├── 09.07-Systems-of-Linear-Equations.md │ ├── 09.08-Summary.md │ └── 09.10-Review-Questions.md ├── 10-Symbolic-Math │ ├── 10.00-Introduction.md │ ├── 10.01-SymPy.md │ ├── 10.02-Defining-Varaibles.md │ ├── 10.03-Expressions-and-Substitutions.md │ ├── 10.04-Equations.md │ ├── 10.05-Solving-Equations.md │ ├── 10.06-Solving-Two-Equations-for-Two-Unknowns.md │ ├── 10.07-Summary.md │ ├── 10.08-Review-Questions.md │ └── images │ │ └── statics_problem_diagram.png ├── 11-Python-and-External-Hardware │ ├── 11.00-Introduction.md │ ├── 11.01-PySerial.md │ ├── 11.02-Bytes-and-Unicode-Strings.md │ ├── 11.03-Controlling-an-LED.md │ ├── 11.04-Reading-a-Sensor-with-Python.md │ ├── 11.05-Summary.md │ ├── 11.06-Project-Ideas.md │ └── images │ │ ├── Arduino_LED_fritzing.png │ │ ├── Arrow_to_Upload.png │ │ ├── Check_to_Verify.png │ │ ├── Examples_Com_PhysicalPixel.png │ │ ├── SerialMonitor_H.png │ │ ├── Tools_SerialMonitor.png │ │ ├── Tools_SerialPlotter.png │ │ ├── arduino_LED.png │ │ ├── arduino_LED.svg │ │ ├── arduino_download_page.png │ │ ├── arduino_led.fzz │ │ ├── arduino_potentiometer.fzz │ │ ├── arduino_potentiometer.svg │ │ ├── download_Arduino_IDE.png │ │ ├── file-examples-communication-physicalpixel.png │ │ ├── matplotlib_potentiometer_plot.png │ │ ├── redboard_LED.fzz │ │ ├── redboard_LED_bb.png │ │ ├── redboard_LED_potentiometer.fzz │ │ ├── redboard_pot_led_fritzing.png │ │ ├── serial_monitor_L.png │ │ ├── serial_monitor_output.png │ │ └── serial_plotter_output.png ├── 12-MicroPython │ ├── 12.00-Introduction.md │ ├── 12.01-What-is-MicroPython.md │ ├── 12.02-Installing-MicroPython.md │ ├── 12.03-MicroPython-REPL.md │ ├── 12.04-Blinking-a-LED.md │ ├── 12.05-Reading-a-Sensor.md │ ├── 12.06-Uploading-Code.md │ ├── 12.07-Summary.md │ ├── 12.08-Project-Ideas.md │ └── images │ │ ├── Anaconda_Prompt.PNG │ │ ├── Anaconda_choose_python_version.PNG │ │ ├── Anaconda_downloads_page.PNG │ │ ├── MicroPython_in_jupyter_notebook.png │ │ ├── REPL_prompt.PNG │ │ ├── active_new_conda_env.PNG │ │ ├── bin_file_to_new_directory.PNG │ │ ├── bin_in_dir.PNG │ │ ├── conda_activate.PNG │ │ ├── conda_create_new_virtualenv.PNG │ │ ├── conda_install_mpy-repl-tool.jpg │ │ ├── conda_list.PNG │ │ ├── conda_there-jupyter-setup.png │ │ ├── device_manager_menu.png │ │ ├── download_putty.PNG │ │ ├── download_silabs_driver.PNG │ │ ├── downloads_folder.PNG │ │ ├── esptool_erase_flash.PNG │ │ ├── esptool_help.PNG │ │ ├── esptool_write_flash.PNG │ │ ├── feather_huzzah_temp_sensor_fritzing.png │ │ ├── find_device_manager.png │ │ ├── firmware_download_page.PNG │ │ ├── import_port_diag.PNG │ │ ├── micropython_modules.png │ │ ├── mkdir_micropython.PNG │ │ ├── pip_install_esptool.PNG │ │ ├── putty_config.PNG │ │ ├── putty_in_start_menu.png │ │ ├── sys_dot_implementation_and_platform.PNG │ │ ├── sys_dot_platform.PNG │ │ └── there.jupyter-setup.png ├── 99-Appendix │ ├── 99.00-Appendix.md │ ├── 99.01-Reserved-and-Key-Words-in-Python.md │ ├── 99.02-ASCII-Character-Codes.md │ ├── 99.03-Virtual-Environments.md │ ├── 99.04-NumPy-Math-Functions.md │ ├── 99.05-Git-and-GitHub.md │ ├── 99.06-LaTeX-Math.md │ ├── 99.07-Problem-Solving-with-Python-Book-Construction.md │ ├── 99.08-Contributions.md │ ├── 99.09-Cover-Artwork.md │ └── 99.10-About-the-Author.md ├── figures │ └── anaconda_download_page.png └── index.md ├── mkdocs.yml └── mkdocs_config.yml /.idea/bookn.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | 18 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Problem-Solving-with-Python 2 | Repo for the book: Problem Solving with Python by Peter D. Kazarinoff, PhD. This version of the book is out of date. Please see the newer version: 3 | 4 | [Problem Solving with Python 3.7 Edition](https://github.com/ProfessorKazarinoff/Problem-Solving-with-Python-37-Edition) 5 | -------------------------------------------------------------------------------- /conversion_tools/filter_links.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | """A pandoc filter used in converting notebooks to Latex. 3 | Converts links between notebooks to Latex cross-references. 4 | """ 5 | import re 6 | 7 | from pandocfilters import toJSONFilter, applyJSONFilters, RawInline 8 | 9 | 10 | def convert_link(key, val, fmt, meta): 11 | if key == 'Link': 12 | target = val[2][0] 13 | # Links to other notebooks 14 | m = re.match(r'(\d+\-.+)\.ipynb$', target) 15 | if m: 16 | return RawInline('tex', 'Chapter \\ref{sec:%s}' % m.group(1)) 17 | 18 | # Links to sections of this or other notebooks 19 | m = re.match(r'(\d+\-.+\.ipynb)?#(.+)$', target) 20 | if m: 21 | # pandoc automatically makes labels for headings. 22 | label = m.group(2).lower() 23 | label = re.sub(r'[^\w-]+', '', label) # Strip HTML entities 24 | return RawInline('tex', 'Section \\ref{%s}' % label) 25 | 26 | # Other elements will be returned unchanged. 27 | 28 | 29 | def convert_links(source): 30 | return applyJSONFilters([convert_link], source) 31 | 32 | 33 | if __name__ == "__main__": 34 | toJSONFilter(convert_link) 35 | -------------------------------------------------------------------------------- /conversion_tools/make_mkdocs_yaml.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | This module contains functions and a main script to construct a mkdocs.yml file 5 | Two files are combined to make this file: 6 | 1. TOC.yml in the conversion_tools/ directory 7 | 2. mkdocs_config.yml in the webiste/ directory TOC yaml file for MkDocs 8 | The combined file is named: 9 | mkdocs.yml in the website/ directory 10 | 11 | book/ 12 | conversion_tools/ 13 | TOC.yml 14 | website/ 15 | mkdocs_config.yml 16 | mkdocs.yml 17 | 18 | """ 19 | 20 | import nbformat 21 | import os 22 | import re 23 | 24 | 25 | def combine_yaml(infile1=os.path.join(os.pardir, 'website', 'mkdocs_config.yml'), 26 | infile2=os.path.join(os.pardir, 'conversion_tools', 'TOC.yml'), 27 | outfile_name=os.path.join(os.pardir, 'website', 'mkdocs.yml')): 28 | # combine the files 29 | filenames = [infile2, infile1] 30 | with open(outfile_name, "w") as outfile: 31 | for fname in filenames: 32 | with open(fname, "r") as infile: 33 | outfile.write(infile.read()) 34 | 35 | 36 | def main(): 37 | config_file = os.path.join(os.pardir, 'conversion_tools', 'TOC.yml') 38 | TOC_file = os.path.join(os.pardir, 'website', 'mkdocs_config.yml') 39 | mkdocs_yaml_file = os.path.join(os.pardir, 'website', 'mkdocs.yml') 40 | combine_yaml(config_file, TOC_file, mkdocs_yaml_file) 41 | 42 | 43 | if __name__ == "__main__": 44 | main() 45 | -------------------------------------------------------------------------------- /conversion_tools/md_not_converted.tpl: -------------------------------------------------------------------------------- 1 | {%- extends 'basic.tpl' -%} 2 | 3 | 4 | {% block markdowncell scoped %} 5 | {{ cell.source | strip_files_prefix }} 6 | {%- endblock markdowncell %} -------------------------------------------------------------------------------- /conversion_tools/nb2mkdocs.py: -------------------------------------------------------------------------------- 1 | # nb2mkdocs.py 2 | # 3 | # a script to turn the notebook directory into 4 | # something ready for mkdocs to build into a static site 5 | # 6 | # set of steps from conversion_tools/README.md 7 | # 8 | ## To build website: 9 | 10 | import nb2html 11 | import copy_images_dir 12 | import yaml_TOC 13 | import make_mkdocs_yaml 14 | 15 | def main(): 16 | ### Convert notebooks to html that mkdocs can read 17 | 18 | #run main script in nb2html.py 19 | 20 | nb2html.main() 21 | 22 | ### Copy over all of the images from the notebooks/subdir to website/subdir 23 | 24 | #run main script in copy_images_dir.py 25 | 26 | copy_images_dir.main() 27 | 28 | 29 | ### Build the TOC yaml that goes at the end of the mkdocs config file 30 | 31 | # run main script in yaml_TOC.py 32 | 33 | yaml_TOC.main() 34 | 35 | ### Combine the TOC.yml file created above with the mkdocs_config file 36 | 37 | #run the main script in make_mkdocs_yaml.py 38 | 39 | make_mkdocs_yaml.main() 40 | 41 | if __name__ == "__main__": 42 | main() -------------------------------------------------------------------------------- /conversion_tools/templates/noprompts.tplx: -------------------------------------------------------------------------------- 1 | % extend the default article template: 2 | ((* extends 'article.tplx' *)) 3 | 4 | % display input without prompts: 5 | ((* block input scoped *)) 6 | \begin{Verbatim}[commandchars=\\\{\}] 7 | ((( cell.source | highlight_code(strip_verbatim=True) ))) 8 | \end{Verbatim} 9 | ((* endblock input *)) 10 | 11 | % treat execute_result (output with prompt) as display_data (output without prompt) 12 | ((* block execute_result scoped *)) 13 | ((* block display_data scoped *)) 14 | ((( super() ))) 15 | ((* endblock display_data *)) 16 | ((* endblock execute_result *)) -------------------------------------------------------------------------------- /conversion_tools/test_latex.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | The following are reserved and keywords in Python. These words should 4 | not be used as the names for user-defined functions, classes, methods or 5 | modules. The keywords can be accessed with the following code: 6 | 7 | 8 | 9 | \section{Virtual Environments}\label{virtual-environments} 10 | 11 | \chapter{Preface}\label{preface} 12 | 13 | 14 | \chapter{Appendix}\label{appendix} 15 | 16 | 17 | \begin{lstlisting}[language=Python] 18 | import keyword 19 | print(f'There are {len(keyword.kwlist)} key words') 20 | for keywrd in keyword.kwlist: 21 | print(keywrd) 22 | \end{lstlisting} 23 | 24 | \begin{lstlisting} 25 | There are 33 key words 26 | False 27 | None 28 | True 29 | and 30 | as 31 | ... 32 | \end{lstlisting} 33 | 34 | \section{NumPy Math Functions}\label{numpy-math-functions} 35 | 36 | 37 | 38 | 39 | \subsection{Logical Keywords}\label{logical-keywords} 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /conversion_tools/test_output.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | The following are reserved and keywords in Python. These words should 4 | not be used as the names for user-defined functions, classes, methods or 5 | modules. The keywords can be accessed with the following code: 6 | 7 | 8 | 9 | \section{Virtual Environments}\label{virtual-environments} 10 | 11 | \chapter{Preface}\label{preface} 12 | 13 | 14 | \begin{lstlisting}[language=Python] 15 | import keyword 16 | print(f'There are {len(keyword.kwlist)} key words') 17 | for keywrd in keyword.kwlist: 18 | print(keywrd) 19 | \end{lstlisting} 20 | 21 | \begin{lstlisting} 22 | There are 33 key words 23 | False 24 | None 25 | True 26 | and 27 | as 28 | ... 29 | \end{lstlisting} 30 | 31 | \section{NumPy Math Functions}\label{numpy-math-functions} 32 | 33 | 34 | 35 | 36 | \subsection{Logical Keywords}\label{logical-keywords} 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /conversion_tools/test_output2.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | The following are reserved and keywords in Python. These words should 4 | not be used as the names for user-defined functions, classes, methods or 5 | modules. The keywords can be accessed with the following code: 6 | 7 | 8 | 9 | \section{Virtual Environments}\label{virtual-environments} 10 | 11 | \chapter{Preface}\label{preface} 12 | 13 | 14 | \begin{lstlisting}[language=Python] 15 | import keyword 16 | print(f'There are {len(keyword.kwlist)} key words') 17 | for keywrd in keyword.kwlist: 18 | print(keywrd) 19 | \end{lstlisting} 20 | 21 | \begin{lstlisting} 22 | There are 33 key words 23 | False 24 | None 25 | True 26 | and 27 | as 28 | ... 29 | \end{lstlisting} 30 | 31 | \section{NumPy Math Functions}\label{numpy-math-functions} 32 | 33 | 34 | 35 | 36 | \subsection{Logical Keywords}\label{logical-keywords} 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /conversion_tools/test_output3.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | The following are reserved and keywords in Python. These words should 4 | not be used as the names for user-defined functions, classes, methods or 5 | modules. The keywords can be accessed with the following code: 6 | 7 | 8 | 9 | \section{Virtual Environments}\label{virtual-environments} 10 | 11 | \chapter{Preface}\label{preface} 12 | 13 | 14 | \chapter*{Appendix}\label{appendix} 15 | ddcontentsline{toc}{chapter}{Appendix} 16 | 17 | 18 | \begin{lstlisting}[language=Python] 19 | import keyword 20 | print(f'There are {len(keyword.kwlist)} key words') 21 | for keywrd in keyword.kwlist: 22 | print(keywrd) 23 | \end{lstlisting} 24 | 25 | \begin{lstlisting} 26 | There are 33 key words 27 | False 28 | None 29 | True 30 | and 31 | as 32 | ... 33 | \end{lstlisting} 34 | 35 | \section{NumPy Math Functions}\label{numpy-math-functions} 36 | 37 | 38 | 39 | 40 | \subsection{Logical Keywords}\label{logical-keywords} 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /conversion_tools/test_output4.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The following are reserved and keywords in Python. These words should 6 | 7 | not be used as the names for user-defined functions, classes, methods or 8 | 9 | modules. The keywords can be accessed with the following code: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | \section{Virtual Environments}\label{virtual-environments} 18 | 19 | 20 | 21 | \chapter*{Preface}\label{preface} 22 | \addcontentsline{toc}{chapter}{Preface} 23 | 24 | 25 | 26 | 27 | \chapter*{Appendix}\label{appendix} 28 | \addcontentsline{toc}{chapter}{Appendix} 29 | 30 | 31 | 32 | 33 | \begin{lstlisting}[language=Python] 34 | 35 | import keyword 36 | 37 | print(f'There are {len(keyword.kwlist)} key words') 38 | 39 | for keywrd in keyword.kwlist: 40 | 41 | print(keywrd) 42 | 43 | \end{lstlisting} 44 | 45 | 46 | 47 | \begin{lstlisting} 48 | 49 | There are 33 key words 50 | 51 | False 52 | 53 | None 54 | 55 | True 56 | 57 | and 58 | 59 | as 60 | 61 | ... 62 | 63 | \end{lstlisting} 64 | 65 | 66 | 67 | \section{NumPy Math Functions}\label{numpy-math-functions} 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | \subsection{Logical Keywords}\label{logical-keywords} 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /conversion_tools/test_output5.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | The following are reserved and keywords in Python. These words should 4 | not be used as the names for user-defined functions, classes, methods or 5 | modules. The keywords can be accessed with the following code: 6 | 7 | 8 | 9 | \section{Virtual Environments}\label{virtual-environments} 10 | 11 | \chapter*{Preface}\label{preface} 12 | \addcontentsline{toc}{chapter}{Preface} 13 | 14 | 15 | \chapter*{Appendix}\label{appendix} 16 | \addcontentsline{toc}{chapter}{Appendix} 17 | 18 | 19 | \begin{lstlisting}[language=Python] 20 | import keyword 21 | print(f'There are {len(keyword.kwlist)} key words') 22 | for keywrd in keyword.kwlist: 23 | print(keywrd) 24 | \end{lstlisting} 25 | 26 | \begin{lstlisting} 27 | There are 33 key words 28 | False 29 | None 30 | True 31 | and 32 | as 33 | ... 34 | \end{lstlisting} 35 | 36 | \section{NumPy Math Functions}\label{numpy-math-functions} 37 | 38 | 39 | 40 | 41 | \subsection{Logical Keywords}\label{logical-keywords} 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /notebooks/00-Preface/00.02-Acknowledgments.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Acknowledgments" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "The creation of this book and supporting material would not be possible without the gracious support of my wife and family. Students at Portland Community College continue to give me hope that the next generation of engineers will be a diverse group of team problem solvers.\n", 15 | "\n", 16 | "_The Python Data Science Handbook_ and _Machine Learning in Python_ as well as _Reiman Equations in Python_ served as inspiration and examples of using Jupyter notebooks to construct a book. The _bookbook_ repository on GitHub provided a starting point for the tooling used to convert this book from Jupyter notebooks into a website and into LaTeX for printing." 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": null, 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [] 25 | } 26 | ], 27 | "metadata": { 28 | "kernelspec": { 29 | "display_name": "Python 3", 30 | "language": "python", 31 | "name": "python3" 32 | }, 33 | "language_info": { 34 | "codemirror_mode": { 35 | "name": "ipython", 36 | "version": 3 37 | }, 38 | "file_extension": ".py", 39 | "mimetype": "text/x-python", 40 | "name": "python", 41 | "nbconvert_exporter": "python", 42 | "pygments_lexer": "ipython3", 43 | "version": "3.6.5" 44 | } 45 | }, 46 | "nbformat": 4, 47 | "nbformat_minor": 2 48 | } 49 | -------------------------------------------------------------------------------- /notebooks/00-Preface/00.05-Errata.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Errata" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Errata including any typos, code errors and formatting inconsistencies can be submitted to:\n", 15 | "\n", 16 | " > errata@problemsolvingwithpython.com\n", 17 | " \n", 18 | "Please include the chapter number and section number in your email. Thank-you in advance for helping improve this text for future readers." 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": null, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [] 27 | } 28 | ], 29 | "metadata": { 30 | "kernelspec": { 31 | "display_name": "Python 3", 32 | "language": "python", 33 | "name": "python3" 34 | }, 35 | "language_info": { 36 | "codemirror_mode": { 37 | "name": "ipython", 38 | "version": 3 39 | }, 40 | "file_extension": ".py", 41 | "mimetype": "text/x-python", 42 | "name": "python", 43 | "nbconvert_exporter": "python", 44 | "pygments_lexer": "ipython3", 45 | "version": "3.6.4" 46 | } 47 | }, 48 | "nbformat": 4, 49 | "nbformat_minor": 2 50 | } 51 | -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/Anaconda_download_linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/Anaconda_download_linux.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_agree_to_license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_agree_to_license.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_download_mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_download_mac.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_download_mac_ask_for_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_download_mac_ask_for_email.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_download_page.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_downloading.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_enter_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_enter_email.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_from_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_from_start_menu.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_install_linux_copy_link_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_install_linux_copy_link_address.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_installer_advanced_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_installer_advanced_options.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_installer_click_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_installer_click_next.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_path2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_path2.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_prompt.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_python3_or_python2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_python3_or_python2.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_run_installer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_run_installer.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_select_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_select_windows.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/anaconda_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/anaconda_window.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/conda_import_this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/conda_import_this.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/conda_import_this_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/conda_import_this_output.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/conda_in_windows_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/conda_in_windows_start_menu.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/conda_prompt_type_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/conda_prompt_type_python.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/conda_type_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/conda_type_python.png -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/python_dot_org_macos_download.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/python_dot_org_macos_download.PNG -------------------------------------------------------------------------------- /notebooks/01-Orientation/images/python_dot_org_windows_download.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/01-Orientation/images/python_dot_org_windows_download.PNG -------------------------------------------------------------------------------- /notebooks/03-Data-Types-and-Variables/images/reverse_string_indexing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/03-Data-Types-and-Variables/images/reverse_string_indexing.png -------------------------------------------------------------------------------- /notebooks/03-Data-Types-and-Variables/images/reverse_string_indexing.xml: -------------------------------------------------------------------------------- 1 | 1ZhdT4MwGIV/DZdLaDvYduuc0wtNDCZeN/AOmhRKuk6Yv95OWgd2Jho1lBvSnpZ+PD0hnAZkXbZbSeviXmTAAxxmbUCuA4yXi5V+noRjJ8Rx1Am5ZFknobOQsFcwYmjUA8tgP+iohOCK1UMxFVUFqRpoVErRDLvtBB/OWtMcHCFJKXfVZ5apwmwrCs/6LbC8sDOj0LSU1HY2wr6gmWh6EtkEZC2FUF2pbNfAT+wsl+69my9aPxYmoVLfeeF6RY85ytuyfIQbxp+2s4dkZkZ5ofxgNvwAOVXsBbR6V2XQmsWroyXSFExBUtP0VG/0oQfkqlAl1zWki3Rfd+ewYy3oqa/cddpJQSpoe5JZ9xZECUoedRfrIoPQeAhZ+k3vRIxU9A7DatR4IP8Y+IxJFwypH1DDDrV1QSVNFUgPcWEyMi7i4Jotf81pJyplPhc4/htuKPbMZ3MHXDIFbqMbLnINt/ARHJ57ZrjYASemwG10wy1cw8U+giPYM8MtHXB8CtxGN9zKNVzkI7h56JnhbK7okTtMAdzojkNuVLD/J56R8y0tIDcuqCmAG99yF4ID8ZFc5FtwQG5yYFMAN77lLkQH7CO52LfogCaSHT6DG99yF8ID8pHcwrfwgNz0UE0B3D9aTlfPN8rvbb1rebJ5Aw== -------------------------------------------------------------------------------- /notebooks/03-Data-Types-and-Variables/images/string_indexing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/03-Data-Types-and-Variables/images/string_indexing.png -------------------------------------------------------------------------------- /notebooks/03-Data-Types-and-Variables/images/string_indexing.xml: -------------------------------------------------------------------------------- 1 | 1Zhda4MwGIV/jZcFk1Tb3rbdul1sMBzsOmiqgWgkTafdr186Y6u8FDa2YXIjyUnMx/MehGNANmW7U7QunmTGRIDDrA3INsB4uViZ51k4dUIcR52QK551EroKCf9gVgyteuQZO4wmaimF5vVYTGVVsVSPNKqUbMbT9lKMd61pzoCQpFRA9Y1nurDXisKr/sB4XvQ7o9COlLSfbIVDQTPZDCRyF5CNklJ3rbLdMHFm13Pp3ru/MXo5mGKV/s4L2xU95Shvy/KF3XPxups9JzO7yjsVR3vhTUEVTTVT9tT61KNoCq5ZUtP03G9MtQOyLnQpTA+ZJj3UXQH2vGVmz7VdminN2ptnRhcSxkFMlkyrk5nS28eys+ZBPfZmUAorFYMq9Bq1xc8vC1/5mIZF9ANcGOB6rDJzO/dQYTIxKgJQJb/GtJeVtp8IHP8NNhQ7ZrE54Bb6wG1yv0WAm3SRG5475rcYcEM+cJvcbwvATbjIjWDH/LYE3LAP3Cb32wpwO7rIbR465rc+SAzAER/ATW44BLOBdhKcayEBwZQw9wHc9I6DmYG7CC5yLTMgGBoiH8BN7zhPUkPsWmpAMDbEPoCb3nEwN1Quglu4lhsQDA4LH8D9o+NM9/r7+Gts8A+e3H0C -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/hello.py: -------------------------------------------------------------------------------- 1 | # hello.py 2 | 3 | print('This code was run from a separate Python file') 4 | print('Hello from the file hello.py') -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/Anaconda_Prompt_Jupyter_Notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/Anaconda_Prompt_Jupyter_Notebook.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/Jupyter_Home_Browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/Jupyter_Home_Browser.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_launch.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_start.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/anaconda_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/anaconda_start_menu.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/change_cell_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/change_cell_type.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/click_change_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/click_change_name.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/code_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/code_cell.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/downloading_complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/downloading_complete.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/engineering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/engineering.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/file_download_as_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/file_download_as_notebook.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/file_make_a_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/file_make_a_copy.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/insert_cell_above.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/insert_cell_above.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_anaconda_prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_anaconda_prompt.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_dot_py_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_dot_py_file.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_example.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_export_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_export_options.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_markdown_cells_as_comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/jupyter_notebook_markdown_cells_as_comments.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/kernel_restart_and_clear_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/kernel_restart_and_clear_output.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/markdown_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/markdown_cell.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/new_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/new_notebook.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/new_notebook_from_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/new_notebook_from_browser.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/notebook_file_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/notebook_file_browser.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/notebook_file_browser_click_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/notebook_file_browser_click_folder.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/notebook_file_browser_click_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/notebook_file_browser_click_notebook.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/notebook_json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/notebook_json.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/output_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/output_cell.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/rename_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/rename_dialog.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/rename_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/rename_notebook.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/rename_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/rename_window.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/run_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/run_cell.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/run_import_this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/run_import_this.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/save_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/save_notebook.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/windows_start_anaconda_navigator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/windows_start_anaconda_navigator.png -------------------------------------------------------------------------------- /notebooks/04-Jupyter-Notebooks/images/windows_start_jupyter_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/04-Jupyter-Notebooks/images/windows_start_jupyter_notebook.png -------------------------------------------------------------------------------- /notebooks/05-Functions-and-Modules/myfunctions.py: -------------------------------------------------------------------------------- 1 | # myfunctions.py 2 | 3 | def plustwo(n): 4 | out = n + 2 5 | return out 6 | 7 | 8 | def falldist(t,g=9.81): 9 | d = 0.5 * g * t**2 10 | return d -------------------------------------------------------------------------------- /notebooks/06-Plotting-with-Matplotlib/3_quiver_plots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/06-Plotting-with-Matplotlib/3_quiver_plots.png -------------------------------------------------------------------------------- /notebooks/06-Plotting-with-Matplotlib/bar_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/06-Plotting-with-Matplotlib/bar_plot.png -------------------------------------------------------------------------------- /notebooks/06-Plotting-with-Matplotlib/bar_plot_with_error_bars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/06-Plotting-with-Matplotlib/bar_plot_with_error_bars.png -------------------------------------------------------------------------------- /notebooks/06-Plotting-with-Matplotlib/plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/06-Plotting-with-Matplotlib/plot.png -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/07.00-Introduction.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# If Else Try Except" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "## Introduction" 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": { 20 | "latex": { 21 | "after_cell": "newpage" 22 | } 23 | }, 24 | "source": [ 25 | "By the end of this chapter you will be able to:\n", 26 | "\n", 27 | " * Use if, else if, and else selection structures\n", 28 | " \n", 29 | " * Explain the difference between syntax errors and exception errors\n", 30 | " \n", 31 | " * Use try-except statements\n", 32 | " \n", 33 | " * Construct flowcharts to describe the flow of a Python program" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": null, 39 | "metadata": { 40 | "collapsed": true 41 | }, 42 | "outputs": [], 43 | "source": [] 44 | } 45 | ], 46 | "metadata": { 47 | "kernelspec": { 48 | "display_name": "Python 3", 49 | "language": "python", 50 | "name": "python3" 51 | }, 52 | "language_info": { 53 | "codemirror_mode": { 54 | "name": "ipython", 55 | "version": 3 56 | }, 57 | "file_extension": ".py", 58 | "mimetype": "text/x-python", 59 | "name": "python", 60 | "nbconvert_exporter": "python", 61 | "pygments_lexer": "ipython3", 62 | "version": "3.6.8" 63 | } 64 | }, 65 | "nbformat": 4, 66 | "nbformat_minor": 2 67 | } 68 | -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_calculation_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/07-If-Else-Try-Except/images/flow_chart_calculation_program.png -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_calculation_program.xml: -------------------------------------------------------------------------------- 1 | 5Vhtb9owEP41fKwU4oTCx0Jpt2nVkFrt5dNkyJF4NXHmOAX263dOnATXoaVSoVpnich5fI7v7vGTM+mRyWpzLWmW3IgIeM/3ok2PXPZ8f3g+wqsGthUwGIQVEEsWVVC/BW7ZHzCgZ9CCRZBbhkoIrlhmgwuRprBQFkalFGvbbCm4vWpGY3CA2wXlLvqNRSoxYYVei38AFif1yn3PjKxobWyAPKGRWO9AZNojEymEqnqrzQS4zl2dl2re1Z7RxjEJqTpkgmK/VTpIp97ocn5x9fPrl2E4Ojs3vqltHTBEGL+5FVIlIhYp5dMWHUtRpBHop3p4l6gVx24fu79Aqa2hkBZKINQ+4bMQmbFbilRNBBeyXJFclQ3xXElx36QZEzR2YzRh56KQC3giMGOno9mZaDJzDWIFSm7RQAKnij3YbFOzaeLGrpk6Ewxd8T2zv/16I5jt3ezb+hGKyhiUmdWyg50dN1qo5OwF/BmHHygvTAg5rqhcVjlHxWj21glTcJvRMntr1KzNocvBPraWjHMLJ9iMfb2BOjZp7TFIBZsnqalHR3aK69t1K8d+rbFkR4pDbz+ZFg0vzfnwvWrGfxvNEP+0mvEdzVzk9wgUOciyROgrxV9arOYaesQ2vsgz3cUUU86Bi1jSFSY+A8nQN5CPx2btwNHkNxoRUuFHll9Tz57T3+BY+gsd/u5g477ylAat5ErI2R86Lw20DDO9w0rvwnEvvEREKzCvxKgnUM7iFPsclvpROmkMjwYXBlZaneMcyWRpfFdK9Sx4grJXYCMMiK2d0HfYCDrIeCyxVyNj4JABafSey08YnLD+fHzYsvmnG/p9RsIAZnOVj36ckbeoP4cT01lEni1InZGepv4Ex6s/+6Oy60+EkvGq/zb6ksD+6mMzeZCcdljyytbNpy0o3ZqC0ilAV2iOqjpoP1hohLivtqMVmk6igv9GaP5JhBaS0wrNPejNZOVgpTA8DxTcPTj8c+e7V5VdQAZHkx3ett87Kpbbj0Zk+hc= -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_more_complex_user_input_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/07-If-Else-Try-Except/images/flow_chart_more_complex_user_input_program.png -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_simple_print_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/07-If-Else-Try-Except/images/flow_chart_simple_print_program.png -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_simple_print_program.xml: -------------------------------------------------------------------------------- 1 | 5VZNc5swEP0tPXDMDEaG2Mf4qz20k8w40x47ilmDWoGIWGI7v74rEGCF2m1m4hxaDoz0tCut9u2T5LF5tv+oeZF+UTFIL/DjvccWXhBMrqf0N8ChAaIobIBEi7iBRj2wFs9gQd+ilYihdAxRKYmicMGNynPYoINxrdXONdsq6a5a8AQGwHrD5RD9JmJM7bZCv8c/gUjSduWRb0cy3hpboEx5rHZHEFt6bK6VwqaV7ecgTe7avDR+qxOjXWAacvwbBxSPmEf50p8uHm5W37/eTsLp1bWNDQ/thiGm/duu0piqROVcLnt0plWVx2Bm9amXYiapOaLmD0A8WAp5hYqgfobPShXWbqtynCupdL0iW9Uf4SVq9bNLMyVo1kRnQjq5aQuVqtIbOLPTUZdyKlVQGaA+kJ8GyVE8ufNzWzRJZ9e53ilBKwe+re+gLQRb3l3dtlMg1wmg9erZocZRGD1Uc/YK/mzAT1xWdgslrYhDVqUkxRj2dqlAWBe8TtaONOtyOOTgFFtbIaWDM/qsfVtAbXigEfbnKRxS0zpM3RS33V0vx1GrsfRIihP/NJkODa/N+eS/0UzwLpphwftqJhhoptBNgF4QPVbmPJ7dVlhU+KEHBpzTcV6YJuWVSwlSJZpnZFiAFhQh6Jdjd/3AxUQ4nTLW4BcWYXer/UmF0aVUGA5YvIf98OBDAzrJ1VCKZ/5QGxgxFqbO6ujCmRcuCDE6LBtJGgcuRZJTW8LWTGXyKOiBcGNhNBqdlUSmyJP7WrBX4zOUvQEb4Zi5CgqDARvj35DxUmhvRkY0IAPy+F++hBi73C1E3f5V2Bx6/dOaLX8B -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_simple_user_input_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/07-If-Else-Try-Except/images/flow_chart_simple_user_input_program.png -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/flow_chart_simple_user_input_program.xml: -------------------------------------------------------------------------------- 1 | 7Vhdb5swFP01eewEGNLw2KRJ97BplVpt7dPkBAe8GUyNaZL++tnYhhCTfqwhmbYhtbKPv6597rnXzgBM0vUVg3nymUaIDDwnWg/A5cDzRueh+C+BjQKGw0ABMcORgtwGuMFPSIOORkscoaLVkVNKOM7b4IJmGVrwFgYZo6t2tyUl7VVzGCMLuFlAYqPfcMQTva3AafCPCMeJWdl1dEsKTWcNFAmM6GoLAtMBmDBKuSql6wki8uzMuahxsz2ttWEMZfw1Azh+4Nkwmzrh5fxi9v3rl1EQnp1r2/jGbBhFYv+6ShlPaEwzSKYNOma0zCIkZ3VELeEpEUVXFH8gzjeaQlhyKqBmhk+U5rrfkmZ8Qgll1YpgVn0CLzijP+tjFgc0VtZJk/ZuWkMFLdkCPbNTtz5y4aqIpoizjRjHEIEcP7bnh9pp4rpfPfSaYrGy52j/9owjaPeu/dZMwSGLEdejGnZEYcuMBqo4ewN/2uBHSEq9hUKsyG1WCRGKkeytEszRTQ6rw1oJzbY5tDnYx9YSE9LCgfh0f+NAxjzEOFo/T6FNjRkQto/YVFeNHF2jsWRLiiNnP5ktGt565qN/RjPeUTQDvONqxrM0kzNl4MAbPpQyHo+nGUdMmiT+sjKdy4pps+gXkT2XRXHEkBBEaMxgKjrmiGFhLGK7bddNQ296DEMAFN6zHusE95Igh30JMrAIvUVrOwZyCbYOl6ECP8F51UHqMpcuV1kXjAfBpUCkJAulTjkAEhxnokzQUk4lzxGLu8KFhrmU67gQZOIsvq20e+Y/Q9kB2Ah80BZT4Fls+B1k7GruYGQMLTJQFv3N+ShwTp2QXN8WABOlE6SpF+lyqu+waSrsJU2B3TR17h33ameHtRkkxUFpRWvM7yT8IdC1+94IF7SyzZ22oarc1yv/8c6we2fxd8W8xxkuGIObrW46w/TgLqHlLXipLi/qYgNTGVljdYExIWvLi1hC03lZvDYidzHc4QvtmOw4YVj17DEh1i8wI1tgJ8TRMaOzd5I39kkCset0U/PeSAx2Mq7/XvF1r+O73es07KsZDxvmHUu4W88RIvU6l48PrVzzCLliCKonCk9gphT9/4HSnbh9OwK4XXfi33igiGrzC55yieZnUDD9BQ== -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/four_flow_chart_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/07-If-Else-Try-Except/images/four_flow_chart_shapes.png -------------------------------------------------------------------------------- /notebooks/07-If-Else-Try-Except/images/four_flow_chart_shapes.xml: -------------------------------------------------------------------------------- 1 | xZZNj5swEIZ/DcdKBIc0HDdf20vVSlm1x8oLE7BqbGqGJtlf3zGYEOKs9kNN6wOy3zFj+31sQ8CW5eHe8Kr4rDOQQRRmh4Ctgiiaf0zoaYVjJ8xmcSfkRmSdNBmErXgCJ4ZObUQG9agjai1RVGMx1UpBiiONG6P34247LcejVjwHT9imXPrqd5Fh4ZYVh4P+CURe9CNPQhcped/ZCXXBM70/k9g6YEujNXa18rAEab3rfene2zwTPU3MgMLXvIDiF6qZWofJ6vFu8+Pbl3mcfHBZfnPZuAXXyA0GNteGnqAyN3s89pZQWnKfGot9IRC2FU9tZE/8SSuwlNSaULVGo3+ebKMFL3Za4VJLbdpMbNMWqwspRzqj4vpv3chXFtzPHgzC4UxyBtyDLgHNkbr00cTBcLuxb+4HtJOeV3GGde407nZTfso8GE4V5/kb/I88/4WqmsF/3WDbvEBAe6myVTKDSwlS54aX5FcFRtDEwFzGvg6Bm1FLEsY6/cbUTkfqJWyzW2FjHja6MdJGchRa1R4uoxuVgU0Yvsv/sc+2XPH5eU43QMDY/0Yw9W8ukPQFIACt+aZJsTHgsyh0+djU7z0Hr/H7glcYJkkY/h0Op++i4zCd+hzm//ICiz0MD3DwLyy04sheA7V44o9tB2tOpYXCdnbxIohXpPAGdd39ENgXuBS5orqEnU1lPRN06u6cjNryqwmnUPmDbaxoj9z0UMRTNj4UceTBmF6BEb0dBjWHP4U2dva7xdZ/AA== -------------------------------------------------------------------------------- /notebooks/08-Loops/08.00-Introduction.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Loops" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "## Introduction" 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": { 20 | "latex": { 21 | "after_cell": "newpage" 22 | } 23 | }, 24 | "source": [ 25 | "By the end of this chapter you will be able to:\n", 26 | "\n", 27 | " * use a while loop \n", 28 | " \n", 29 | " * use a for loop\n", 30 | " \n", 31 | " * use the break statement\n", 32 | " \n", 33 | " * use the continue statement\n", 34 | " \n", 35 | " * construct flowcharts that describe programs with loops" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": null, 41 | "metadata": {}, 42 | "outputs": [], 43 | "source": [] 44 | } 45 | ], 46 | "metadata": { 47 | "kernelspec": { 48 | "display_name": "Python 3", 49 | "language": "python", 50 | "name": "python3" 51 | }, 52 | "language_info": { 53 | "codemirror_mode": { 54 | "name": "ipython", 55 | "version": 3 56 | }, 57 | "file_extension": ".py", 58 | "mimetype": "text/x-python", 59 | "name": "python", 60 | "nbconvert_exporter": "python", 61 | "pygments_lexer": "ipython3", 62 | "version": "3.6.8" 63 | } 64 | }, 65 | "nbformat": 4, 66 | "nbformat_minor": 2 67 | } 68 | -------------------------------------------------------------------------------- /notebooks/08-Loops/images/flow_chart_of_program_that_contains_a_for_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/08-Loops/images/flow_chart_of_program_that_contains_a_for_loop.png -------------------------------------------------------------------------------- /notebooks/08-Loops/images/flow_chart_of_program_that_contains_a_for_loop.xml: -------------------------------------------------------------------------------- 1 | 3VhNc9owEP01HNMRsk3wMRCSdqZJM5NMmp46AgtbrWw5soghv74rW8YIGUoz0HbiQyI9rz523+6TTM8bp8trSfLkRkSU9zCKlj3vsofx8DyEvxpY1cBgENRALFlUQ/0WuGev1IDIoAsW0cIyVEJwxXIbnIksozNlYURKUdpmc8HtVXMSUwe4nxHuol9ZpBLjVoBa/CNlcdKs3EfmTUoaYwMUCYlEuQF5k543lkKoupUux5Tr2DVxqcdd7Xi73pikmTpkgGLPKhtkExReTi+uvj9+GQbh2bnZm1o1DtMI/DddIVUiYpERPmnRkRSLLKJ6VgS9RKUcmn1o/qBKrQyFZKEEQO0Mn4XIjd1cZGosuJDVit5V9QBeKCl+rsMMARq5Phq3C7GQM7rHMWOnvdkYaCJzTUVKlVyBgaScKPZis01M0sRru/XQO8FgKxiZ/MZNIpj0xgNkT6GIjKkyo1p2oLGxjRaqOPsD/syGXwhfGBcKWFG5rHIOFaPZKxOm6H1OquiVULM2hy4Hu9iaM84t3IPH2DcJ1JGkzY6pVHS5l5rmbWiHuOmWbTn2mxpLNkpxiHaTadGwJ+Z+ica34+ktHt9FN+L20yMryzPfiXmmh2QzSUkBWoXRVG+/75Jw+tL6LX2oetaltVUfb6s1fJrSGm6VFjqstC6kJKsNs1wbFLvX8cPuddoUqWc8at1iJ4dyWe+qhwfPC30mjDjQyrK4BZyEgiMl100gjXBOuYglScEwp5LBDqncfnfXvjiZEISh59X4kYXA97aICvFhSrCtyW9Rgk4WA4fFB7p0xVdp0AqupAV7JdPKQBejyVGwDka94BIQXeRFXe96AOEszqDN6VxPpYPG4JJyYWClBWBUAJmQMA+VGoBM7absCGwEvmex4QUuG34HGfhUZAwcMmgWveeD0B/865PQVTEQK5LqSGbTQv9DtaLVGK9FDGUdoD0MDMJjHp90ydTTRvubNvkQ/EcHa2d8T3Nn9bGdRx7GBx2sbzj7Or3yOu9P6xSITZY0X4Dv6wL1F3ne/jbx/ZN9m+z2yuJ5DkE05a/7+qIFX/OdxS4TkU4XxaE63UVQB5W2UiMUhpXl/mPSUegOkneK9vrW2lxazjsuLahDtPvb190DVBu67e8JNY3tjzLe5Bc= -------------------------------------------------------------------------------- /notebooks/08-Loops/images/flow_chart_of_program_that_contains_a_while_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/08-Loops/images/flow_chart_of_program_that_contains_a_while_loop.png -------------------------------------------------------------------------------- /notebooks/08-Loops/images/flow_chart_of_program_that_contains_a_while_loop.xml: -------------------------------------------------------------------------------- 1 | 3VjBcpswEP0ajs7IYLA5xo6ddqZJM5NM2p46spFBjUBEiGDn6yuBAAswcRI709QHj/RYwe6+fVqEYc3CzSWDcXBFPUQME3gbw7owTHMydsW/BLYF4Dh2AfgMewU0rIFb/IwUCBSaYg8lmiGnlHAc6+CKRhFacQ2DjNFMN1tToj81hj5qAbcrSNroD+zxQIVlgxr/grAflE8eAnUlhKWxApIAejTbgay5Yc0YpbwYhZsZIjJ3ZV6KdYs9VyvHGIr4IQs4fuSRE82Be7E8X/y+/z6x3cFY+ca3ZcDIE/GrKWU8oD6NIJnX6JTRNPKQvCsQs4CHRAyHYvgHcb5VFMKUUwHVd/hGaazs1jTiM0ooy59oLfKfwBPO6EOVZpGgaTtGFXZCU7ZCPYEpOxnNzkKVmUtEQ8TZVhgwRCDHTzrbUBWNX9lVS28oFq6YQNW3WRaCKm/TAfotOGQ+4mpVzY4Y7LhRQzlnr+BPOfwESapCSMQTeZtVQoRiJHtZgDm6jWGevUxoVuewzcE+ttaYEA23xE/ZlwXUUaSlx4hxtOmlprzq6ikeWmqe1XocliILdrQ4AfvZ1HjoSfooA7Pr2fLanN14V/T66z3OsoF9TNGgDeY/JXxmq9mvV8rpRcpA/qvk1NDE2/RlfoicrPHHyslsyQkmDwJIE8Ty7iH/oWE6RKRruhQzx5ejmCY4D9sEURoupXGjQsTuH8uhyDUkBBHqMxjKlYhh4TVizWs39YWTadZ1LavAj63ZSWNbHHdodtSh2eb2+RbNdjJrt5i9Q5v2PsklqCWXoQQ/w2VuAHKqRe3l3tlTw74QiNRmUshULoAE+5EYE7SWt5JJw+J94lzBXOp2mggyceTf5SIejHooOwIb9sjSVWWbLTa6yDBPRYbTIgNF3v/cs5yu+v/QnjVupTwypAMODGU28/1MAKDNwunfBw9vYEo2AnXf3M4609NP5wCcOXYpmne2OMtstDhwWIs7Zwxud8zUPrT/OY0SHFmN48EL9qVfddEVHjRWl+7Q9TpB7+3JndRM+ivX/xyVe/paPfKrl22f7NVrf1QH0SzSuWiRzQIaLtPk0GbRubm0ydTbBQCum1v29+pWm+igee9WUxVyKcNJR+cAHZ1j2NxHjtY6huYxpfXvn3e6k/AxqnNO9/2gJyxNdjErPBTSe0ypfropkUqW0TKJq0R/5uPOu0TbPO7YzumOO2JafzMsyqD+8GrN/wI= -------------------------------------------------------------------------------- /notebooks/08-Loops/images/four_flow_chart_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/08-Loops/images/four_flow_chart_shapes.png -------------------------------------------------------------------------------- /notebooks/08-Loops/images/four_flow_chart_shapes.xml: -------------------------------------------------------------------------------- 1 | xZZNj5swEIZ/DcdKBIc0HDdf20vVSlm1x8oLE7BqbGqGJtlf3zGYEOKs9kNN6wOy3zFj+31sQ8CW5eHe8Kr4rDOQQRRmh4Ctgiiaf0zoaYVjJ8xmcSfkRmSdNBmErXgCJ4ZObUQG9agjai1RVGMx1UpBiiONG6P34247LcejVjwHT9imXPrqd5Fh4ZYVh4P+CURe9CNPQhcped/ZCXXBM70/k9g6YEujNXa18rAEab3rfene2zwTPU3MgMLXvIDiF6qZWofJ6vFu8+Pbl3mcfHBZfnPZuAXXyA0GNteGnqAyN3s89pZQWnKfGot9IRC2FU9tZE/8SSuwlNSaULVGo3+ebKMFL3Za4VJLbdpMbNMWqwspRzqj4vpv3chXFtzPHgzC4UxyBtyDLgHNkbr00cTBcLuxb+4HtJOeV3GGde407nZTfso8GE4V5/kb/I88/4WqmsF/3WDbvEBAe6myVTKDSwlS54aX5FcFRtDEwFzGvg6Bm1FLEsY6/cbUTkfqJWyzW2FjHja6MdJGchRa1R4uoxuVgU0Yvsv/sc+2XPH5eU43QMDY/0Yw9W8ukPQFIACt+aZJsTHgsyh0+djU7z0Hr/H7glcYJkkY/h0Op++i4zCd+hzm//ICiz0MD3DwLyy04sheA7V44o9tB2tOpYXCdnbxIohXpPAGdd39ENgXuBS5orqEnU1lPRN06u6cjNryqwmnUPmDbaxoj9z0UMRTNj4UceTBmF6BEb0dBjWHP4U2dva7xdZ/AA== -------------------------------------------------------------------------------- /notebooks/09-Matricies-and-Arrays/09.00-Introduction.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Matricies and Arrays" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "## Introduction" 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": { 20 | "latex": { 21 | "after_cell": "newpage" 22 | } 23 | }, 24 | "source": [ 25 | "By the end of this chapter you will be able to:\n", 26 | "\n", 27 | " * Create NumPy arrays\n", 28 | " \n", 29 | " * Modify NumPy arrays\n", 30 | " \n", 31 | " * Index NumPy arrays\n", 32 | " \n", 33 | " * Run mathematical operations on NumPy arrays\n", 34 | " \n", 35 | " * Solve a system of linear equations using matrices" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": null, 41 | "metadata": { 42 | "collapsed": true 43 | }, 44 | "outputs": [], 45 | "source": [] 46 | } 47 | ], 48 | "metadata": { 49 | "kernelspec": { 50 | "display_name": "Python 3", 51 | "language": "python", 52 | "name": "python3" 53 | }, 54 | "language_info": { 55 | "codemirror_mode": { 56 | "name": "ipython", 57 | "version": 3 58 | }, 59 | "file_extension": ".py", 60 | "mimetype": "text/x-python", 61 | "name": "python", 62 | "nbconvert_exporter": "python", 63 | "pygments_lexer": "ipython3", 64 | "version": "3.6.8" 65 | } 66 | }, 67 | "nbformat": 4, 68 | "nbformat_minor": 2 69 | } 70 | -------------------------------------------------------------------------------- /notebooks/10-Symbolic-Math/images/statics_problem_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/10-Symbolic-Math/images/statics_problem_diagram.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/Arduino_LED_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/Arduino_LED_fritzing.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/Arrow_to_Upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/Arrow_to_Upload.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/Check_to_Verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/Check_to_Verify.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/Examples_Com_PhysicalPixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/Examples_Com_PhysicalPixel.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/SerialMonitor_H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/SerialMonitor_H.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/Tools_SerialMonitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/Tools_SerialMonitor.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/Tools_SerialPlotter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/Tools_SerialPlotter.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/arduino_LED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/arduino_LED.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/arduino_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/arduino_download_page.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/arduino_led.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/arduino_led.fzz -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/arduino_potentiometer.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/arduino_potentiometer.fzz -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/download_Arduino_IDE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/download_Arduino_IDE.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/file-examples-communication-physicalpixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/file-examples-communication-physicalpixel.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/matplotlib_potentiometer_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/matplotlib_potentiometer_plot.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/redboard_LED.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/redboard_LED.fzz -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/redboard_LED_bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/redboard_LED_bb.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/redboard_LED_potentiometer.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/redboard_LED_potentiometer.fzz -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/redboard_pot_led_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/redboard_pot_led_fritzing.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/serial_monitor_L.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/serial_monitor_L.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/serial_monitor_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/serial_monitor_output.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/images/serial_plotter_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/11-Python-and-External-Hardware/images/serial_plotter_output.png -------------------------------------------------------------------------------- /notebooks/11-Python-and-External-Hardware/potentiometer_read.ino: -------------------------------------------------------------------------------- 1 | // potentiometer_read.ino 2 | // reads a potentiometer and sends value over serial 3 | int sensorPin = A0; // The potentiometer is connected to analog pin 0 4 | int ledPin = 13; // The LED is connected to digital pin 13 5 | int sensorValue; // an integer variable to store the potentiometer reading 6 | 7 | void setup() // this function runs once when the sketch starts 8 | { 9 | // make the LED pin (pin 13) an output pin 10 | pinMode(ledPin, OUTPUT); 11 | 12 | // initialize serial communication: 13 | Serial.begin(9600); 14 | } 15 | 16 | void loop() // this function runs repeatedly after setup() finishes 17 | { 18 | sensorValue = analogRead(sensorPin); // read the voltage at pin A0 19 | Serial.println(sensorValue); // Output sensor value to Serial Monitor 20 | 21 | if (sensorValue < 500) { // if sensor output is less than 500, 22 | digitalWrite(ledPin, LOW); } // Turn the LED off 23 | 24 | else { // if sensor output is greater than 500 25 | digitalWrite(ledPin, HIGH); } // Keep the LED on 26 | 27 | delay(100); // Pause 100 milliseconds before next reading 28 | } 29 | -------------------------------------------------------------------------------- /notebooks/12-MicroPython/12.00-Introduction.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# MicroPython" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "## Introduction" 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": { 20 | "latex": { 21 | "after_cell": "newpage" 22 | } 23 | }, 24 | "source": [ 25 | "By the end of this chapter you will be able to:\n", 26 | "\n", 27 | " * Install MicroPython on a microcontroller\n", 28 | " \n", 29 | " * Run Python commands on a microcontroller using the MicroPython REPL\n", 30 | " \n", 31 | " * Save module files and run Python scripts on a microcontroller\n", 32 | " \n", 33 | " * Use MicroPython to read data off a sensor\n", 34 | " \n", 35 | " * Use MicroPython to switch on and off a light" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": null, 41 | "metadata": {}, 42 | "outputs": [], 43 | "source": [] 44 | } 45 | ], 46 | "metadata": { 47 | "kernelspec": { 48 | "display_name": "Python 3", 49 | "language": "python", 50 | "name": "python3" 51 | }, 52 | "language_info": { 53 | "codemirror_mode": { 54 | "name": "ipython", 55 | "version": 3 56 | }, 57 | "file_extension": ".py", 58 | "mimetype": "text/x-python", 59 | "name": "python", 60 | "nbconvert_exporter": "python", 61 | "pygments_lexer": "ipython3", 62 | "version": "3.6.4" 63 | } 64 | }, 65 | "nbformat": 4, 66 | "nbformat_minor": 2 67 | } 68 | -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/Anaconda_Prompt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/Anaconda_Prompt.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/Anaconda_choose_python_version.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/Anaconda_choose_python_version.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/Anaconda_downloads_page.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/Anaconda_downloads_page.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/MicroPython_in_jupyter_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/MicroPython_in_jupyter_notebook.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/REPL_prompt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/REPL_prompt.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/active_new_conda_env.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/active_new_conda_env.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/bin_file_to_new_directory.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/bin_file_to_new_directory.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/bin_in_dir.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/bin_in_dir.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/conda_activate.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/conda_activate.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/conda_create_new_virtualenv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/conda_create_new_virtualenv.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/conda_install_mpy-repl-tool.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/conda_install_mpy-repl-tool.jpg -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/conda_list.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/conda_list.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/conda_there-jupyter-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/conda_there-jupyter-setup.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/device_manager_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/device_manager_menu.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/download_putty.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/download_putty.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/download_silabs_driver.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/download_silabs_driver.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/downloads_folder.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/downloads_folder.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/esptool_erase_flash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/esptool_erase_flash.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/esptool_help.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/esptool_help.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/esptool_write_flash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/esptool_write_flash.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/feather_huzzah_temp_sensor_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/feather_huzzah_temp_sensor_fritzing.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/find_device_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/find_device_manager.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/firmware_download_page.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/firmware_download_page.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/import_port_diag.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/import_port_diag.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/micropython_modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/micropython_modules.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/mkdir_micropython.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/mkdir_micropython.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/pip_install_esptool.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/pip_install_esptool.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/putty_config.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/putty_config.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/putty_in_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/putty_in_start_menu.png -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/sys_dot_implementation_and_platform.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/sys_dot_implementation_and_platform.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/sys_dot_platform.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/sys_dot_platform.PNG -------------------------------------------------------------------------------- /notebooks/12-MicroPython/images/there.jupyter-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/12-MicroPython/images/there.jupyter-setup.png -------------------------------------------------------------------------------- /notebooks/99-Appendix/99.08-Contributions.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Contributions" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Any corrections, typos or suggestions to improve the text can be emailed to:\n", 15 | "\n", 16 | " > [errata@problemsolvingwithpython.com](errata@problemsolvingwithpython.com)\n", 17 | " \n", 18 | "Please include the chapter number and section number in your email. Include in your email if you would like to remain anonymous or have your name recognized in the contributor list. Thank-you in advance for improving the text for others." 19 | ] 20 | }, 21 | { 22 | "cell_type": "markdown", 23 | "metadata": {}, 24 | "source": [ 25 | "### Contributor List\n", 26 | "\n", 27 | " * Levi, Blessing, and Ngan helped improve some review questions" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": null, 33 | "metadata": {}, 34 | "outputs": [], 35 | "source": [] 36 | } 37 | ], 38 | "metadata": { 39 | "kernelspec": { 40 | "display_name": "Python 3", 41 | "language": "python", 42 | "name": "python3" 43 | }, 44 | "language_info": { 45 | "codemirror_mode": { 46 | "name": "ipython", 47 | "version": 3 48 | }, 49 | "file_extension": ".py", 50 | "mimetype": "text/x-python", 51 | "name": "python", 52 | "nbconvert_exporter": "python", 53 | "pygments_lexer": "ipython3", 54 | "version": "3.6.8" 55 | } 56 | }, 57 | "nbformat": 4, 58 | "nbformat_minor": 2 59 | } 60 | -------------------------------------------------------------------------------- /notebooks/99-Appendix/99.09-Cover-Artwork.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Cover Artwork" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Mike Schultz is a printmaker and illustrator who has taught art to Burmese migrant youth on the Thailand-Burma border. He currently lives and works in Portland, Oregon with his cat, Siam.\n", 15 | "\n", 16 | "Instagram: [```@mike_schultz_studio```](https://www.instagram.com/mike_schultz_studio/)\n", 17 | "\n", 18 | "Website: [mikeschultzstudio.com](http://mikeschultzstudio.squarespace.com/)" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": null, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [] 27 | } 28 | ], 29 | "metadata": { 30 | "kernelspec": { 31 | "display_name": "Python 3", 32 | "language": "python", 33 | "name": "python3" 34 | }, 35 | "language_info": { 36 | "codemirror_mode": { 37 | "name": "ipython", 38 | "version": 3 39 | }, 40 | "file_extension": ".py", 41 | "mimetype": "text/x-python", 42 | "name": "python", 43 | "nbconvert_exporter": "python", 44 | "pygments_lexer": "ipython3", 45 | "version": "3.6.8" 46 | } 47 | }, 48 | "nbformat": 4, 49 | "nbformat_minor": 2 50 | } 51 | -------------------------------------------------------------------------------- /notebooks/99-Appendix/99.10-About-the-Author.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## About the Author" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Peter D. Kazarinoff, PhD is a full-time faculty member in Engineering and Engineering Technology at Portland Community College in Portland, Oregon. Peter earned a PhD in Materials Science and Engineering from the University of Washington and a BA from Cornell University. He teaches courses in Engineering Programming, Materials Science, Manufacturing and others at Portland Community College.\n", 15 | "\n", 16 | "He blogs at: [pythonforundergradengineers.com](https://pythonforundergradengineers.com/)\n", 17 | "\n", 18 | "Peter lives in beautiful Portland, Oregon with his wife and two kids." 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": null, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [] 27 | } 28 | ], 29 | "metadata": { 30 | "kernelspec": { 31 | "display_name": "Python 3", 32 | "language": "python", 33 | "name": "python3" 34 | }, 35 | "language_info": { 36 | "codemirror_mode": { 37 | "name": "ipython", 38 | "version": 3 39 | }, 40 | "file_extension": ".py", 41 | "mimetype": "text/x-python", 42 | "name": "python", 43 | "nbconvert_exporter": "python", 44 | "pygments_lexer": "ipython3", 45 | "version": "3.6.8" 46 | } 47 | }, 48 | "nbformat": 4, 49 | "nbformat_minor": 2 50 | } 51 | -------------------------------------------------------------------------------- /notebooks/figures/anaconda_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/notebooks/figures/anaconda_download_page.png -------------------------------------------------------------------------------- /pdf/Problem-Solving-with-Python-3.6-Edition-2018-01-09.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/Problem-Solving-with-Python-3.6-Edition-2018-01-09.out -------------------------------------------------------------------------------- /pdf/Problem-Solving-with-Python-3.6-Edition-2018-01-09.synctex(busy): -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/Problem-Solving-with-Python-3.6-Edition-2018-01-09.synctex(busy) -------------------------------------------------------------------------------- /pdf/Problem-Solving-with-Python-3.6-Edition-2018-01-09.toc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/Problem-Solving-with-Python-3.6-Edition-2018-01-09.toc -------------------------------------------------------------------------------- /pdf/Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.out -------------------------------------------------------------------------------- /pdf/Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.synctex(busy): -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.synctex(busy) -------------------------------------------------------------------------------- /pdf/Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.toc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/Problem-Solving-with-Python-3.6.1-Edition-2018-01-10.toc -------------------------------------------------------------------------------- /pdf/combined_files/combined_267_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_267_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_279_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_279_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_285_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_285_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_289_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_289_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_291_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_291_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_304_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_304_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_307_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_307_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_308_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_308_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_314_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_314_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_318_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_318_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_323_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_323_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_328_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_328_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_329_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_329_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_333_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_333_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_338_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_338_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_343_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_343_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_348_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_348_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_350_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_350_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_351_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_351_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_352_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_352_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_353_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_353_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_360_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_360_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_363_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_363_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_366_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_366_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_369_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_369_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_377_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_377_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_384_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_384_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_386_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_386_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_388_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_388_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_390_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_390_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_393_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_393_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_398_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_398_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_401_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_401_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_403_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_403_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_405_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_405_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_412_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_412_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_415_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_415_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_418_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_418_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_421_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_421_0.png -------------------------------------------------------------------------------- /pdf/combined_files/combined_549_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/combined_files/combined_549_0.png -------------------------------------------------------------------------------- /pdf/copywrite_page.tex: -------------------------------------------------------------------------------- 1 | %% copywrite_page.tex 2 | %% Copywrite Problem Solving with Python 3.6 Edition 3 | 4 | \textbf{Problem Solving with Python 3.6 Edition} \\ 5 | by Peter D. Kazarinoff \\ 6 | \\ 7 | Copywrite \ \textcopyright \ 2018 - 2019 Peter D. Kazarinoff\\ 8 | 9 | \vspace{3in} 10 | 11 | \textbf{Revision History of the 3.6 Edition}\\ 12 | \\ 13 | 2018-01-09 Initial Release\\ 14 | \\ 15 | 2019-02-01 3.6.2 Edition\\ 16 | Reformat Table of Contents\\ 17 | Revision to end of chapter questions -------------------------------------------------------------------------------- /pdf/dedication_page.tex: -------------------------------------------------------------------------------- 1 | %% dedication_page.tex 2 | %% Problem Solving with Python 3.6 Edition 3 | 4 | \vspace*{\fill} 5 | \begin{center} 6 | \textbf{This book is dedicated to my wonderful and loving wife, Sophie and our two inquizative daughters. I love you both very much. Thank-you for helping make this text a reality.} 7 | \end{center} 8 | \vspace*{\fill}\clearpage %might not need the \clearpage command 9 | -------------------------------------------------------------------------------- /pdf/images/Anaconda_Prompt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Anaconda_Prompt.PNG -------------------------------------------------------------------------------- /pdf/images/Anaconda_Prompt_Jupyter_Notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Anaconda_Prompt_Jupyter_Notebook.png -------------------------------------------------------------------------------- /pdf/images/Anaconda_choose_python_version.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Anaconda_choose_python_version.PNG -------------------------------------------------------------------------------- /pdf/images/Anaconda_downloads_page.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Anaconda_downloads_page.PNG -------------------------------------------------------------------------------- /pdf/images/Arduino_LED_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Arduino_LED_fritzing.png -------------------------------------------------------------------------------- /pdf/images/Arrow_to_Upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Arrow_to_Upload.png -------------------------------------------------------------------------------- /pdf/images/Check_to_Verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Check_to_Verify.png -------------------------------------------------------------------------------- /pdf/images/Examples_Com_PhysicalPixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Examples_Com_PhysicalPixel.png -------------------------------------------------------------------------------- /pdf/images/Jupyter_Home_Browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Jupyter_Home_Browser.png -------------------------------------------------------------------------------- /pdf/images/MicroPython_in_jupyter_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/MicroPython_in_jupyter_notebook.png -------------------------------------------------------------------------------- /pdf/images/REPL_prompt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/REPL_prompt.PNG -------------------------------------------------------------------------------- /pdf/images/SerialMonitor_H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/SerialMonitor_H.png -------------------------------------------------------------------------------- /pdf/images/Tools_SerialMonitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Tools_SerialMonitor.png -------------------------------------------------------------------------------- /pdf/images/Tools_SerialPlotter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/Tools_SerialPlotter.png -------------------------------------------------------------------------------- /pdf/images/active_new_conda_env.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/active_new_conda_env.PNG -------------------------------------------------------------------------------- /pdf/images/anaconda_agree_to_license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_agree_to_license.png -------------------------------------------------------------------------------- /pdf/images/anaconda_download_mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_download_mac.png -------------------------------------------------------------------------------- /pdf/images/anaconda_download_mac_ask_for_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_download_mac_ask_for_email.png -------------------------------------------------------------------------------- /pdf/images/anaconda_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_download_page.png -------------------------------------------------------------------------------- /pdf/images/anaconda_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_downloading.png -------------------------------------------------------------------------------- /pdf/images/anaconda_enter_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_enter_email.png -------------------------------------------------------------------------------- /pdf/images/anaconda_from_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_from_start_menu.png -------------------------------------------------------------------------------- /pdf/images/anaconda_installer_advanced_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_installer_advanced_options.png -------------------------------------------------------------------------------- /pdf/images/anaconda_installer_click_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_installer_click_next.png -------------------------------------------------------------------------------- /pdf/images/anaconda_path2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_path2.png -------------------------------------------------------------------------------- /pdf/images/anaconda_prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_prompt.png -------------------------------------------------------------------------------- /pdf/images/anaconda_python3_or_python2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_python3_or_python2.png -------------------------------------------------------------------------------- /pdf/images/anaconda_run_installer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_run_installer.png -------------------------------------------------------------------------------- /pdf/images/anaconda_select_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_select_windows.png -------------------------------------------------------------------------------- /pdf/images/anaconda_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/anaconda_window.png -------------------------------------------------------------------------------- /pdf/images/arduino_LED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/arduino_LED.png -------------------------------------------------------------------------------- /pdf/images/arduino_led.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/arduino_led.fzz -------------------------------------------------------------------------------- /pdf/images/arduino_potentiometer.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/arduino_potentiometer.fzz -------------------------------------------------------------------------------- /pdf/images/bin_file_to_new_directory.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/bin_file_to_new_directory.PNG -------------------------------------------------------------------------------- /pdf/images/bin_in_dir.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/bin_in_dir.PNG -------------------------------------------------------------------------------- /pdf/images/conda_activate.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_activate.PNG -------------------------------------------------------------------------------- /pdf/images/conda_create_new_virtualenv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_create_new_virtualenv.PNG -------------------------------------------------------------------------------- /pdf/images/conda_import_this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_import_this.png -------------------------------------------------------------------------------- /pdf/images/conda_import_this_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_import_this_output.png -------------------------------------------------------------------------------- /pdf/images/conda_in_windows_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_in_windows_start_menu.png -------------------------------------------------------------------------------- /pdf/images/conda_install_mpy-repl-tool.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_install_mpy-repl-tool.jpg -------------------------------------------------------------------------------- /pdf/images/conda_list.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_list.PNG -------------------------------------------------------------------------------- /pdf/images/conda_prompt_type_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_prompt_type_python.png -------------------------------------------------------------------------------- /pdf/images/conda_there-jupyter-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_there-jupyter-setup.png -------------------------------------------------------------------------------- /pdf/images/conda_type_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/conda_type_python.png -------------------------------------------------------------------------------- /pdf/images/device_manager_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/device_manager_menu.png -------------------------------------------------------------------------------- /pdf/images/download_Arduino_IDE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/download_Arduino_IDE.png -------------------------------------------------------------------------------- /pdf/images/download_putty.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/download_putty.PNG -------------------------------------------------------------------------------- /pdf/images/download_silabs_driver.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/download_silabs_driver.PNG -------------------------------------------------------------------------------- /pdf/images/downloads_folder.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/downloads_folder.PNG -------------------------------------------------------------------------------- /pdf/images/engineering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/engineering.png -------------------------------------------------------------------------------- /pdf/images/esptool_erase_flash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/esptool_erase_flash.PNG -------------------------------------------------------------------------------- /pdf/images/esptool_help.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/esptool_help.PNG -------------------------------------------------------------------------------- /pdf/images/esptool_write_flash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/esptool_write_flash.PNG -------------------------------------------------------------------------------- /pdf/images/feather_huzzah_temp_sensor_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/feather_huzzah_temp_sensor_fritzing.png -------------------------------------------------------------------------------- /pdf/images/file-examples-communication-physicalpixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/file-examples-communication-physicalpixel.png -------------------------------------------------------------------------------- /pdf/images/find_device_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/find_device_manager.png -------------------------------------------------------------------------------- /pdf/images/firmware_download_page.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/firmware_download_page.PNG -------------------------------------------------------------------------------- /pdf/images/import_port_diag.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/import_port_diag.PNG -------------------------------------------------------------------------------- /pdf/images/jupyter_notebook_dot_py_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/jupyter_notebook_dot_py_file.png -------------------------------------------------------------------------------- /pdf/images/jupyter_notebook_export_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/jupyter_notebook_export_options.png -------------------------------------------------------------------------------- /pdf/images/jupyter_notebook_markdown_cells_as_comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/jupyter_notebook_markdown_cells_as_comments.png -------------------------------------------------------------------------------- /pdf/images/micropython_modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/micropython_modules.png -------------------------------------------------------------------------------- /pdf/images/mkdir_micropython.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/mkdir_micropython.PNG -------------------------------------------------------------------------------- /pdf/images/pip_install_esptool.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/pip_install_esptool.PNG -------------------------------------------------------------------------------- /pdf/images/putty_config.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/putty_config.PNG -------------------------------------------------------------------------------- /pdf/images/putty_in_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/putty_in_start_menu.png -------------------------------------------------------------------------------- /pdf/images/redboard_pot_led_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/redboard_pot_led_fritzing.png -------------------------------------------------------------------------------- /pdf/images/serial_monitor_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/serial_monitor_output.png -------------------------------------------------------------------------------- /pdf/images/serial_plotter_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/serial_plotter_output.png -------------------------------------------------------------------------------- /pdf/images/sys_dot_implementation_and_platform.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/sys_dot_implementation_and_platform.PNG -------------------------------------------------------------------------------- /pdf/images/sys_dot_platform.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/sys_dot_platform.PNG -------------------------------------------------------------------------------- /pdf/images/there.jupyter-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/pdf/images/there.jupyter-setup.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | matplotlib 2 | numpy 3 | pandas 4 | xlrd 5 | sympy 6 | pyserial 7 | jupyter -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.6 2 | -------------------------------------------------------------------------------- /website/README.md: -------------------------------------------------------------------------------- 1 | # README.md 2 | 3 | ## To build website: 4 | 5 | cd into the conversion_tools directory 6 | 7 | ```text 8 | $ cd conversion_tools 9 | ``` 10 | 11 | ### Convert notebooks to html that mkdocs can read 12 | 13 | run main script in nb2html.py 14 | 15 | ```text 16 | $ python nb2html.py 17 | ``` 18 | 19 | ### Copy over all of the images from the notebooks/subdir to website/subdir 20 | 21 | run main script in copy_images_dir.py 22 | 23 | ```text 24 | $ python copy_images_dir.py 25 | ``` 26 | 27 | ### Build the TOC yaml that goes at the end of the mkdocs config file 28 | 29 | run main script in yaml_TOC.py 30 | 31 | ```text 32 | $ python yaml_TOC.py 33 | ``` 34 | 35 | ### Combine the TOC.yml file created above with the mkdocs_config file 36 | 37 | run the main script in make_mkdocs_yaml.py 38 | 39 | ```text 40 | $ python make_mkdocs_yaml.py 41 | ``` 42 | 43 | ### build and serve mkdocs site 44 | 45 | cd into the website directory and activate the ```(book)``` env. Build and serve using mkdocs 46 | 47 | ```text 48 | $ conda activate book 49 | (book)$ cd website 50 | (book)$ mkdocs build 51 | (book)$ mkdocs serve 52 | ``` 53 | 54 | ### post the website to github pages 55 | 56 | ```text 57 | (book)$ mkdocs gh-deploy 58 | ``` 59 | 60 | If this does not work, ensure the current working directory is website, then 61 | 62 | ```text 63 | git push -f origin gh-pages 64 | ``` 65 | -------------------------------------------------------------------------------- /website/docs/00-Preface/00.00-Motivation.md: -------------------------------------------------------------------------------- 1 | 2 | # Preface 3 | ## Motivation 4 | The motivation for writing this book is that many undergraduate engineering students have to take a programming course based on MATLAB. MATLAB is a great piece of software, but it currently costs $49.00 for a student license and requires a site license to be used on school computers. Subsequently, it is costly for a student to use MATLAB and it is costly for a college to support a course that uses MATLAB. In addition, this site license expires eventually and students need to purchase another copy often before they finish their degree. 5 | 6 | The Python programming language, on the other hand, is open source and free. To download and use Python, the cost to both the student and the college is zero (minus time spent). By moving an undergraduate engineering programming class to Python, students will save money and have greater access to the software they use in class. Further in their engineering education, students can continue to use Python for free. 7 | 8 | 9 | -------------------------------------------------------------------------------- /website/docs/00-Preface/00.02-Acknowledgments.md: -------------------------------------------------------------------------------- 1 | 2 | ## Acknowledgments 3 | The creation of this book and supporting material would not be possible without the gracious support of my wife and family. Students at Portland Community College continue to give me hope that the next generation of engineers will be a diverse group of team problem solvers. 4 | 5 | _The Python Data Science Handbook_ and _Machine Learning in Python_ as well as _Reiman Equations in Python_ served as inspiration and examples of using Jupyter notebooks to construct a book. The _bookbook_ repository on GitHub provided a starting point for the tooling used to convert this book from Jupyter notebooks into a website and into LaTeX for printing. 6 | 7 | 8 | -------------------------------------------------------------------------------- /website/docs/00-Preface/00.03-Supporting-Materials.md: -------------------------------------------------------------------------------- 1 | 2 | ## Supporting Materials 3 | Supporting materials for this text can be found on the textbook website: 4 | 5 | > [https://problemsolvingwithpython.com](https://problemsolvingwithpython.com) 6 | 7 | The textbook website contains all of the text in web format. Code examples and Jupyter notebooks for the text can be found in the GitHub repository for the book: 8 | 9 | > [https:github.com/ProfessorKazarinoff/Problem-Solving-with-Python](https:github.com/ProfessorKazarinoff/Problem-Solving-with-Python) 10 | 11 | Live notebooks, where code examples found in the text can be run without installing any software, are available at: 12 | 13 | > [https://mybinder.org/v2/gh/ProfessorKazarinoff/Problem-Solving-with-Python/master](https://mybinder.org/v2/gh/ProfessorKazarinoff/Problem-Solving-with-Python/master) 14 | 15 | If you are an instructor and using this book in a course with students- please send me an email using your school email address. In the email, include the course you are teaching and the term, approximate enrollment, and a link to the course listing on your school website. 16 | 17 | > peter.kazarinoff@problemsolvingwithpython.com 18 | 19 | I am happy to reply with a solution key for the end of chapter review problems as well as quiz and exam question banks. 20 | 21 | 22 | -------------------------------------------------------------------------------- /website/docs/00-Preface/00.05-Errata.md: -------------------------------------------------------------------------------- 1 | 2 | ## Errata 3 | Errata including any typos, code errors and formatting inconsistencies can be submitted to: 4 | 5 | > errata@problemsolvingwithpython.com 6 | 7 | Please include the chapter number and section number in your email. Thank-you in advance for helping improve this text for future readers. 8 | 9 | 10 | -------------------------------------------------------------------------------- /website/docs/01-Orientation/01.00-Welcome.md: -------------------------------------------------------------------------------- 1 | 2 | # Orientation 3 | ## Introduction 4 | Welcome to the world of problem solving with Python! This first Orientation chapter will help you get started by guiding you through the process of installing Python on your computer. 5 | By the end of this chapter, you will be able to: 6 | 7 | * Describe why Python is a useful computer language for problem solvers 8 | 9 | * Describe applications where Python is used 10 | 11 | * Detail advantages of Python over other programming languages 12 | 13 | * Know the cost of Python 14 | 15 | * Know the difference between Python and Anaconda 16 | 17 | * Install Python on your computer 18 | 19 | * Install Anaconda on your computer 20 | 21 | 22 | -------------------------------------------------------------------------------- /website/docs/01-Orientation/01.07-Summary.md: -------------------------------------------------------------------------------- 1 | 2 | ## Summary 3 | In this chapter, you learned about the Anaconda distribution of Python and how the Anaconda distribution of Python compares the version of Python at Python.org. The Anaconda distribution of Python comes with about 600 packages pre-installed as well as Jupyter notebooks and the Anaconda Prompt. Jupyter notebooks and some of the pre-installed packages that come with Anaconda will be used later chapters. This text recommends that problem solvers install the Anaconda distribution of Python. 4 | 5 | This chapter showed how to install the Anaconda distribution of Python on Windows, MacOS, and Linux. 6 | 7 | At the end of the chapter, a description of how to download and install Python from Python.org was shown. 8 | ### Key Terms and Concepts 9 | Anaconda 10 | 11 | Anaconda Prompt 12 | 13 | download 14 | 15 | install 16 | 17 | Python 18 | 19 | Legacy Python 20 | 21 | Python Interpreter 22 | 23 | Python REPL 24 | 25 | package 26 | 27 | operating system 28 | 29 | Windows 30 | 31 | MacOS 32 | 33 | Linux 34 | 35 | terminal 36 | 37 | PATH 38 | 39 | 40 | -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/Anaconda_download_linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/Anaconda_download_linux.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_agree_to_license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_agree_to_license.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_download_mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_download_mac.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_download_mac_ask_for_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_download_mac_ask_for_email.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_download_page.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_downloading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_downloading.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_enter_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_enter_email.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_from_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_from_start_menu.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_install_linux_copy_link_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_install_linux_copy_link_address.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_installer_advanced_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_installer_advanced_options.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_installer_click_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_installer_click_next.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_path2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_path2.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_prompt.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_python3_or_python2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_python3_or_python2.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_run_installer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_run_installer.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_select_windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_select_windows.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/anaconda_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/anaconda_window.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/conda_import_this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/conda_import_this.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/conda_import_this_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/conda_import_this_output.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/conda_in_windows_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/conda_in_windows_start_menu.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/conda_prompt_type_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/conda_prompt_type_python.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/conda_type_python.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/conda_type_python.png -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/python_dot_org_macos_download.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/python_dot_org_macos_download.PNG -------------------------------------------------------------------------------- /website/docs/01-Orientation/images/python_dot_org_windows_download.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/01-Orientation/images/python_dot_org_windows_download.PNG -------------------------------------------------------------------------------- /website/docs/02-The-Python-REPL/02.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # The Python REPL 3 | ## Introduction 4 | Welcome to the world of problem solving with Python! This first Orientation Chapter will help you get started by guiding you through the process of installing Python on your computer. 5 | By the end of this chapter, you will be able to: 6 | 7 | * Open and close the Python REPL 8 | 9 | * Compute mathematical calculations using the Python REPL 10 | 11 | * Use the output from Python REPL as input in another problem 12 | 13 | * Import the math and statistics modules from the Python Standard Library and use their functions 14 | 15 | * Assign values to variables 16 | 17 | * Use variables in calculations 18 | 19 | * Create strings 20 | 21 | * Combine, compare, and pull characters out of strings 22 | 23 | 24 | -------------------------------------------------------------------------------- /website/docs/03-Data-Types-and-Variables/03.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Data Types and Variables 3 | ## Introduction 4 | Python has many built-in data types. These include integers, floats, booleans, strings, and lists. 5 | 6 | By the end of this chapter you will be able to: 7 | 8 | * Explain the difference between Python's built-in data types 9 | 10 | * Define variables with the assignment operator ```=``` 11 | 12 | * Create variables with different data types 13 | 14 | * Use Python's ```type()``` function to determine an object's type 15 | 16 | * Complete logical evaluations of variables 17 | 18 | * Convert variables from one data type to another 19 | 20 | 21 | -------------------------------------------------------------------------------- /website/docs/03-Data-Types-and-Variables/images/reverse_string_indexing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/03-Data-Types-and-Variables/images/reverse_string_indexing.png -------------------------------------------------------------------------------- /website/docs/03-Data-Types-and-Variables/images/reverse_string_indexing.xml: -------------------------------------------------------------------------------- 1 | 1ZhdT4MwGIV/DZdLaDvYduuc0wtNDCZeN/AOmhRKuk6Yv95OWgd2Jho1lBvSnpZ+PD0hnAZkXbZbSeviXmTAAxxmbUCuA4yXi5V+noRjJ8Rx1Am5ZFknobOQsFcwYmjUA8tgP+iohOCK1UMxFVUFqRpoVErRDLvtBB/OWtMcHCFJKXfVZ5apwmwrCs/6LbC8sDOj0LSU1HY2wr6gmWh6EtkEZC2FUF2pbNfAT+wsl+69my9aPxYmoVLfeeF6RY85ytuyfIQbxp+2s4dkZkZ5ofxgNvwAOVXsBbR6V2XQmsWroyXSFExBUtP0VG/0oQfkqlAl1zWki3Rfd+ewYy3oqa/cddpJQSpoe5JZ9xZECUoedRfrIoPQeAhZ+k3vRIxU9A7DatR4IP8Y+IxJFwypH1DDDrV1QSVNFUgPcWEyMi7i4Jotf81pJyplPhc4/htuKPbMZ3MHXDIFbqMbLnINt/ARHJ57ZrjYASemwG10wy1cw8U+giPYM8MtHXB8CtxGN9zKNVzkI7h56JnhbK7okTtMAdzojkNuVLD/J56R8y0tIDcuqCmAG99yF4ID8ZFc5FtwQG5yYFMAN77lLkQH7CO52LfogCaSHT6DG99yF8ID8pHcwrfwgNz0UE0B3D9aTlfPN8rvbb1rebJ5Aw== -------------------------------------------------------------------------------- /website/docs/03-Data-Types-and-Variables/images/string_indexing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/03-Data-Types-and-Variables/images/string_indexing.png -------------------------------------------------------------------------------- /website/docs/03-Data-Types-and-Variables/images/string_indexing.xml: -------------------------------------------------------------------------------- 1 | 1Zhda4MwGIV/jZcFk1Tb3rbdul1sMBzsOmiqgWgkTafdr186Y6u8FDa2YXIjyUnMx/MehGNANmW7U7QunmTGRIDDrA3INsB4uViZ51k4dUIcR52QK551EroKCf9gVgyteuQZO4wmaimF5vVYTGVVsVSPNKqUbMbT9lKMd61pzoCQpFRA9Y1nurDXisKr/sB4XvQ7o9COlLSfbIVDQTPZDCRyF5CNklJ3rbLdMHFm13Pp3ru/MXo5mGKV/s4L2xU95Shvy/KF3XPxups9JzO7yjsVR3vhTUEVTTVT9tT61KNoCq5ZUtP03G9MtQOyLnQpTA+ZJj3UXQH2vGVmz7VdminN2ptnRhcSxkFMlkyrk5nS28eys+ZBPfZmUAorFYMq9Bq1xc8vC1/5mIZF9ANcGOB6rDJzO/dQYTIxKgJQJb/GtJeVtp8IHP8NNhQ7ZrE54Bb6wG1yv0WAm3SRG5475rcYcEM+cJvcbwvATbjIjWDH/LYE3LAP3Cb32wpwO7rIbR465rc+SAzAER/ATW44BLOBdhKcayEBwZQw9wHc9I6DmYG7CC5yLTMgGBoiH8BN7zhPUkPsWmpAMDbEPoCb3nEwN1Quglu4lhsQDA4LH8D9o+NM9/r7+Gts8A+e3H0C -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/04.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Jupyter Notebooks 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Explain what a Jupyter notebook is 7 | 8 | * Open a Jupyter notebook 9 | 10 | * Write Python code in a Jupyter notebook 11 | 12 | * Run Python code in a Jupyter notebook 13 | 14 | * Write and render markdown text in a Jupyter notebook 15 | 16 | * Save and close a Jupyter notebook 17 | 18 | * Download a Jupyter notebook in different file formats 19 | 20 | 21 | -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/Anaconda_Prompt_Jupyter_Notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/Anaconda_Prompt_Jupyter_Notebook.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/Jupyter_Home_Browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/Jupyter_Home_Browser.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_launch.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/anaconda_navigator_jupyter_notebook_start.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/anaconda_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/anaconda_start_menu.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/change_cell_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/change_cell_type.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/click_change_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/click_change_name.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/code_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/code_cell.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/downloading_complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/downloading_complete.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/engineering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/engineering.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/file_download_as_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/file_download_as_notebook.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/file_make_a_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/file_make_a_copy.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/insert_cell_above.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/insert_cell_above.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_anaconda_prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_anaconda_prompt.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_dot_py_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_dot_py_file.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_example.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_export_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_export_options.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_markdown_cells_as_comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/jupyter_notebook_markdown_cells_as_comments.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/kernel_restart_and_clear_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/kernel_restart_and_clear_output.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/markdown_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/markdown_cell.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/new_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/new_notebook.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/new_notebook_from_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/new_notebook_from_browser.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/notebook_file_browser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/notebook_file_browser.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/notebook_file_browser_click_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/notebook_file_browser_click_folder.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/notebook_file_browser_click_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/notebook_file_browser_click_notebook.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/notebook_json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/notebook_json.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/output_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/output_cell.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/rename_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/rename_dialog.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/rename_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/rename_notebook.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/rename_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/rename_window.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/run_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/run_cell.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/run_import_this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/run_import_this.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/save_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/save_notebook.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/windows_start_anaconda_navigator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/windows_start_anaconda_navigator.png -------------------------------------------------------------------------------- /website/docs/04-Jupyter-Notebooks/images/windows_start_jupyter_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/04-Jupyter-Notebooks/images/windows_start_jupyter_notebook.png -------------------------------------------------------------------------------- /website/docs/05-Functions-and-Modules/05.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Functions and Modules 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Call functions in Python scripts 7 | 8 | * Import functions into Python scripts 9 | 10 | * Create user-defined functions 11 | 12 | * Create Python functions with default arguments 13 | 14 | * Utilize functions with positional and keyword arguments 15 | 16 | * Write reusable code for other problem solvers to use 17 | 18 | 19 | -------------------------------------------------------------------------------- /website/docs/06-Plotting-with-Matplotlib/06.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Plotting with Matplotlib 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Import Matplotlib into a Python script or Jupyter notebook 7 | 8 | * Construct line plots with Matplotlib 9 | 10 | * Use Matplotlib's object-oriented interface 11 | 12 | * Construct bar charts with Matplotlib 13 | 14 | * Add error bars to bar charts and line plots 15 | 16 | * Plot histograms 17 | 18 | * Plot contours 19 | 20 | * Construct 3D mesh grid plots 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /website/docs/06-Plotting-with-Matplotlib/06.01-What-is-Matplotlib.md: -------------------------------------------------------------------------------- 1 | 2 | ## What is Matplotlib? 3 | Matplotlib is a popular Python package used to build plots. Matplotlib started as a project in the early 2000's partly to use Python to visualize the electronic signals in the brain of epilepsy patients. Matplotlib's creator, John D. Hunter, was a neurobiologist. He was looking for a way to replicate MATLAB's plotting capability with Python. In addition to starting matplotlib, Dr. Hunter was part of the founding group that created Numfocus. The Numfocus group oversees some major Python projects including Matplotlib, NumPy, Pandas, and Jupyter. 4 | ### Why use Matplotlib? 5 | Matplotlib is useful for creating static 2D plots, the kind of plots included in scientific publications and presentations. Almost any plot created in Microsoft Excel can be created with Matplotlib. Matplotlib can also be used to make 3D plots and animations. 6 | 7 | 8 | -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/07.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # If Else Try Except 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Use if, else if, and else selection structures 7 | 8 | * Explain the difference between syntax errors and exception errors 9 | 10 | * Use try-except statements 11 | 12 | * Construct flowcharts to describe the flow of a Python program 13 | 14 | 15 | -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/07.02-Selection-Statements.md: -------------------------------------------------------------------------------- 1 | 2 | ## Selection Statements 3 | Selection statements are used in programming to decide or select particular blocks of code to run based on a defined logical condition. The primary selection statements in Python are: 4 | 5 | * if 6 | * else 7 | * elif 8 | * try 9 | * except 10 | 11 | So far in this text, all of the Python code has either been strictly linear or linear and include functions. A strictly linear program is a program that runs top to bottom. Every line of code in a linear program runs. In a linear program with functions, the program still runs head to base, but the program takes side excursions to execute functions on the way down. 12 | 13 | If this next couple chapters, you learn to write programs non-linearly. Non-linear programs do not run every line of code top to bottom. In non-linear programs, sections of code may not run based on selection statements like _if_ and _try_. Non-linear programs can include loops. Inside loops are sections of code that run multiple times. Loops are defined by repetition structures like _for loops_ and _while loops_. 14 | 15 | To start our discussion of non-linear programs, we will begin with _if statements_. 16 | 17 | 18 | -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/07.07-Summary.md: -------------------------------------------------------------------------------- 1 | 2 | ## Summary 3 | Selection structures in Python include ```if```, ```elif```, ```else```, ```try``` and ```except```. These selection structures allow certain blocks of code to run or not run based on logical conditions. Logical conditions are expressions or variables that can be evaluated as ```True``` or ```False```. You learned that Python uses indentation segment code after ```if```, ```elif```, and ```else``` statements. The standard indentation in Python is four spaces. 4 | 5 | The difference between syntax errors and exception errors was demonstrated in this chapter. ```try```/```except``` blocks only check for exception errors. 6 | 7 | At the end of the chapter, you learned how to use flowcharts to describe the flow of a program with four basic shapes and arrows. 8 | ### Key Terms and Concepts 9 | selection structures 10 | 11 | if 12 | 13 | logical condition 14 | 15 | True 16 | 17 | False 18 | 19 | programmatic flow 20 | 21 | indentation 22 | 23 | pass 24 | 25 | else 26 | 27 | else if 28 | 29 | elif 30 | 31 | exceptions 32 | 33 | syntax error 34 | 35 | exception error 36 | 37 | try 38 | 39 | except 40 | 41 | flow chart 42 | 43 | 44 | -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_calculation_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/07-If-Else-Try-Except/images/flow_chart_calculation_program.png -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_calculation_program.xml: -------------------------------------------------------------------------------- 1 | 5Vhtb9owEP41fKwU4oTCx0Jpt2nVkFrt5dNkyJF4NXHmOAX263dOnATXoaVSoVpnich5fI7v7vGTM+mRyWpzLWmW3IgIeM/3ok2PXPZ8f3g+wqsGthUwGIQVEEsWVVC/BW7ZHzCgZ9CCRZBbhkoIrlhmgwuRprBQFkalFGvbbCm4vWpGY3CA2wXlLvqNRSoxYYVei38AFif1yn3PjKxobWyAPKGRWO9AZNojEymEqnqrzQS4zl2dl2re1Z7RxjEJqTpkgmK/VTpIp97ocn5x9fPrl2E4Ojs3vqltHTBEGL+5FVIlIhYp5dMWHUtRpBHop3p4l6gVx24fu79Aqa2hkBZKINQ+4bMQmbFbilRNBBeyXJFclQ3xXElx36QZEzR2YzRh56KQC3giMGOno9mZaDJzDWIFSm7RQAKnij3YbFOzaeLGrpk6Ewxd8T2zv/16I5jt3ezb+hGKyhiUmdWyg50dN1qo5OwF/BmHHygvTAg5rqhcVjlHxWj21glTcJvRMntr1KzNocvBPraWjHMLJ9iMfb2BOjZp7TFIBZsnqalHR3aK69t1K8d+rbFkR4pDbz+ZFg0vzfnwvWrGfxvNEP+0mvEdzVzk9wgUOciyROgrxV9arOYaesQ2vsgz3cUUU86Bi1jSFSY+A8nQN5CPx2btwNHkNxoRUuFHll9Tz57T3+BY+gsd/u5g477ylAat5ErI2R86Lw20DDO9w0rvwnEvvEREKzCvxKgnUM7iFPsclvpROmkMjwYXBlZaneMcyWRpfFdK9Sx4grJXYCMMiK2d0HfYCDrIeCyxVyNj4JABafSey08YnLD+fHzYsvmnG/p9RsIAZnOVj36ckbeoP4cT01lEni1InZGepv4Ex6s/+6Oy60+EkvGq/zb6ksD+6mMzeZCcdljyytbNpy0o3ZqC0ilAV2iOqjpoP1hohLivtqMVmk6igv9GaP5JhBaS0wrNPejNZOVgpTA8DxTcPTj8c+e7V5VdQAZHkx3ett87Kpbbj0Zk+hc= -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_more_complex_user_input_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/07-If-Else-Try-Except/images/flow_chart_more_complex_user_input_program.png -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_simple_print_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/07-If-Else-Try-Except/images/flow_chart_simple_print_program.png -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_simple_print_program.xml: -------------------------------------------------------------------------------- 1 | 5VZNc5swEP0tPXDMDEaG2Mf4qz20k8w40x47ilmDWoGIWGI7v74rEGCF2m1m4hxaDoz0tCut9u2T5LF5tv+oeZF+UTFIL/DjvccWXhBMrqf0N8ChAaIobIBEi7iBRj2wFs9gQd+ilYihdAxRKYmicMGNynPYoINxrdXONdsq6a5a8AQGwHrD5RD9JmJM7bZCv8c/gUjSduWRb0cy3hpboEx5rHZHEFt6bK6VwqaV7ecgTe7avDR+qxOjXWAacvwbBxSPmEf50p8uHm5W37/eTsLp1bWNDQ/thiGm/duu0piqROVcLnt0plWVx2Bm9amXYiapOaLmD0A8WAp5hYqgfobPShXWbqtynCupdL0iW9Uf4SVq9bNLMyVo1kRnQjq5aQuVqtIbOLPTUZdyKlVQGaA+kJ8GyVE8ufNzWzRJZ9e53ilBKwe+re+gLQRb3l3dtlMg1wmg9erZocZRGD1Uc/YK/mzAT1xWdgslrYhDVqUkxRj2dqlAWBe8TtaONOtyOOTgFFtbIaWDM/qsfVtAbXigEfbnKRxS0zpM3RS33V0vx1GrsfRIihP/NJkODa/N+eS/0UzwLpphwftqJhhoptBNgF4QPVbmPJ7dVlhU+KEHBpzTcV6YJuWVSwlSJZpnZFiAFhQh6Jdjd/3AxUQ4nTLW4BcWYXer/UmF0aVUGA5YvIf98OBDAzrJ1VCKZ/5QGxgxFqbO6ujCmRcuCDE6LBtJGgcuRZJTW8LWTGXyKOiBcGNhNBqdlUSmyJP7WrBX4zOUvQEb4Zi5CgqDARvj35DxUmhvRkY0IAPy+F++hBi73C1E3f5V2Bx6/dOaLX8B -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_simple_user_input_program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/07-If-Else-Try-Except/images/flow_chart_simple_user_input_program.png -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/flow_chart_simple_user_input_program.xml: -------------------------------------------------------------------------------- 1 | 7Vhdb5swFP01eewEGNLw2KRJ97BplVpt7dPkBAe8GUyNaZL++tnYhhCTfqwhmbYhtbKPv6597rnXzgBM0vUVg3nymUaIDDwnWg/A5cDzRueh+C+BjQKGw0ABMcORgtwGuMFPSIOORkscoaLVkVNKOM7b4IJmGVrwFgYZo6t2tyUl7VVzGCMLuFlAYqPfcMQTva3AafCPCMeJWdl1dEsKTWcNFAmM6GoLAtMBmDBKuSql6wki8uzMuahxsz2ttWEMZfw1Azh+4Nkwmzrh5fxi9v3rl1EQnp1r2/jGbBhFYv+6ShlPaEwzSKYNOma0zCIkZ3VELeEpEUVXFH8gzjeaQlhyKqBmhk+U5rrfkmZ8Qgll1YpgVn0CLzijP+tjFgc0VtZJk/ZuWkMFLdkCPbNTtz5y4aqIpoizjRjHEIEcP7bnh9pp4rpfPfSaYrGy52j/9owjaPeu/dZMwSGLEdejGnZEYcuMBqo4ewN/2uBHSEq9hUKsyG1WCRGKkeytEszRTQ6rw1oJzbY5tDnYx9YSE9LCgfh0f+NAxjzEOFo/T6FNjRkQto/YVFeNHF2jsWRLiiNnP5ktGt565qN/RjPeUTQDvONqxrM0kzNl4MAbPpQyHo+nGUdMmiT+sjKdy4pps+gXkT2XRXHEkBBEaMxgKjrmiGFhLGK7bddNQ296DEMAFN6zHusE95Igh30JMrAIvUVrOwZyCbYOl6ECP8F51UHqMpcuV1kXjAfBpUCkJAulTjkAEhxnokzQUk4lzxGLu8KFhrmU67gQZOIsvq20e+Y/Q9kB2Ah80BZT4Fls+B1k7GruYGQMLTJQFv3N+ShwTp2QXN8WABOlE6SpF+lyqu+waSrsJU2B3TR17h33ameHtRkkxUFpRWvM7yT8IdC1+94IF7SyzZ22oarc1yv/8c6we2fxd8W8xxkuGIObrW46w/TgLqHlLXipLi/qYgNTGVljdYExIWvLi1hC03lZvDYidzHc4QvtmOw4YVj17DEh1i8wI1tgJ8TRMaOzd5I39kkCset0U/PeSAx2Mq7/XvF1r+O73es07KsZDxvmHUu4W88RIvU6l48PrVzzCLliCKonCk9gphT9/4HSnbh9OwK4XXfi33igiGrzC55yieZnUDD9BQ== -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/four_flow_chart_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/07-If-Else-Try-Except/images/four_flow_chart_shapes.png -------------------------------------------------------------------------------- /website/docs/07-If-Else-Try-Except/images/four_flow_chart_shapes.xml: -------------------------------------------------------------------------------- 1 | xZZNj5swEIZ/DcdKBIc0HDdf20vVSlm1x8oLE7BqbGqGJtlf3zGYEOKs9kNN6wOy3zFj+31sQ8CW5eHe8Kr4rDOQQRRmh4Ctgiiaf0zoaYVjJ8xmcSfkRmSdNBmErXgCJ4ZObUQG9agjai1RVGMx1UpBiiONG6P34247LcejVjwHT9imXPrqd5Fh4ZYVh4P+CURe9CNPQhcped/ZCXXBM70/k9g6YEujNXa18rAEab3rfene2zwTPU3MgMLXvIDiF6qZWofJ6vFu8+Pbl3mcfHBZfnPZuAXXyA0GNteGnqAyN3s89pZQWnKfGot9IRC2FU9tZE/8SSuwlNSaULVGo3+ebKMFL3Za4VJLbdpMbNMWqwspRzqj4vpv3chXFtzPHgzC4UxyBtyDLgHNkbr00cTBcLuxb+4HtJOeV3GGde407nZTfso8GE4V5/kb/I88/4WqmsF/3WDbvEBAe6myVTKDSwlS54aX5FcFRtDEwFzGvg6Bm1FLEsY6/cbUTkfqJWyzW2FjHja6MdJGchRa1R4uoxuVgU0Yvsv/sc+2XPH5eU43QMDY/0Yw9W8ukPQFIACt+aZJsTHgsyh0+djU7z0Hr/H7glcYJkkY/h0Op++i4zCd+hzm//ICiz0MD3DwLyy04sheA7V44o9tB2tOpYXCdnbxIohXpPAGdd39ENgXuBS5orqEnU1lPRN06u6cjNryqwmnUPmDbaxoj9z0UMRTNj4UceTBmF6BEb0dBjWHP4U2dva7xdZ/AA== -------------------------------------------------------------------------------- /website/docs/08-Loops/08.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Loops 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * use a while loop 7 | 8 | * use a for loop 9 | 10 | * use the break statement 11 | 12 | * use the continue statement 13 | 14 | * construct flowcharts that describe programs with loops 15 | 16 | 17 | -------------------------------------------------------------------------------- /website/docs/08-Loops/08.05-Summary.md: -------------------------------------------------------------------------------- 1 | 2 | ## Summary 3 | Repetition structures allow the same piece of code to run multiple times. 4 | 5 | In this chapter, you learned how to write for loops and while loops in Python. You learned how to use Python's ```range()``` function in a for loops and how to use a list or string in a for loop. For loops run a block of code a definite number of times. A while loop runs a block of code as long as a logical condition is true. The keywords ```break``` and ```continue``` cause for and while loops to exit early. 6 | 7 | At the end of the chapter, you learned how to build flowcharts that describe programs with for loops and while loops. 8 | ### Key Terms and Concpets 9 | repetition structure 10 | 11 | loop 12 | 13 | while loop 14 | 15 | for loop 16 | 17 | iterate 18 | 19 | break 20 | 21 | continue 22 | 23 | infinite loop 24 | 25 | flowchart 26 | 27 | 28 | -------------------------------------------------------------------------------- /website/docs/08-Loops/images/flow_chart_of_program_that_contains_a_for_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/08-Loops/images/flow_chart_of_program_that_contains_a_for_loop.png -------------------------------------------------------------------------------- /website/docs/08-Loops/images/flow_chart_of_program_that_contains_a_for_loop.xml: -------------------------------------------------------------------------------- 1 | 3VhNc9owEP01HNMRsk3wMRCSdqZJM5NMmp46AgtbrWw5soghv74rW8YIGUoz0HbiQyI9rz523+6TTM8bp8trSfLkRkSU9zCKlj3vsofx8DyEvxpY1cBgENRALFlUQ/0WuGev1IDIoAsW0cIyVEJwxXIbnIksozNlYURKUdpmc8HtVXMSUwe4nxHuol9ZpBLjVoBa/CNlcdKs3EfmTUoaYwMUCYlEuQF5k543lkKoupUux5Tr2DVxqcdd7Xi73pikmTpkgGLPKhtkExReTi+uvj9+GQbh2bnZm1o1DtMI/DddIVUiYpERPmnRkRSLLKJ6VgS9RKUcmn1o/qBKrQyFZKEEQO0Mn4XIjd1cZGosuJDVit5V9QBeKCl+rsMMARq5Phq3C7GQM7rHMWOnvdkYaCJzTUVKlVyBgaScKPZis01M0sRru/XQO8FgKxiZ/MZNIpj0xgNkT6GIjKkyo1p2oLGxjRaqOPsD/syGXwhfGBcKWFG5rHIOFaPZKxOm6H1OquiVULM2hy4Hu9iaM84t3IPH2DcJ1JGkzY6pVHS5l5rmbWiHuOmWbTn2mxpLNkpxiHaTadGwJ+Z+ica34+ktHt9FN+L20yMryzPfiXmmh2QzSUkBWoXRVG+/75Jw+tL6LX2oetaltVUfb6s1fJrSGm6VFjqstC6kJKsNs1wbFLvX8cPuddoUqWc8at1iJ4dyWe+qhwfPC30mjDjQyrK4BZyEgiMl100gjXBOuYglScEwp5LBDqncfnfXvjiZEISh59X4kYXA97aICvFhSrCtyW9Rgk4WA4fFB7p0xVdp0AqupAV7JdPKQBejyVGwDka94BIQXeRFXe96AOEszqDN6VxPpYPG4JJyYWClBWBUAJmQMA+VGoBM7absCGwEvmex4QUuG34HGfhUZAwcMmgWveeD0B/865PQVTEQK5LqSGbTQv9DtaLVGK9FDGUdoD0MDMJjHp90ydTTRvubNvkQ/EcHa2d8T3Nn9bGdRx7GBx2sbzj7Or3yOu9P6xSITZY0X4Dv6wL1F3ne/jbx/ZN9m+z2yuJ5DkE05a/7+qIFX/OdxS4TkU4XxaE63UVQB5W2UiMUhpXl/mPSUegOkneK9vrW2lxazjsuLahDtPvb190DVBu67e8JNY3tjzLe5Bc= -------------------------------------------------------------------------------- /website/docs/08-Loops/images/flow_chart_of_program_that_contains_a_while_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/08-Loops/images/flow_chart_of_program_that_contains_a_while_loop.png -------------------------------------------------------------------------------- /website/docs/08-Loops/images/flow_chart_of_program_that_contains_a_while_loop.xml: -------------------------------------------------------------------------------- 1 | 3VjBcpswEP0ajs7IYLA5xo6ddqZJM5NM2p46spFBjUBEiGDn6yuBAAswcRI709QHj/RYwe6+fVqEYc3CzSWDcXBFPUQME3gbw7owTHMydsW/BLYF4Dh2AfgMewU0rIFb/IwUCBSaYg8lmiGnlHAc6+CKRhFacQ2DjNFMN1tToj81hj5qAbcrSNroD+zxQIVlgxr/grAflE8eAnUlhKWxApIAejTbgay5Yc0YpbwYhZsZIjJ3ZV6KdYs9VyvHGIr4IQs4fuSRE82Be7E8X/y+/z6x3cFY+ca3ZcDIE/GrKWU8oD6NIJnX6JTRNPKQvCsQs4CHRAyHYvgHcb5VFMKUUwHVd/hGaazs1jTiM0ooy59oLfKfwBPO6EOVZpGgaTtGFXZCU7ZCPYEpOxnNzkKVmUtEQ8TZVhgwRCDHTzrbUBWNX9lVS28oFq6YQNW3WRaCKm/TAfotOGQ+4mpVzY4Y7LhRQzlnr+BPOfwESapCSMQTeZtVQoRiJHtZgDm6jWGevUxoVuewzcE+ttaYEA23xE/ZlwXUUaSlx4hxtOmlprzq6ikeWmqe1XocliILdrQ4AfvZ1HjoSfooA7Pr2fLanN14V/T66z3OsoF9TNGgDeY/JXxmq9mvV8rpRcpA/qvk1NDE2/RlfoicrPHHyslsyQkmDwJIE8Ty7iH/oWE6RKRruhQzx5ejmCY4D9sEURoupXGjQsTuH8uhyDUkBBHqMxjKlYhh4TVizWs39YWTadZ1LavAj63ZSWNbHHdodtSh2eb2+RbNdjJrt5i9Q5v2PsklqCWXoQQ/w2VuAHKqRe3l3tlTw74QiNRmUshULoAE+5EYE7SWt5JJw+J94lzBXOp2mggyceTf5SIejHooOwIb9sjSVWWbLTa6yDBPRYbTIgNF3v/cs5yu+v/QnjVupTwypAMODGU28/1MAKDNwunfBw9vYEo2AnXf3M4609NP5wCcOXYpmne2OMtstDhwWIs7Zwxud8zUPrT/OY0SHFmN48EL9qVfddEVHjRWl+7Q9TpB7+3JndRM+ivX/xyVe/paPfKrl22f7NVrf1QH0SzSuWiRzQIaLtPk0GbRubm0ydTbBQCum1v29+pWm+igee9WUxVyKcNJR+cAHZ1j2NxHjtY6huYxpfXvn3e6k/AxqnNO9/2gJyxNdjErPBTSe0ypfropkUqW0TKJq0R/5uPOu0TbPO7YzumOO2JafzMsyqD+8GrN/wI= -------------------------------------------------------------------------------- /website/docs/08-Loops/images/four_flow_chart_shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/08-Loops/images/four_flow_chart_shapes.png -------------------------------------------------------------------------------- /website/docs/08-Loops/images/four_flow_chart_shapes.xml: -------------------------------------------------------------------------------- 1 | xZZNj5swEIZ/DcdKBIc0HDdf20vVSlm1x8oLE7BqbGqGJtlf3zGYEOKs9kNN6wOy3zFj+31sQ8CW5eHe8Kr4rDOQQRRmh4Ctgiiaf0zoaYVjJ8xmcSfkRmSdNBmErXgCJ4ZObUQG9agjai1RVGMx1UpBiiONG6P34247LcejVjwHT9imXPrqd5Fh4ZYVh4P+CURe9CNPQhcped/ZCXXBM70/k9g6YEujNXa18rAEab3rfene2zwTPU3MgMLXvIDiF6qZWofJ6vFu8+Pbl3mcfHBZfnPZuAXXyA0GNteGnqAyN3s89pZQWnKfGot9IRC2FU9tZE/8SSuwlNSaULVGo3+ebKMFL3Za4VJLbdpMbNMWqwspRzqj4vpv3chXFtzPHgzC4UxyBtyDLgHNkbr00cTBcLuxb+4HtJOeV3GGde407nZTfso8GE4V5/kb/I88/4WqmsF/3WDbvEBAe6myVTKDSwlS54aX5FcFRtDEwFzGvg6Bm1FLEsY6/cbUTkfqJWyzW2FjHja6MdJGchRa1R4uoxuVgU0Yvsv/sc+2XPH5eU43QMDY/0Yw9W8ukPQFIACt+aZJsTHgsyh0+djU7z0Hr/H7glcYJkkY/h0Op++i4zCd+hzm//ICiz0MD3DwLyy04sheA7V44o9tB2tOpYXCdnbxIohXpPAGdd39ENgXuBS5orqEnU1lPRN06u6cjNryqwmnUPmDbaxoj9z0UMRTNj4UceTBmF6BEb0dBjWHP4U2dva7xdZ/AA== -------------------------------------------------------------------------------- /website/docs/09-Matricies-and-Arrays/09.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Matricies and Arrays 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Create NumPy arrays 7 | 8 | * Modify NumPy arrays 9 | 10 | * Index NumPy arrays 11 | 12 | * Run mathematical operations on NumPy arrays 13 | 14 | * Solve a system of linear equations using matrices 15 | 16 | 17 | -------------------------------------------------------------------------------- /website/docs/10-Symbolic-Math/10.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Symbolic Math 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Define Python variables as symbolic math variables 7 | 8 | * Define mathematical expressions and equations using symbolic math variables 9 | 10 | * Solve for symbolic math variables in terms of other symbolic math variables 11 | 12 | * Derive numerical solutions using symbolic math variable substitution 13 | 14 | * Solve linear and quadratic equations using symbolic math 15 | 16 | * Solve systems of equations using symbolic math 17 | 18 | 19 | -------------------------------------------------------------------------------- /website/docs/10-Symbolic-Math/10.07-Summary.md: -------------------------------------------------------------------------------- 1 | 2 | ## Summary 3 | 4 | 5 | In this chapter, you learned about symbolic math and how to complete symbolic math calculations with the SymPy package. Symbolic math treats variables as mathematical symbols rather than defining variables as defined numbers. 6 | 7 | You learned how to create symbolic math variables with SymPy's ```symbols()``` function. 8 | 9 | Symbolic math variables can be combined into symbolic math expressions and symbolic math equations. You learned how to substitute variables and numbers into symbolic math expressions and equations. 10 | 11 | At the end of the chapter, you learned how to solve linear and quadratic equations with SymPy. 12 | 13 | The final example in the chapter was a multi-variable statics problem where two variables were solved for two unknowns. 14 | ### Key Terms and Concepts 15 | symbolic math 16 | 17 | symbolic variable 18 | 19 | object 20 | 21 | numerical calculation 22 | 23 | systems of equations 24 | 25 | expression 26 | 27 | equation 28 | 29 | substitution 30 | 31 | evaluate 32 | 33 | linear equation 34 | 35 | quadratic equation 36 | 37 | 38 | -------------------------------------------------------------------------------- /website/docs/10-Symbolic-Math/10.08-Review-Questions.md: -------------------------------------------------------------------------------- 1 | 2 | ## Review Questions 3 | #### Solving Equations 4 | Q10.20 Use SymPy to solve for $x$ if $ x - 4 = 2$ 5 | 6 | Q10.02 Use SympPy to solve for the roots of the quadratic equation $2x^2 - 4x + 1.5 = 0$ 7 | 8 | Q10.03 Use SymPy to solve the system of linear equations below for the varaibles $x$ and $y$: 9 | 10 | $$ -3x - 2y + 7 = 0 $$ 11 | 12 | $$ 5x - 3y - 6 = 0 $$ 13 | 14 | Q10.04 Use SymPy to solve the system of non-linear equations below for the variables $x$ and $y$: 15 | 16 | $$ 3x^2 + 2y^3 = -\frac{17}{4} $$ 17 | 18 | $$ \frac{-x^3}{2} - 8y^2 + \frac{127}{2} = 0 $$ 19 | 20 | 21 | -------------------------------------------------------------------------------- /website/docs/10-Symbolic-Math/images/statics_problem_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/10-Symbolic-Math/images/statics_problem_diagram.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/11.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Python and External Hardware 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Connect external hardware to a computer running Python 7 | 8 | * Install the PySerial library 9 | 10 | * Read data over a serial connection using Python 11 | 12 | * Save data coming in over a serial connection using Python 13 | 14 | * Write data to a serial line using Python 15 | 16 | * Read data from a sensor using Python 17 | 18 | * Control an LED using Python 19 | 20 | 21 | -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/11.06-Project-Ideas.md: -------------------------------------------------------------------------------- 1 | 2 | ## Project Ideas 3 | P11.01 Use Python and PySerial measure light levels using a photoresistor connected to an Arduino. 4 | 5 | P11.02 Use Python and PySerial to control a relay connected to an Arduino 6 | 7 | P11.03 Use Python and PySerial to read a pH sensor connected to an Arduino 8 | 9 | P11.04 Use Python and PySerial to read a photosensor connected to an Arduino and turn on and off an LED based on light level. 10 | 11 | 12 | P11.05 Use Python and PySerial to read a temperature connected to an Arduino and send temperature measurements up to an IoT cloud server, like io.adafruit.com using the Requests package. 13 | 14 | P11.06 Use Python and PySerial to turn on and off an LED connected to an Arduino based on values stored on an IoT cloud server, like io.adafruit.com, using the Requests package. 15 | 16 | 17 | -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/Arduino_LED_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/Arduino_LED_fritzing.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/Arrow_to_Upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/Arrow_to_Upload.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/Check_to_Verify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/Check_to_Verify.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/Examples_Com_PhysicalPixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/Examples_Com_PhysicalPixel.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/SerialMonitor_H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/SerialMonitor_H.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/Tools_SerialMonitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/Tools_SerialMonitor.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/Tools_SerialPlotter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/Tools_SerialPlotter.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/arduino_LED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/arduino_LED.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/arduino_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/arduino_download_page.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/arduino_led.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/arduino_led.fzz -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/arduino_potentiometer.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/arduino_potentiometer.fzz -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/download_Arduino_IDE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/download_Arduino_IDE.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/file-examples-communication-physicalpixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/file-examples-communication-physicalpixel.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/matplotlib_potentiometer_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/matplotlib_potentiometer_plot.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/redboard_LED.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/redboard_LED.fzz -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/redboard_LED_bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/redboard_LED_bb.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/redboard_LED_potentiometer.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/redboard_LED_potentiometer.fzz -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/redboard_pot_led_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/redboard_pot_led_fritzing.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/serial_monitor_L.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/serial_monitor_L.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/serial_monitor_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/serial_monitor_output.png -------------------------------------------------------------------------------- /website/docs/11-Python-and-External-Hardware/images/serial_plotter_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/11-Python-and-External-Hardware/images/serial_plotter_output.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/12.00-Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # MicroPython 3 | ## Introduction 4 | By the end of this chapter you will be able to: 5 | 6 | * Install MicroPython on a microcontroller 7 | 8 | * Run Python commands on a microcontroller using the MicroPython REPL 9 | 10 | * Save module files and run Python scripts on a microcontroller 11 | 12 | * Use MicroPython to read data off a sensor 13 | 14 | * Use MicroPython to switch on and off a light 15 | 16 | 17 | -------------------------------------------------------------------------------- /website/docs/12-MicroPython/12.08-Project-Ideas.md: -------------------------------------------------------------------------------- 1 | 2 | ## Project Ideas 3 | P12.01 Use MicroPython and a microcontroller to read a potentiometer and print the results to the screen of a computer. 4 | 5 | P12.02 Use MicroPython, a microcontroller, and a light sensor to measure light level. Light up different numbers of LED's based on the measured light level. 6 | 7 | P12.03 Use MicroPython and a microcontroller to read a potentiometer and print the results to the screen of a computer. 8 | 9 | P12.04 Use MicroPython to turn on and off an LED based on a value stored on an IoT cloud server, like io.adafruit.com. 10 | 11 | P12.05 Use MicorPython and a temperature sensor connected to a microcontroller to measure the temperature and send the temperature to a computer running Python and PySerial. Use Matplotlib on the computer to plot the temperature. 12 | 13 | P12.06 Use MicroPython and uRequests package to send temperature sensor measurements up to an IoT cloud server, like io.adafruit.com. 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/Anaconda_Prompt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/Anaconda_Prompt.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/Anaconda_choose_python_version.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/Anaconda_choose_python_version.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/Anaconda_downloads_page.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/Anaconda_downloads_page.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/MicroPython_in_jupyter_notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/MicroPython_in_jupyter_notebook.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/REPL_prompt.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/REPL_prompt.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/active_new_conda_env.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/active_new_conda_env.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/bin_file_to_new_directory.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/bin_file_to_new_directory.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/bin_in_dir.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/bin_in_dir.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/conda_activate.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/conda_activate.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/conda_create_new_virtualenv.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/conda_create_new_virtualenv.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/conda_install_mpy-repl-tool.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/conda_install_mpy-repl-tool.jpg -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/conda_list.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/conda_list.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/conda_there-jupyter-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/conda_there-jupyter-setup.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/device_manager_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/device_manager_menu.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/download_putty.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/download_putty.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/download_silabs_driver.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/download_silabs_driver.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/downloads_folder.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/downloads_folder.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/esptool_erase_flash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/esptool_erase_flash.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/esptool_help.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/esptool_help.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/esptool_write_flash.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/esptool_write_flash.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/feather_huzzah_temp_sensor_fritzing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/feather_huzzah_temp_sensor_fritzing.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/find_device_manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/find_device_manager.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/firmware_download_page.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/firmware_download_page.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/import_port_diag.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/import_port_diag.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/micropython_modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/micropython_modules.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/mkdir_micropython.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/mkdir_micropython.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/pip_install_esptool.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/pip_install_esptool.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/putty_config.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/putty_config.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/putty_in_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/putty_in_start_menu.png -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/sys_dot_implementation_and_platform.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/sys_dot_implementation_and_platform.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/sys_dot_platform.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/sys_dot_platform.PNG -------------------------------------------------------------------------------- /website/docs/12-MicroPython/images/there.jupyter-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/12-MicroPython/images/there.jupyter-setup.png -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.00-Appendix.md: -------------------------------------------------------------------------------- 1 | 2 | # Appendix 3 | ## Contents 4 | The following is detailed in the appendix: 5 | 6 | * Reserved and Key Words in Python 7 | 8 | * ASCII Character Codes 9 | 10 | * Virtual Environments 11 | 12 | * NumPy Math Functions 13 | 14 | * Git and GitHub 15 | 16 | * LaTeX Math 17 | 18 | * Problem Solving with Python Book Construction 19 | 20 | * Contributions 21 | 22 | * Cover Artwork 23 | 24 | * About the author 25 | 26 | 27 | -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.01-Reserved-and-Key-Words-in-Python.md: -------------------------------------------------------------------------------- 1 | 2 | ## Reserved and Keywords in Python 3 | The following are reserved and keywords in Python. These words should not be used as the names for user-defined functions, classes, methods or modules. The keywords can be accessed with the following code: 4 | ```python 5 | import keyword 6 | print(f'There are {len(keyword.kwlist)} key words') 7 | for keywrd in keyword.kwlist: 8 | print(keywrd) 9 | ``` 10 | 11 | ```text 12 | There are 33 key words 13 | False 14 | None 15 | True 16 | and 17 | as 18 | ... 19 | 20 | ``` 21 | ### Logical Keywords 22 | ```text 23 | True 24 | False 25 | not 26 | and 27 | or 28 | is 29 | None 30 | in 31 | ``` 32 | ### Control Flow Key Words 33 | ```text 34 | if 35 | else 36 | elif 37 | for 38 | while 39 | break 40 | continue 41 | pass 42 | try 43 | except 44 | finally 45 | raise 46 | return 47 | yield 48 | ``` 49 | ### Definition Key Words 50 | ```text 51 | def 52 | global 53 | nonlocal 54 | class 55 | lambda 56 | with 57 | assert 58 | del 59 | ``` 60 | ### Module Keywords 61 | ```text 62 | import 63 | from 64 | as 65 | with 66 | ``` 67 | 68 | 69 | -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.04-NumPy-Math-Functions.md: -------------------------------------------------------------------------------- 1 | 2 | ## NumPy Math Functions 3 | The code below prints out all NumPy functions and methods: 4 | 5 | ```python 6 | import numpy as np 7 | for func in dir(np): 8 | print(func) 9 | ``` 10 | ### NumPy Array Creation and Manipulation Functions and Methods 11 | ``` 12 | np.array 13 | np.arange 14 | np.ndarray 15 | np.zeros 16 | np.ones 17 | np.matrix 18 | np.traspose 19 | np.size 20 | np.shape 21 | np.reshape 22 | np.meshgrid 23 | np.dot 24 | np.cross 25 | np.asmatrix 26 | np.asarray 27 | ``` 28 | ### NumPy Exponential and Logarithmic Functions and Methods 29 | ``` 30 | np.log 31 | np.log10 32 | np.log1p 33 | np.log2 34 | np.logaddexp 35 | np.logaddexp2 36 | np.exp 37 | np.exp2 38 | np.sqrt 39 | np.power 40 | np.e 41 | ``` 42 | ### NumPy Trigonometric Functions and Methods 43 | ``` 44 | np.pi 45 | np.sin 46 | np.cos 47 | np.tan 48 | np.arcsin 49 | np.arccos 50 | np.arctan 51 | np.arcsinh 52 | np.arccosh 53 | np.arctanh 54 | np.arctan2 55 | np.radians 56 | np.rad2deg 57 | np.deg2rad 58 | np.radians 59 | np.sinc 60 | np.sinh 61 | np.tanh 62 | np.angle 63 | ``` 64 | ### NumPy Statistics Functions and Methods 65 | ``` 66 | np.mean 67 | np.average 68 | np.median 69 | np.std 70 | np.var 71 | np.correlate 72 | np.histogram 73 | np.amin 74 | np.amax 75 | np.ptp 76 | np.percentile 77 | ``` 78 | 79 | 80 | -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.06-LaTeX-Math.md: -------------------------------------------------------------------------------- 1 | 2 | ## LaTeX Math 3 | LaTeX math can be included in Jupyter notebook markdown cells. LaTeX math can also be included in parts of Matplotlib plots like axis labels and text fields. 4 | 5 | Inline LaTeX math commands need to be enclosed by the dollar signs. 6 | 7 | ```text 8 | the angle is $2\pi$ radians 9 | ``` 10 | 11 | The markup above is rendered as: 12 | 13 | angle is $2\pi$ radians 14 | 15 | A table of useful LaTeX commands and the associated output is below. Note curly braces ```{ }``` are used to surround LaTeX math elements and a backslash ``` \ ``` is used before LaTeX commands. 16 | 17 | 18 | | LaTex Command | Output | 19 | | --- | --- | 20 | | ```2^{3}``` | $2^{3}$ | 21 | | ```H_{2}``` | $H_{2}$ | 22 | | ```\frac{3}{4}``` | $\frac{3}{4}$ | 23 | | ```\pi``` | $\pi$ | 24 | | ```\Delta``` | $\Delta$ | 25 | | ```\epsilon``` | $\epsilon$ | 26 | | ```\sigma``` | $\sigma$ | 27 | | ```2 \times 3``` | $2 \times 3$ | 28 | | ```\int_{a}^{b} x^2 dx ``` | $\int_{a}^{b} x^2 dx$ | 29 | | ```\sum``` | $\sum$ | 30 | | ```\vec{F}``` | $\vec{F}$ | 31 | | ```\hat{k}``` | $\hat{k}$ | 32 | | ```\bar{x}``` | $\bar{x}$ | 33 | | ```15 \%``` | $15 \%$ | 34 | 35 | 36 | -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.08-Contributions.md: -------------------------------------------------------------------------------- 1 | 2 | ## Contributions 3 | Any corrections, typos or suggestions to improve the text can be emailed to: 4 | 5 | > [errata@problemsolvingwithpython.com](errata@problemsolvingwithpython.com) 6 | 7 | Please include the chapter number and section number in your email. Include in your email if you would like to remain anonymous or have your name recognized in the contributor list. Thank-you in advance for improving the text for others. 8 | ### Contributor List 9 | 10 | * Levi, Blessing, and Ngan helped improve some review questions 11 | 12 | 13 | -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.09-Cover-Artwork.md: -------------------------------------------------------------------------------- 1 | 2 | ## Cover Artwork 3 | Mike Schultz is a printmaker and illustrator who has taught art to Burmese migrant youth on the Thailand-Burma border. He currently lives and works in Portland, Oregon with his cat, Siam. 4 | 5 | Instagram: [```@mike_schultz_studio```](https://www.instagram.com/mike_schultz_studio/) 6 | 7 | Website: [mikeschultzstudio.com](http://mikeschultzstudio.squarespace.com/) 8 | 9 | 10 | -------------------------------------------------------------------------------- /website/docs/99-Appendix/99.10-About-the-Author.md: -------------------------------------------------------------------------------- 1 | 2 | ## About the Author 3 | Peter D. Kazarinoff, PhD is a full-time faculty member in Engineering and Engineering Technology at Portland Community College in Portland, Oregon. Peter earned a PhD in Materials Science and Engineering from the University of Washington and a BA from Cornell University. He teaches courses in Engineering Programming, Materials Science, Manufacturing and others at Portland Community College. 4 | 5 | He blogs at: [pythonforundergradengineers.com](https://pythonforundergradengineers.com/) 6 | 7 | Peter lives in beautiful Portland, Oregon with his wife and two kids. 8 | 9 | 10 | -------------------------------------------------------------------------------- /website/docs/figures/anaconda_download_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProfessorKazarinoff/Problem-Solving-with-Python/f093bae0a573269584b62ac16f8328d5b6bc489b/website/docs/figures/anaconda_download_page.png -------------------------------------------------------------------------------- /website/docs/index.md: -------------------------------------------------------------------------------- 1 | 2 | ------ 3 | 4 | # Problem Solving with Python 5 | 6 | If you like this book, please consider purchasing a hard copy version on [amazon.com](https://www.amazon.com/Problem-Solving-Python-3-6-open-source/dp/179381404X/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1548304582&sr=8-3). 7 | 8 | ## Overview 9 | 10 | * You will find the book chapters on the left hand menu 11 | * You will find navigation within a section of a chapter (one webpage) on the righthand menu 12 | * Full documentation on how to build this site locally are on GitHub at github.com/professorkazarinoff/Problem-Solving-with-Python/website 13 | 14 | ## Copywrite 15 | 16 | Copyright © 2018 - 2019 Peter D. Kazarinoff 17 | -------------------------------------------------------------------------------- /website/mkdocs_config.yml: -------------------------------------------------------------------------------- 1 | # mkdocs.yml 2 | 3 | site_name: 'Problem Solving with Python' 4 | site_description: 'Website companion for the book Problem Solving with Python by Peter D. Kazarinoff' 5 | site_author: 'Peter D. Kazarinoff' 6 | repo_url: 'https://github.com/professorkazarinoff/Problem-Solving-with-Python/' 7 | 8 | # Configuration 9 | theme: 10 | name: 'material' 11 | language: 'en' 12 | palette: 13 | primary: 'cyan' 14 | accent: 'indigo' 15 | font: 16 | text: 'Roboto' 17 | code: 'Roboto Mono' 18 | 19 | # Markdown Extensions 20 | markdown_extensions: 21 | - admonition 22 | - footnotes 23 | - pymdownx.arithmatex 24 | 25 | # Javascript for MathJax 26 | extra_javascript: 27 | - 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML' 28 | 29 | # Extra css 30 | extra_css: 31 | - 'stylesheets/extra.css' 32 | 33 | # Theme Customization 34 | extra: 35 | social: 36 | - type: 'globe' 37 | link: 'https://pcc.edu' 38 | - type: 'github' 39 | link: 'https://github.com/professorkazarinoff' 40 | - type: 'twitter' 41 | link: 'https://twitter.com/pkazarinoff' 42 | 43 | # Copyright 44 | copyright: 'Copyright © 2017 - 2018 Peter D. Kazarinoff' 45 | 46 | --------------------------------------------------------------------------------