FSRI: Introduction to Programming Bootcamp ========================================== This bootcamp provides an intensive, hands-on, pragmatic introduction to computer programming. Many of the examples are aimed at biologists and bioengineers, but scientists and engineers of all disciplines will learn useful programming skills. No previous programming experience is assumed. Python is the language of instruction. Students will learn basic concepts such as data types, control structures, string processing, functions, input/output, etc., while writing code applied to scientific problems. At the end of the course, students will be able to write code and analyze and plot data. For timing of the live-via-Zoom offering of the bootcamp, see the :ref:`schedule`. Enrollees will be emailed a Zoom link. People ------ - Instructor + `Justin Bois `_ (`bois at caltech dot edu`) - TAs + Victoria Chen (`vcchen at caltech dot edu`), office hours: 6-8 pm Wednesdays + Jessica Sun (`jsun2 at caltech dot edu`), office hours: 6-8 pm Mondays Git repository -------------- Files you will need to complete the bootcamp can be found in `this repository on GitHub `_. Instructions for forking and cloning the repository are found in :ref:`Lesson 0`. .. toctree:: :maxdepth: 1 :caption: Lessons lessons/l00_configuring_your_computer.ipynb lessons/l01_welcome.ipynb lessons/l02_basic_command_line_skills.ipynb lessons/l03_variables_operators_types.ipynb lessons/l04_more_operators_and_conditionals.ipynb lessons/l05_lists_and_tuples.ipynb lessons/l06_iteration.ipynb lessons/l07_intro_to_functions.ipynb lessons/l08_string_methods.ipynb lessons/l09_dictionaries.ipynb lessons/l10_packages_and_modules.ipynb lessons/l11_file_io.ipynb lessons/l12_style.ipynb lessons/l13_intro_to_pandas.ipynb lessons/l14_split_apply_combine.ipynb lessons/l15_plotting.ipynb lessons/l16_high_level_plotting.ipynb lessons/l17_intro_to_numpy_and_scipy.ipynb lessons/l18_plotting_time_series_generated_data.ipynb lessons/l19_version_control_with_git.ipynb lessons/l20_exceptions_and_error_handling.ipynb lessons/l21_testing_and_tdd.ipynb lessons/l22_examples_of_tdd.ipynb lessons/l23_holoviews.ipynb lessons/l24_dashboards.ipynb lessons/l25_other_packages_and_languages.ipynb lessons/l26_bootcamp_recap.ipynb .. toctree:: :maxdepth: 1 :caption: Exercises exercises/exercise_1/index.rst exercises/exercise_2/index.rst exercises/exercise_3/index.rst exercises/exercise_4/index.rst exercises/exercise_5/index.rst exercises/exercise_6/index.rst exercises/exercise_7/index.rst exercises/exercise_8/index.rst exercises/exercise_9/index.rst exercises/exercise_10/index.rst exercises/exercise_11/index.rst .. toctree:: :maxdepth: 1 :caption: Exercise solutions exercise_solutions/exercise_1/index.rst exercise_solutions/exercise_2/index.rst exercise_solutions/exercise_3/index.rst exercise_solutions/exercise_4/index.rst exercise_solutions/exercise_5/index.rst exercise_solutions/exercise_6/index.rst exercise_solutions/exercise_7/index.rst exercise_solutions/exercise_8/index.rst exercise_solutions/exercise_9/index.rst exercise_solutions/exercise_10/index.rst exercise_solutions/exercise_11/index.rst .. toctree:: :maxdepth: 1 :caption: Schedule schedule.rst .. toctree:: :maxdepth: 1 :caption: Resources resources.rst