{"id":30950741,"url":"https://github.com/christopherandrewtopalian/catopalian_python_computer_science","last_synced_at":"2025-09-11T05:18:36.108Z","repository":{"id":313412613,"uuid":"1051322528","full_name":"ChristopherAndrewTopalian/CATopalian_Python_Computer_Science","owner":"ChristopherAndrewTopalian","description":"A Python tutorial series that teaches pure functional programming with a data driven object oriented style.","archived":false,"fork":false,"pushed_at":"2025-09-05T20:38:54.000Z","size":1028,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-05T22:24:35.455Z","etag":null,"topics":["computer-science","py","python","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChristopherAndrewTopalian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-05T19:42:20.000Z","updated_at":"2025-09-05T20:38:57.000Z","dependencies_parsed_at":"2025-09-05T22:24:36.706Z","dependency_job_id":"e6a5e83c-ebf7-482f-bc16-ec0ef2be1383","html_url":"https://github.com/ChristopherAndrewTopalian/CATopalian_Python_Computer_Science","commit_stats":null,"previous_names":["christopherandrewtopalian/catopalian_python_computer_science"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ChristopherAndrewTopalian/CATopalian_Python_Computer_Science","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherAndrewTopalian%2FCATopalian_Python_Computer_Science","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherAndrewTopalian%2FCATopalian_Python_Computer_Science/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherAndrewTopalian%2FCATopalian_Python_Computer_Science/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherAndrewTopalian%2FCATopalian_Python_Computer_Science/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChristopherAndrewTopalian","download_url":"https://codeload.github.com/ChristopherAndrewTopalian/CATopalian_Python_Computer_Science/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristopherAndrewTopalian%2FCATopalian_Python_Computer_Science/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274580780,"owners_count":25311237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-science","py","python","tutorial"],"created_at":"2025-09-11T05:18:31.068Z","updated_at":"2025-09-11T05:18:36.097Z","avatar_url":"https://github.com/ChristopherAndrewTopalian.png","language":"Python","readme":"# CATopalian Python Computer Science\nA Python tutorial series that teaches pure functional programming with a data driven object oriented style.\n\n---\n\n![py001](src/media/textures/bg/py001.png)\n\n---\n\n# Project File Index\n\n- [001_print.py](src/py/001_print/001_print.py)\n\n- [002_print_with_line_break.py](src/py/001_print/002_print_with_line_break.py)\n\n- [003_print_with_multiple_line_breaks.py](src/py/001_print/003_print_with_multiple_line_breaks.py)\n\n- [004_print_string_variable.py](src/py/001_print/004_print_string_variable.py)\n\n- [005_print_integer_variable.py](src/py/001_print/005_print_integer_variable.py)\n\n- [006_print_float_variable.py](src/py/001_print/006_print_float_variable.py)\n\n- [007_print_dictionary_variable.py](src/py/001_print/007_print_dictionary_variable.py)\n\n- [008_print_list_of_dictionaries.py](src/py/001_print/008_print_list_of_dictionaries.py)\n\n- [009_print_list.py](src/py/001_print/009_print_list.py)\n\n- [010_repeat_print.py](src/py/001_print/010_repeat_print.py)\n\n- [001_sleep_print.py](src/py/002_sleep/001_sleep_print.py)\n\n- [002_sleep_print_if_else.py](src/py/002_sleep/002_sleep_print_if_else.py)\n\n- [003_sleep_input_while.py](src/py/002_sleep/003_sleep_input_while.py)\n\n- [004_sleep_while_not_loop.py](src/py/002_sleep/004_sleep_while_not_loop.py)\n\n- [001_for_in_loop.py](src/py/003_for/001_for_in_loop.py)\n\n- [002_for_in_range.py](src/py/003_for/002_for_in_range.py)\n\n- [003_for_append_letters.py](src/py/003_for/003_for_append_letters.py)\n\n- [004_for_in_range_len.py](src/py/003_for/004_for_in_range_len.py)\n\n- [005_for_in_range_start_stop_step_reverse.py](src/py/003_for/005_for_in_range_start_stop_step_reverse.py)\n\n- [006_for_in_range_start_stop_step.py](src/py/003_for/006_for_in_range_start_stop_step.py)\n\n- [007_for_in_range_start_stop.py](src/py/003_for/007_for_in_range_start_stop.py)\n\n- [008_for_in_letters.py](src/py/003_for/008_for_in_letters.py)\n\n- [list_length.py](src/py/004_list/list_length.py)\n\n- [list_show_chosen_entry.py](src/py/004_list/list_show_chosen_entry.py)\n\n- [list_show_first_entry.py](src/py/004_list/list_show_first_entry.py)\n\n- [001_list_count.py](src/py/004_list/001_count/001_list_count.py)\n\n- [002_list_count.py](src/py/004_list/001_count/002_list_count.py)\n\n- [003_list_count_variable.py](src/py/004_list/001_count/003_list_count_variable.py)\n\n- [004_list_count_if_else.py](src/py/004_list/001_count/004_list_count_if_else.py)\n\n- [005_list_of_dictionaries_len.py](src/py/004_list/001_count/005_list_of_dictionaries_len.py)\n\n- [001_sort_list.py](src/py/004_list/002_sort/001_sort_list.py)\n\n- [002_reverse_list.py](src/py/004_list/002_sort/002_reverse_list.py)\n\n- [003_sort_list_append.py](src/py/004_list/002_sort/003_sort_list_append.py)\n\n- [004_reverse_list_append.py](src/py/004_list/002_sort/004_reverse_list_append.py)\n\n- [001_list_of_dictionaries_append_last.py](src/py/004_list/003_add/001_list_of_dictionaries_append_last.py)\n\n- [002_list_of_dictionaries_append_last.py](src/py/004_list/003_add/002_list_of_dictionaries_append_last.py)\n\n- [003_list_of_dictionaries_insert_first.py](src/py/004_list/003_add/003_list_of_dictionaries_insert_first.py)\n\n- [004_list_of_dictionaries_insert_input_object.py](src/py/004_list/003_add/004_list_of_dictionaries_insert_input_object.py)\n\n- [001_list_of_dictionaries_pop_last.py](src/py/004_list/004_remove/001_list_of_dictionaries_pop_last.py)\n\n- [002_list_of_dictionaries_pop_first.py](src/py/004_list/004_remove/002_list_of_dictionaries_pop_first.py)\n\n- [003_list_of_dictionaries_remove_by_name.py](src/py/004_list/004_remove/003_list_of_dictionaries_remove_by_name.py)\n\n- [001_find_item_in_list.py](src/py/004_list/005_find/001_find_item_in_list.py)\n\n- [001_getcwd.py](src/py/005_info/001_getcwd.py)\n\n- [002_getcwd_variable.py](src/py/005_info/002_getcwd_variable.py)\n\n- [003_getuser.py](src/py/005_info/003_getuser.py)\n\n- [004_get_os_name.py](src/py/005_info/004_get_os_name.py)\n\n- [005_get_os_name_if_elif_else.py](src/py/005_info/005_get_os_name_if_elif_else.py)\n\n- [006_get_bytes.py](src/py/005_info/006_get_bytes.py)\n\n- [007_get_last_modified_time.py](src/py/005_info/007_get_last_modified_time.py)\n\n- [008_get_stats.py](src/py/005_info/008_get_stats.py)\n\n- [009_list_dir.py](src/py/005_info/009_list_dir.py)\n\n- [001_count_letters_a.py](src/py/006_string/001_count_letters_a.py)\n\n- [001_count_letters_b.py](src/py/006_string/001_count_letters_b.py)\n\n- [002_count_letters_variable.py](src/py/006_string/002_count_letters_variable.py)\n\n- [002_input_username.py](src/py/006_string/002_input_username.py)\n\n- [002_input_username_b.py](src/py/006_string/002_input_username_b.py)\n\n- [003_reverse_string.py](src/py/006_string/003_reverse_string.py)\n\n- [004_username_if_else.py](src/py/006_string/004_username_if_else.py)\n\n- [005_split_words.py](src/py/006_string/005_split_words.py)\n\n- [006_slice_start_stop.py](src/py/006_string/006_slice_start_stop.py)\n\n- [007_slice_start_stop_step_reverse.py](src/py/006_string/007_slice_start_stop_step_reverse.py)\n\n- [001_open_webpage_in_browser.py](src/py/007_browser/001_open_webpage_in_browser.py)\n\n- [002_open_webpage_input.py](src/py/007_browser/002_open_webpage_input.py)\n\n- [003_open_webpage_input_validation.py](src/py/007_browser/003_open_webpage_input_validation.py)\n\n- [004_open_webpage_input_validation_error_handling.py](src/py/007_browser/004_open_webpage_input_validation_error_handling.py)\n\n- [001_write_custom_HTML.py](src/py/008_make_html_file/001_write_custom_HTML.py)\n\n- [002_write_custom_HTML_PY_Date.py](src/py/008_make_html_file/002_write_custom_HTML_PY_Date.py)\n\n- [001_make_new_folder_specified_path.py](src/py/009_folder/001_make_new_folder_specified_path.py)\n\n- [002_make_new_folder_username_concatenation.py](src/py/009_folder/002_make_new_folder_username_concatenation.py)\n\n- [003_make_new_folder_format_string.py](src/py/009_folder/003_make_new_folder_format_string.py)\n\n- [001_prompt.py](src/py/010_utility/001_prompt.py)\n\n- [eval.py](src/py/010_utility/eval.py)\n\n- [get_keyword_list.py](src/py/010_utility/get_keyword_list.py)\n\n- [calendar_by_year_month.py](src/py/011_calendar/calendar_by_year_month.py)\n\n- [calendar_of_current_year_month.py](src/py/011_calendar/calendar_of_current_year_month.py)\n\n- [calendar_specified_year_month.py](src/py/011_calendar/calendar_specified_year_month.py)\n\n- [clock.py](src/py/012_datetime/clock.py)\n\n- [date_time_ctime_24.py](src/py/012_datetime/date_time_ctime_24.py)\n\n- [randomFloat0to1.py](src/py/013_random/randomFloat0to1.py)\n\n- [random_float_0_to_1.py](src/py/013_random/random_float_0_to_1.py)\n\n- [random_integer_0_to_10.py](src/py/013_random/random_integer_0_to_10.py)\n\n- [convert_float_to_integer.py](src/py/014_convert/convert_float_to_integer.py)\n\n- [round_down_floor.py](src/py/014_convert/round_down_floor.py)\n\n- [round_up_ceil.py](src/py/014_convert/round_up_ceil.py)\n\n- [round.py](src/py/014_convert/round.py)\n\n- [desktop_list_files.py](src/py/015_desktop/desktop_list_files/desktop_list_files.py)\n\n- [desktop_path.py](src/py/015_desktop/desktop_path/desktop_path.py)\n\n- [listdir.py](src/py/016_dir/listdir.py)\n\n- [listdir_endswith.py](src/py/016_dir/listdir_endswith.py)\n\n- [list_all_files_in_all_folders.py](src/py/016_dir/list_all_files_in_all_folders.py)\n\n- [list_all_files_paths_in_all_folders.py](src/py/016_dir/list_all_files_paths_in_all_folders.py)\n\n- [list_all_files_relative_paths_in_all_folders.py](src/py/016_dir/list_all_files_relative_paths_in_all_folders.py)\n\n- [list_image_file_names_all_folders_list.py](src/py/016_dir/list_image_file_names_all_folders_list.py)\n\n- [list_py_file_names_all_folders.py](src/py/016_dir/list_py_file_names_all_folders.py)\n\n- [list_py_file_names_all_folders_list.py](src/py/016_dir/list_py_file_names_all_folders_list.py)\n\n- [list_py_file_paths_all_folders.py](src/py/016_dir/list_py_file_paths_all_folders.py)\n\n- [make_folder_if_not_already_made.py](src/py/016_dir/make_folder_if_not_already_made.py)\n\n- [startfile.py](src/py/017_startfile/startfile.py)\n\n- [make_text_file_if_not_already_made.py](src/py/018_text/make_text_file_if_not_already_made.py)\n\n- [is_prime.py](src/py/019_math/is_prime.py)\n\n- [take_screenshot.py](src/py/020_PIL/screenshot/take_screenshot.py)\n\n- [take_screenshot_every_10s_autoname.py](src/py/020_PIL/screenshot/take_screenshot_every_10s_autoname.py)\n\n- [take_screenshot_every_10s_to_folder.py](src/py/020_PIL/screenshot/take_screenshot_every_10s_to_folder.py)\n\n- [take_screenshot_name_image.py](src/py/020_PIL/screenshot/take_screenshot_name_image.py)\n\n- [take_screenshot_name_image_png.py](src/py/020_PIL/screenshot/take_screenshot_name_image_png.py)\n\n- [001_and.py](src/py/021_py_logic_gates/py_logic_gates_console/001_and.py)\n\n- [001_and.py](src/py/021_py_logic_gates/py_logic_gates_functions/001_and.py)\n\n- [002_nand.py](src/py/021_py_logic_gates/py_logic_gates_functions/002_nand.py)\n\n- [003_or.py](src/py/021_py_logic_gates/py_logic_gates_functions/003_or.py)\n\n- [004_nor.py](src/py/021_py_logic_gates/py_logic_gates_functions/004_nor.py)\n\n- [005_xor.py](src/py/021_py_logic_gates/py_logic_gates_functions/005_xor.py)\n\n- [006_xnor.py](src/py/021_py_logic_gates/py_logic_gates_functions/006_xnor.py)\n\n- [007_converse_implication.py](src/py/021_py_logic_gates/py_logic_gates_functions/007_converse_implication.py)\n\n- [008_converse_non_implication.py](src/py/021_py_logic_gates/py_logic_gates_functions/008_converse_non_implication.py)\n\n- [009_material_implication.py](src/py/021_py_logic_gates/py_logic_gates_functions/009_material_implication.py)\n\n- [010_material_non_implication.py](src/py/021_py_logic_gates/py_logic_gates_functions/010_material_non_implication.py)\n\n- [011_right_projection.py](src/py/021_py_logic_gates/py_logic_gates_functions/011_right_projection.py)\n\n- [012_right_complementation.py](src/py/021_py_logic_gates/py_logic_gates_functions/012_right_complementation.py)\n\n- [013_left_projection.py](src/py/021_py_logic_gates/py_logic_gates_functions/013_left_projection.py)\n\n- [014_left_complementation.py](src/py/021_py_logic_gates/py_logic_gates_functions/014_left_complementation.py)\n\n- [015_contradiction.py](src/py/021_py_logic_gates/py_logic_gates_functions/015_contradiction.py)\n\n- [016_tautology.py](src/py/021_py_logic_gates/py_logic_gates_functions/016_tautology.py)\n\n- [001_and.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/001_and.py)\n\n- [002_nand.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/002_nand.py)\n\n- [003_or.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/003_or.py)\n\n- [004_nor.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/004_nor.py)\n\n- [005_xor.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/005_xor.py)\n\n- [006_xnor.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/006_xnor.py)\n\n- [007_converse_implication.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/007_converse_implication.py)\n\n- [008_converse_non_implication.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/008_converse_non_implication.py)\n\n- [009_material_implication.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/009_material_implication.py)\n\n- [010_material_non_implication.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/010_material_non_implication.py)\n\n- [011_right_projection.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/011_right_projection.py)\n\n- [012_right_complementation.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/012_right_complementation.py)\n\n- [013_left_projection.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/013_left_projection.py)\n\n- [014_left_complementation.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/014_left_complementation.py)\n\n- [015_contradiction.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/015_contradiction.py)\n\n- [016_tautology.py](src/py/021_py_logic_gates/py_logic_gates_MessageBoxW/016_tautology.py)\n\n- [001_and.py](src/py/021_py_logic_gates/py_logic_gates_pyside6/001_and.py)\n\n---\n\n//----//\n\n// Dedicated to God the Father  \n// All Rights Reserved Christopher Andrew Topalian Copyright 2000-2025  \n// https://github.com/ChristopherTopalian  \n// https://github.com/ChristopherAndrewTopalian  \n// https://sites.google.com/view/CollegeOfScripting\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristopherandrewtopalian%2Fcatopalian_python_computer_science","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristopherandrewtopalian%2Fcatopalian_python_computer_science","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristopherandrewtopalian%2Fcatopalian_python_computer_science/lists"}