Generated Topic Graph

cluster_project_xxx I2S Audio for a Kontron SMARC Module cluster_python Python Programming: From Absolute Beginner to Advanced Productivity cluster_python_exercises Exercises cluster_python_exercises_csv CSV and Databases cluster_python_exercises_legacy Exercises (Legacy) cluster_python_exercises_herdt Exercises (External) cluster_python_db Databases cluster_python_misc Python: Miscellaneous Topics cluster_python_misc_ai Machine Learning, Artificial Intelligence cluster_python_advanced Python: More Language Features cluster_python_advanced_threading Multithreading cluster_python_basics Python: The Language Fundamentals cluster_python_swdev Python: Project/Package Management cluster_kernel Linux Driver Development cluster_c The C Programming Language cluster_c_functions_and_program_structure Functions and Program Structure cluster_c_program_flow Program Flow cluster_c_introduction Introduction cluster_c_profiling Profiling cluster_c_performance Performance cluster_c_structures Structures cluster_c_pointers_and_arrays Pointers and Arrays cluster_c_memory Memory cluster_c_advanced_language_features Advanced Language Features cluster_c_types_operators_expressions Types, Operators, Expressions cluster_c_program_sanity Program Sanity cluster_devenv Linux: Development Environment cluster_devenv_ssh SSH cluster_cxx03 C++ 03 cluster_cxx03_dynamic_memory Standard Template Library: Container Templates cluster_cxx03_stl Standard Template Library: Container Templates cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx03_functions_and_methods Functions and Methods cluster_cxx03_exceptions Exceptions cluster_cxx03_templates Templates cluster_cxx03_inheritance_oo Inheritance and Object Oriented Design cluster_sysprog Systems Programming cluster_sysprog_posix_threads POSIX Threads cluster_ece19 ECE19: Exercises and Custom Topics cluster_cxx C++ cluster_ecproposal Graph cluster_ecproposal_ec2 Embedded Computing 2 cluster_ecproposal_ec2_python Python cluster_ecproposal_ec1 Embedded Computing 1 cluster_ecproposal_ec1_linux Linux cluster_ecproposal_ec1_mt Multithreading cluster_ecproposal_ec1_cxx C++ cluster_cxx11 C++ 11 cluster_cxx11_new_language_features New Language Features cluster_cxx11_introduction Introduction cluster_cxx11_functions_functions Functions, Functions cluster_cxx11_smart_pointers Smart Pointers cluster_cxx11_multithreading Multithreading cluster_unittest Unit Testing cluster_linux Linux cluster_linux_permissions Permissions cluster_linux_hardware Linux Hardware Interfaces project_xxx_debian_config Get Debian 10 Kernel Config project_xxx_yocto_kernel Extract Kernel from Intel Yocto BSP project_xxx_hardware_bringup Yocto Kernel Bringup on Customer Hardware project_xxx_dirty_upgrade Dirty Upgrade Path project_xxx_hardware_bringup->project_xxx_dirty_upgrade project_xxx_wait_hardware Wait for Customer Hardware project_xxx_hardware_bringup->project_xxx_wait_hardware project_xxx_dirty_upgrade->project_xxx_debian_config project_xxx_dirty_upgrade->project_xxx_yocto_kernel project_xxx_debian_kernel_package Finish: Debian Kernel Package etc. project_xxx_debian_kernel_package->project_xxx_hardware_bringup project_xxx_debian_kernel_package->project_xxx_dirty_upgrade project_xxx_audio_chip Audio Chip Bringup project_xxx_debian_kernel_package->project_xxx_audio_chip project_xxx_audio_chip->project_xxx_hardware_bringup python_python_5550_xml_etree XML: ElementTree (etree) python_advanced_modules Modules and Packages python_python_5550_xml_etree->python_advanced_modules python_basics_python_0450_dictionaries More on Dictionaries python_python_5550_xml_etree->python_basics_python_0450_dictionaries python_basics_python_0220_for for Loops python_python_5550_xml_etree->python_basics_python_0220_for python_exercises_csv_csv_db Exercise: Read CSV File, Write into Sqlite3 Database python_exercises_csv_csv_db->python_exercises_csv_csv_db python_db_sqlite3 DBAPI 2: sqlite3 python_exercises_csv_csv_db->python_db_sqlite3 python_exercises_csv_csv_module Exercise: Read CSV File python_misc_csv CSV Files python_exercises_csv_csv_module->python_misc_csv python_advanced_python_1010_generators_yield Iteration, and Generators: the yield Keyword python_exercises_csv_csv_module->python_advanced_python_1010_generators_yield python_exercises_csv_csv_module->python_advanced_modules python_exercises_legacy_revert Reverting Lines of a File python_exercises_legacy_wc Counting Lines, Words, Characters python_exercises_legacy_revert->python_exercises_legacy_wc python_basics_python_0500_files File I/O python_exercises_legacy_revert->python_basics_python_0500_files python_exercises_legacy_python_0350_exercises String (Right-Justify) python_exercises_legacy_wc->python_exercises_legacy_python_0350_exercises python_exercises_legacy_wc->python_basics_python_0500_files python_exercises_legacy_cmdline_digit Digit to English Word python_exercises_legacy_dict_keyerror Dictionary: Errors? python_exercises_legacy_cmdline_digit->python_exercises_legacy_dict_keyerror python_basics_python_0120_helloworld Hello World python_exercises_legacy_cmdline_digit->python_basics_python_0120_helloworld python_basics_python_0150_datatypes_overview_compound Compound Datatypes python_exercises_legacy_cmdline_digit->python_basics_python_0150_datatypes_overview_compound python_exercises_legacy_dict_keyerror->python_basics_python_0150_datatypes_overview_compound python_exercises_legacy_passwd Exercise: Parsing /etc/passwd python_exercises_legacy_distill Eliminate Empty/Comment-Only Lines python_exercises_legacy_passwd->python_exercises_legacy_distill python_exercises_legacy_passwd->python_basics_python_0500_files python_exercises_legacy_passwd->python_basics_python_0450_dictionaries python_basics_python_0210_indexing_slicing Indexing and Slicing python_exercises_legacy_passwd->python_basics_python_0210_indexing_slicing python_exercises_legacy_distill->python_exercises_legacy_revert python_exercises_legacy_distill->python_basics_python_0500_files python_exercises_legacy_mixed_list_interactive Mixed List (Interactive Interpreter) python_exercises_legacy_mixed_list_interactive->python_basics_python_0150_datatypes_overview_compound python_basics_python_0140_variables Variables python_exercises_legacy_mixed_list_interactive->python_basics_python_0140_variables python_basics_python_0150_datatypes_overview Datatypes python_exercises_legacy_mixed_list_interactive->python_basics_python_0150_datatypes_overview python_basics_python_0160_boolean Boolean python_exercises_legacy_mixed_list_interactive->python_basics_python_0160_boolean python_exercises_legacy_max_numbers_function Determine Maximum of Two Numbers (Function) python_exercises_legacy_max_numbers Determine Maximum of Two Numbers python_exercises_legacy_max_numbers_function->python_exercises_legacy_max_numbers python_exercises_legacy_for_primeness Primeness (for) python_exercises_legacy_max_numbers_function->python_exercises_legacy_for_primeness python_basics_python_0270_functions Functions python_exercises_legacy_max_numbers_function->python_basics_python_0270_functions python_exercises_legacy_mixed_list_executable Mixed List (Executable Program) python_exercises_legacy_max_numbers->python_exercises_legacy_mixed_list_executable python_exercises_legacy_max_numbers->python_basics_python_0140_variables python_basics_python_0170_if The if Statement python_exercises_legacy_max_numbers->python_basics_python_0170_if python_exercises_legacy_while_primeness Primeness (while) python_exercises_legacy_for_primeness->python_exercises_legacy_while_primeness python_exercises_legacy_for_primeness->python_basics_python_0220_for python_basics_python_0225_range The range Function python_exercises_legacy_for_primeness->python_basics_python_0225_range python_exercises_legacy_while_primeness->python_exercises_legacy_cmdline_digit python_basics_python_0193_while while Loops python_exercises_legacy_while_primeness->python_basics_python_0193_while python_exercises_legacy_join_function Functions: join() python_exercises_legacy_python_0350_exercises->python_exercises_legacy_join_function python_basics_python_0300_strings More About Strings python_exercises_legacy_python_0350_exercises->python_basics_python_0300_strings python_basics_python_0310_strings_formatting String Formatting python_exercises_legacy_python_0350_exercises->python_basics_python_0310_strings_formatting python_basics_python_0320_strings_methods Miscellaneous String Methods python_exercises_legacy_python_0350_exercises->python_basics_python_0320_strings_methods python_exercises_legacy_uniq_function Exercise: Function: uniq() python_exercises_legacy_join_function->python_exercises_legacy_uniq_function python_exercises_legacy_join_function->python_basics_python_0150_datatypes_overview_compound python_exercises_legacy_join_function->python_basics_python_0150_datatypes_overview python_exercises_legacy_join_function->python_basics_python_0270_functions python_exercises_legacy_function_primeness Primeness (Function) python_exercises_legacy_uniq_function->python_exercises_legacy_function_primeness python_exercises_legacy_uniq_function->python_basics_python_0150_datatypes_overview_compound python_exercises_legacy_uniq_function->python_basics_python_0270_functions python_exercises_legacy_function_primeness->python_exercises_legacy_max_numbers_function python_exercises_legacy_function_primeness->python_basics_python_0270_functions python_exercises_legacy_uniq_generator Exercise: Generator: uniq() python_exercises_legacy_uniq_generator->python_exercises_legacy_passwd python_exercises_legacy_uniq_generator->python_exercises_legacy_uniq_function python_exercises_legacy_uniq_generator->python_advanced_python_1010_generators_yield python_exercises_legacy_python_1011_generators_yield Generator: Fibonacci python_exercises_legacy_python_1011_generators_yield->python_exercises_legacy_uniq_generator python_exercises_legacy_python_1011_generators_yield->python_advanced_python_1010_generators_yield python_exercises_legacy_mixed_list_executable->python_exercises_legacy_mixed_list_interactive python_exercises_legacy_mixed_list_executable->python_basics_python_0120_helloworld python_exercises_legacy_mixed_list_executable->python_basics_python_0150_datatypes_overview_compound python_exercises_legacy_mixed_list_executable->python_basics_python_0140_variables python_exercises_legacy_mixed_list_executable->python_basics_python_0150_datatypes_overview python_exercises_legacy_mixed_list_executable->python_basics_python_0160_boolean python_exercises_herdt_while_even_numbers Even Numbers (while) python_exercises_herdt_username_password Username/Password Check python_exercises_herdt_while_even_numbers->python_exercises_herdt_username_password python_exercises_herdt_while_even_numbers->python_basics_python_0193_while python_exercises_herdt_greeting Greeting, Depending on Time of Day python_exercises_herdt_username_password->python_exercises_herdt_greeting python_exercises_herdt_username_password->python_basics_python_0170_if python_exercises_herdt_swap Swap Two Variables python_exercises_herdt_boolean Boolean Expressions python_exercises_herdt_swap->python_exercises_herdt_boolean python_exercises_herdt_swap->python_basics_python_0120_helloworld python_exercises_herdt_swap->python_basics_python_0140_variables python_exercises_herdt_swap->python_basics_python_0150_datatypes_overview python_exercises_herdt_boolean->python_basics_python_0160_boolean python_exercises_herdt_max_numbers Determine Maximum of Two Numbers python_exercises_herdt_greeting->python_exercises_herdt_max_numbers python_exercises_herdt_greeting->python_basics_python_0170_if python_exercises_herdt_max_numbers->python_exercises_herdt_swap python_exercises_herdt_max_numbers->python_basics_python_0140_variables python_exercises_herdt_max_numbers->python_basics_python_0170_if python_db_dbapi2 DBAPI 2 python_db_sqlite3->python_db_dbapi2 python_db_dbapi2->python_advanced_python_1010_generators_yield python_db_dbapi2->python_advanced_modules python_db_dbapi2->python_basics_python_0220_for python_db_postgres DBAPI 2: PostgreSQL python_db_postgres->python_db_dbapi2 python_misc_csv->python_basics_python_0500_files python_misc_csv->python_basics_python_0150_datatypes_overview_compound python_misc_csv->python_basics_python_0220_for python_misc_encoding Encoding python_misc_encoding->python_basics_python_0500_files python_misc_encoding->python_basics_python_0150_datatypes_overview python_basics_python_0330_strings_encoding Strings and Encoding python_misc_encoding->python_basics_python_0330_strings_encoding python_misc_import The import Statement (incomplete) python_misc_import->python_advanced_modules python_misc_duck_typing Duck Typing vs. Strong Typing (incomplete) python_misc_duck_typing->python_basics_python_0140_variables python_misc_special_methods Special Methods, Operator Overloading (incomplete) python_advanced_oo Object Oriented Programming python_misc_special_methods->python_advanced_oo python_misc_context_manager Context Managers (the with Statement) (incomplete) python_misc_context_manager->python_advanced_python_1010_generators_yield python_advanced_decorators Decorators python_misc_context_manager->python_advanced_decorators python_advanced_exceptions Exception Handling python_misc_context_manager->python_advanced_exceptions python_misc_context_manager->python_basics_python_0140_variables python_misc_mqtt MQTT python_swdev_venv Virtual Environments python_misc_mqtt->python_swdev_venv python_misc_vscode Visual Studio Code for Python Programming python_misc_ai_linear_regression Linear Regression python_misc_ai_machine_learning_intro Machine Learning: Concepts and Terminology python_misc_ai_linear_regression->python_misc_ai_machine_learning_intro python_misc_ai_linear_regression->python_swdev_venv python_misc_ai_k_means K-Means python_misc_ai_k_means->python_misc_ai_linear_regression python_misc_ai_k_means->python_misc_ai_machine_learning_intro python_misc_ai_k_means->python_swdev_venv python_advanced_python_1010_generators_yield->python_basics_python_0270_functions python_advanced_python_1010_generators_yield->python_basics_python_0220_for python_advanced_python_1010_generators_yield->python_basics_python_0225_range python_basics_python_0200_sequential_types Sequential Datatypes python_advanced_python_1010_generators_yield->python_basics_python_0200_sequential_types python_advanced_modules->python_advanced_oo python_advanced_modules->python_basics_python_0140_variables python_advanced_modules->python_basics_python_0270_functions python_advanced_oo->python_basics_python_0450_dictionaries python_advanced_oo->python_basics_python_0270_functions python_advanced_starargs Positional and Keyword Arguments python_advanced_decorators->python_advanced_starargs python_advanced_closures Closures python_advanced_decorators->python_advanced_closures python_advanced_decorators->python_basics_python_0270_functions python_advanced_exceptions->python_advanced_oo python_advanced_exceptions->python_basics_python_0140_variables python_advanced_exceptions->python_basics_python_0270_functions python_advanced_starargs->python_basics_python_0270_functions python_advanced_closures->python_basics_python_0270_functions python_advanced_exec The exec() Function python_advanced_exec->python_basics_python_0500_files python_advanced_exec->python_basics_python_0450_dictionaries python_advanced_iteration_generation Iteration, Comprehensions, and Generators python_advanced_iteration_generation->python_basics_python_0220_for python_advanced_threading_basics Multithreading python_advanced_threading_basics->python_advanced_oo python_advanced_threading_mutex Race Conditions, and Mutexes python_advanced_threading_mutex->python_advanced_threading_basics python_basics_python_0500_files->python_basics_python_0220_for python_basics_python_0500_files->python_basics_python_0330_strings_encoding python_basics_python_0110_blahblah Blahblah python_basics_python_0120_helloworld->python_basics_python_0110_blahblah python_basics_python_0150_datatypes_overview_compound->python_basics_python_0150_datatypes_overview python_basics_python_0450_dictionaries->python_basics_python_0150_datatypes_overview_compound python_basics_python_0450_dictionaries->python_basics_python_0220_for python_basics_python_0210_indexing_slicing->python_basics_python_0200_sequential_types python_basics_python_0130_syntax_etc Syntax etc. python_basics_python_0140_variables->python_basics_python_0130_syntax_etc python_basics_python_0150_datatypes_overview->python_basics_python_0140_variables python_basics_python_0160_boolean->python_basics_python_0150_datatypes_overview python_basics_python_0270_functions->python_basics_python_0140_variables python_basics_python_0270_functions->python_basics_python_0150_datatypes_overview python_basics_python_0193_while->python_basics_python_0160_boolean python_basics_python_0193_while->python_basics_python_0170_if python_basics_python_0220_for->python_basics_python_0193_while python_basics_python_0220_for->python_basics_python_0200_sequential_types python_basics_python_0225_range->python_basics_python_0220_for python_basics_python_0225_range->python_basics_python_0200_sequential_types python_basics_python_0300_strings->python_basics_python_0150_datatypes_overview python_basics_python_0300_strings->python_basics_python_0200_sequential_types python_basics_python_0250_refs_flat_deep_copy References, (Im)mutability python_basics_python_0300_strings->python_basics_python_0250_refs_flat_deep_copy python_basics_python_0310_strings_formatting->python_basics_python_0300_strings python_basics_python_0320_strings_methods->python_basics_python_0300_strings python_basics_python_0170_if->python_basics_python_0160_boolean python_basics_python_0330_strings_encoding->python_basics_python_0300_strings python_basics_python_1000_function_objects Function Objects python_basics_python_1000_function_objects->python_basics_python_0270_functions python_basics_python_0200_sequential_types->python_basics_python_0150_datatypes_overview_compound python_basics_installation Python Installation python_basics_python_0460_sets More on Sets python_basics_python_0460_sets->python_basics_python_0150_datatypes_overview_compound python_basics_python_0400_lists More on Lists python_basics_python_0400_lists->python_basics_python_0150_datatypes_overview_compound python_basics_python_0130_syntax_etc->python_basics_python_0120_helloworld python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0150_datatypes_overview_compound python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0140_variables python_basics_python_0250_refs_flat_deep_copy->python_basics_python_0150_datatypes_overview python_swdev_venv->python_misc_import python_swdev_pip Python Package Index python_swdev_venv->python_swdev_pip python_swdev_pip->python_misc_import python_swdev_pytest pytest Introduction, By Example python_swdev_pytest->python_advanced_modules python_swdev_unittest The unittest Module python_swdev_unittest->python_advanced_modules python_swdev_unittest->python_advanced_oo kernel_process_vs_atomic Process vs.Atomic Context kernel_multiple_devices Coding: Multiple Devices kernel_cdev_refactoring Coding: Refactoring kernel_multiple_devices->kernel_cdev_refactoring kernel_cdev_first_functionality Coding: First Functionality kernel_cdev_refactoring->kernel_cdev_first_functionality kernel_cdev_file_operations File Operations on Character Devices kernel_cdev_first_functionality->kernel_cdev_file_operations kernel_list Doubly Linked Lists kernel_cdev_first_functionality->kernel_list kernel_kmalloc Dynamic Memory: kmalloc() kernel_cdev_first_functionality->kernel_kmalloc kernel_cdev_manual Character Device Basics kernel_modules_hello_world Module Loading, Hello World kernel_cdev_manual->kernel_modules_hello_world kernel_fedora_module_build Fedora: Building External Kernel Modules kernel_modules_hello_world->kernel_fedora_module_build kernel_fedora_kernel_build Fedora: Building the Kernel kernel_fedora_module_build->kernel_fedora_kernel_build kernel_timer Timer Management kernel_timer->kernel_process_vs_atomic kernel_cdev_auto Modern Character Devices kernel_cdev_file_operations->kernel_cdev_auto kernel_stub_sysprog_dup dup(), fork(), and Reference Counting (Stub) kernel_cdev_file_operations->kernel_stub_sysprog_dup kernel_cdev_auto->kernel_cdev_manual kernel_raspi_kernel_build Raspberry Pi: Building the Kernel kernel_spinlock_coding Coding: Fix Sleep While Atomic kernel_interrupt_coding Coding: Raspi GPIO Interrupts kernel_spinlock_coding->kernel_interrupt_coding kernel_spinlock Spinlock (vs. Mutex) kernel_spinlock_coding->kernel_spinlock kernel_interrupt_coding->kernel_raspi_kernel_build kernel_interrupt Interrupts kernel_interrupt_coding->kernel_interrupt kernel_mutex_coding Coding: Fix Race Condition (Mutex) kernel_interrupt_coding->kernel_mutex_coding kernel_spinlock->kernel_process_vs_atomic kernel_waitqueue Waiting for Something kernel_waitqueue->kernel_cdev_file_operations kernel_usermem Accessing Userspace Memory kernel_waitqueue->kernel_usermem kernel_workqueue Workqueue kernel_usermem->kernel_workqueue kernel_netdev Network Devices kernel_dma DMA kernel_netdev->kernel_dma kernel_netdev->kernel_interrupt kernel_dma->kernel_kmalloc kernel_interrupt->kernel_process_vs_atomic kernel_workqueue->kernel_process_vs_atomic kernel_timer_coding Coding: Timed Event kernel_workqueue->kernel_timer_coding kernel_timer_coding->kernel_timer kernel_timer_coding->kernel_spinlock_coding kernel_mutex_coding->kernel_multiple_devices kernel_mutex Mutex (and RT Mutex) kernel_mutex_coding->kernel_mutex kernel_kmalloc->kernel_process_vs_atomic kernel_iomemory IO Memory kernel_iomemory->kernel_modules_hello_world kernel_mutex->kernel_process_vs_atomic kernel_pci PCI kernel_pci->kernel_dma kernel_pci->kernel_interrupt kernel_pci->kernel_iomemory c_functions_and_program_structure_c_preprocessor_advanced C Preprocessor: More c_functions_and_program_structure_c_preprocessor C Preprocessor: Basics c_functions_and_program_structure_c_preprocessor_advanced->c_functions_and_program_structure_c_preprocessor c_functions_and_program_structure_static_variables Static Variables c_functions_and_program_structure_c_preprocessor->c_functions_and_program_structure_static_variables c_functions_and_program_structure_header_files Header Files c_functions_and_program_structure_external_variables Extern/Global Variables c_functions_and_program_structure_header_files->c_functions_and_program_structure_external_variables c_functions_and_program_structure_basics Basics c_functions_and_program_structure_external_variables->c_functions_and_program_structure_basics c_program_flow_goto_and_labels goto and Labels c_functions_and_program_structure_basics->c_program_flow_goto_and_labels c_functions_and_program_structure_static_variables->c_functions_and_program_structure_header_files c_program_flow_break_and_continue break and continue c_program_flow_goto_and_labels->c_program_flow_break_and_continue c_program_flow_loops_do_while Loops: do - while c_program_flow_break_and_continue->c_program_flow_loops_do_while c_program_flow_loops_while_and_for Loops: while and for c_program_flow_loops_do_while->c_program_flow_loops_while_and_for c_program_flow_switch switch c_program_flow_else_if else - if c_program_flow_switch->c_program_flow_else_if c_program_flow_if_else if - else c_program_flow_else_if->c_program_flow_if_else c_program_flow_loops_while_and_for->c_program_flow_switch c_program_flow_statements_and_blocks Statements and Blocks c_program_flow_if_else->c_program_flow_statements_and_blocks c_types_operators_expressions_precedence_and_order_of_evaluation Precedence, Associativity c_program_flow_statements_and_blocks->c_types_operators_expressions_precedence_and_order_of_evaluation c_introduction_variables_and_arithmetic_expressions Variables and Arithmetic c_introduction_hello_world Hello World c_introduction_variables_and_arithmetic_expressions->c_introduction_hello_world c_introduction_introduction Introduction c_introduction_hello_world->c_introduction_introduction c_introduction_external_variables_and_scope Lifetime of Variables c_introduction_exercise_string_read_line Read Line Into String from stdin c_introduction_external_variables_and_scope->c_introduction_exercise_string_read_line c_introduction_character_arrays Character Arrays c_introduction_exercise_string_read_line->c_introduction_character_arrays c_introduction_cpp_symbolic_constants Symbolic Constants c_introduction_exercise_fahrenheit_for Exercise: Fahrenheit Table Using for c_introduction_cpp_symbolic_constants->c_introduction_exercise_fahrenheit_for c_introduction_for_loop for Loops c_introduction_exercise_fahrenheit_for->c_introduction_for_loop c_introduction_functions Functions c_introduction_exercise_histogram Character Histogram c_introduction_functions->c_introduction_exercise_histogram c_introduction_arrays Arrays c_introduction_exercise_histogram->c_introduction_arrays c_introduction_character_io Character I/O c_introduction_exercise_fahrenheit_cpp Fahrenheit Table Using Macros c_introduction_character_io->c_introduction_exercise_fahrenheit_cpp c_introduction_exercise_fahrenheit_cpp->c_introduction_cpp_symbolic_constants c_introduction_exercise_wc wc For The Poor c_introduction_arrays->c_introduction_exercise_wc c_introduction_exercise_fahrenheit_float Exercise: A Better Fahrenheit Table c_introduction_for_loop->c_introduction_exercise_fahrenheit_float c_introduction_exercise_fahrenheit_float->c_introduction_variables_and_arithmetic_expressions c_introduction_exercise_wc->c_introduction_character_io c_introduction_exercise_power_declaration Forward Declaration c_introduction_exercise_power_declaration->c_introduction_functions c_introduction_character_arrays->c_introduction_exercise_power_declaration c_introduction_installation Installation c_introduction_introduction->c_introduction_installation c_profiling_introduction Introduction c_performance_memory Memory Optimizations c_profiling_introduction->c_performance_memory c_profiling_gprof GNU Profiler - gprof c_profiling_gprof->c_profiling_introduction c_profiling_oprofile oprofile c_profiling_callgrind callgrind c_profiling_oprofile->c_profiling_callgrind c_profiling_callgrind->c_profiling_gprof c_performance_computebound Compute Bound Code c_performance_memory->c_performance_computebound c_performance_introduction Optimization c_program_sanity_valgrind valgrind c_performance_introduction->c_program_sanity_valgrind c_performance_computebound->c_performance_introduction c_structures_basics struct: Basics c_pointers_and_arrays_command_line_arguments Commandline c_structures_basics->c_pointers_and_arrays_command_line_arguments c_structures_structures_and_functions struct: Functions c_structures_structures_and_functions->c_structures_basics c_structures_typedef typedef: Type Alias c_structures_typedef->c_structures_structures_and_functions c_pointers_and_arrays_pointers_and_arrays Pointers and Arrays c_pointers_and_arrays_command_line_arguments->c_pointers_and_arrays_pointers_and_arrays c_pointers_and_arrays_exercise_swap Function That Swaps Two Variables c_pointers_and_arrays_pointers_and_arrays->c_pointers_and_arrays_exercise_swap c_pointers_and_arrays_pointers_and_function_arguments Pointers as Function Parameters c_pointers_and_arrays_exercise_swap->c_pointers_and_arrays_pointers_and_function_arguments c_pointers_and_arrays_pointers_and_addresses Pointers and Addresses c_pointers_and_arrays_pointers_and_function_arguments->c_pointers_and_arrays_pointers_and_addresses c_pointers_and_arrays_pointers_and_addresses->c_functions_and_program_structure_c_preprocessor_advanced c_memory_exercise_linked_list Singly Linked List c_memory_malloc Dynamic Memory c_memory_exercise_linked_list->c_memory_malloc c_memory_malloc->c_structures_typedef c_advanced_language_features_atomic Compiler Intrinsics c_advanced_language_features_volatile Volatile c_advanced_language_features_atomic->c_advanced_language_features_volatile c_advanced_language_features_volatile->c_memory_exercise_linked_list c_advanced_language_features_alignment Alignment c_advanced_language_features_alignment->c_advanced_language_features_atomic c_types_operators_expressions_conditional_expressions ?: - Conditional Expression c_types_operators_expressions_precedence_and_order_of_evaluation->c_types_operators_expressions_conditional_expressions c_types_operators_expressions_type_conversions Type Conversions c_types_operators_expressions_relational_logical_operators Relational and Logical Operators c_types_operators_expressions_type_conversions->c_types_operators_expressions_relational_logical_operators c_types_operators_expressions_arithmetic_operators Arithmetic Operators c_types_operators_expressions_relational_logical_operators->c_types_operators_expressions_arithmetic_operators c_types_operators_expressions_introduction Type System c_types_operators_expressions_introduction->c_introduction_external_variables_and_scope c_types_operators_expressions_exercise_string_reduce Copy and Reduce String c_types_operators_expressions_increment_decrement_operators Increment, Decrement c_types_operators_expressions_exercise_string_reduce->c_types_operators_expressions_increment_decrement_operators c_types_operators_expressions_increment_decrement_operators->c_types_operators_expressions_type_conversions c_types_operators_expressions_declarations Variable Definitions c_types_operators_expressions_arithmetic_operators->c_types_operators_expressions_declarations c_types_operators_expressions_constants Constants c_types_operators_expressions_declarations->c_types_operators_expressions_constants c_types_operators_expressions_assignment_operators_and_expressions Assignment with Calculation c_types_operators_expressions_conditional_expressions->c_types_operators_expressions_assignment_operators_and_expressions c_types_operators_expressions_datatypes_size Data Types, Sizes c_types_operators_expressions_variable_names Variable Names c_types_operators_expressions_datatypes_size->c_types_operators_expressions_variable_names c_types_operators_expressions_variable_names->c_types_operators_expressions_introduction c_types_operators_expressions_bit_operators Bit-Operators c_types_operators_expressions_assignment_operators_and_expressions->c_types_operators_expressions_bit_operators c_types_operators_expressions_bit_operators->c_types_operators_expressions_exercise_string_reduce c_types_operators_expressions_constants->c_types_operators_expressions_datatypes_size c_program_sanity_discrete_values Discrete Values - enum c_program_sanity_integral_types Know Your Integers c_program_sanity_discrete_values->c_program_sanity_integral_types c_program_sanity_introduction Sanity and Readabilty c_program_sanity_integral_types->c_program_sanity_introduction c_program_sanity_introduction->c_advanced_language_features_alignment c_program_sanity_explicit_type_safety Explict Type Safety c_program_sanity_valgrind->c_program_sanity_explicit_type_safety c_program_sanity_struct_initialization Struct Initialization c_program_sanity_explicit_type_safety->c_program_sanity_struct_initialization c_program_sanity_static Visibility - static c_program_sanity_static->c_program_sanity_discrete_values c_program_sanity_const Correctness - const c_program_sanity_const->c_program_sanity_static c_program_sanity_struct_initialization->c_program_sanity_const devenv_ssh_sshfs SSH File System (sshfs) devenv_ssh_basics SSH: Basics devenv_ssh_sshfs->devenv_ssh_basics devenv_ssh_scp SSH: Secure Copy devenv_ssh_scp->devenv_ssh_basics devenv_ssh_portforwarding SSH: Port Forwarding devenv_ssh_portforwarding->devenv_ssh_basics cxx03_introduction Introduction cxx03_introduction->c_introduction_installation cxx03_dynamic_memory_todo Dynamic Memory (To Be Done) cxx03_stl_associative_containers Associative Containers cxx03_dynamic_memory_todo->cxx03_stl_associative_containers cxx03_stl_sequential_containers Sequential Containers cxx03_stl_associative_containers->cxx03_stl_sequential_containers cxx03_stl_sorting Sorting cxx03_stl_basics Basics cxx03_stl_sorting->cxx03_stl_basics cxx03_templates_class_templates Class Templates cxx03_stl_basics->cxx03_templates_class_templates cxx03_stl_searching Searching cxx03_stl_sequential_containers->cxx03_stl_searching cxx03_stl_searching->cxx03_stl_sorting cxx03_data_encapsulation_object_copy Object Copy cxx03_data_encapsulation_ctor_dtor Constructors and Destructors cxx03_data_encapsulation_object_copy->cxx03_data_encapsulation_ctor_dtor cxx03_data_encapsulation_introduction Introduction: Classes and Objects cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_introduction cxx03_data_encapsulation_introduction->cxx03_introduction cxx03_functions_and_methods_this this cxx03_functions_and_methods_const const cxx03_functions_and_methods_this->cxx03_functions_and_methods_const cxx03_functions_and_methods_methods Methods cxx03_functions_and_methods_const->cxx03_functions_and_methods_methods cxx03_functions_and_methods_overloading Overloading cxx03_functions_and_methods_methods->cxx03_functions_and_methods_overloading cxx03_functions_and_methods_overloading->cxx03_data_encapsulation_object_copy cxx03_functions_and_methods_operators Operator Overloading cxx03_functions_and_methods_static static cxx03_functions_and_methods_operators->cxx03_functions_and_methods_static cxx03_functions_and_methods_references References cxx03_functions_and_methods_static->cxx03_functions_and_methods_references cxx03_functions_and_methods_references->cxx03_functions_and_methods_this cxx03_exceptions_basics Basics cxx03_exceptions_basics->cxx03_functions_and_methods_operators cxx03_exceptions_try_catch try - catch cxx03_exceptions_try_catch->cxx03_exceptions_basics cxx03_templates_function_templates Function Templates cxx03_templates_class_templates->cxx03_templates_function_templates cxx03_templates_function_templates->cxx03_exceptions_try_catch cxx03_inheritance_oo_todo Inheritance and OO Design (To Be Done) cxx03_inheritance_oo_todo->cxx03_dynamic_memory_todo sysprog_signals Sysprog: Signals sysprog_ipc Sysprog: POSIX IPC sysprog_events Sysprog: Events sysprog_posix_threads_mutex Synchronization sysprog_posix_threads_exercise_pthcreate_racecondition Thread Creation, Race Condition sysprog_posix_threads_mutex->sysprog_posix_threads_exercise_pthcreate_racecondition sysprog_posix_threads_lifecycle Thread Life Cycle sysprog_posix_threads_exercise_pthcreate_racecondition->sysprog_posix_threads_lifecycle sysprog_posix_threads_miscellaneous Miscellaneous sysprog_posix_threads_exercise_condition_variable Condition Variable: Message Queue sysprog_posix_threads_miscellaneous->sysprog_posix_threads_exercise_condition_variable sysprog_posix_threads_condition_variable Communication: Condition Variable sysprog_posix_threads_exercise_condition_variable->sysprog_posix_threads_condition_variable sysprog_posix_threads_exercise_mutex Mutex: Solve Load/Modify/Conflict sysprog_posix_threads_condition_variable->sysprog_posix_threads_exercise_mutex sysprog_posix_threads_exercise_mutex->sysprog_posix_threads_mutex sysprog_posix_threads_basics Basics sysprog_posix_threads_lifecycle->sysprog_posix_threads_basics sysprog_posix_threads_last_warning Last Warning sysprog_posix_threads_last_warning->sysprog_posix_threads_miscellaneous ece19_blinklicht_abc GPIO: Blinklicht Interface ece19_blinklicht_oo GPIO: Object Oriented Blinklicht ece19_blinklicht_abc->ece19_blinklicht_oo ece19_blinklicht GPIO: Blinklicht ece19_blinklicht_oo->ece19_blinklicht ece19_file_read Reading a File ece19_blinklicht->ece19_file_read ece19_blinklicht_unittest GPIO: Blinklicht Unittests ece19_blinklicht_unittest->ece19_blinklicht_abc ece19_file_read->python_basics_python_0500_files cxx_smart_pointers C++: Smart Pointers cxx_ownership_raii C++: Ownership/RAII cxx_smart_pointers->cxx_ownership_raii cxx_templates_vs_interfaces C++: Templates vs. Interfaces cxx_exercises C++: Exercises cxx_dynamic_memory C++: Dynamic Memory cxx_class_intro C++: Class (Introduction) cxx_class_intro->c_introduction_installation cxx_lambda C++: Lambda cxx_stl_container_intro C++: STL Containers (Intro) cxx_inheritance_virtual C++: Inheritance, Interfaces, virtual cxx_class_template C++: Class Templates cxx_class_template->cxx_class_intro cxx_global_initialization C++: Global Objects Initialization ecproposal_ec2_python_flask Simple Web Programming ecproposal_ec2_python_exercise_avg_display EX: Averaging Sensor, Display ecproposal_ec2_python_exercise_sensors EX: Temperature Sensors ecproposal_ec2_python_exercise_avg_display->ecproposal_ec2_python_exercise_sensors ecproposal_ec1_linux_exercise_avg_sensor EX: Averaging Sensor ecproposal_ec2_python_exercise_avg_display->ecproposal_ec1_linux_exercise_avg_sensor ecproposal_ec1_linux_exercise_led_display EX: LED Temperature Display ecproposal_ec2_python_exercise_avg_display->ecproposal_ec1_linux_exercise_led_display ecproposal_ec1_linux_exercise_avg_sensor_parallel EX: Averaging Sensor (parallel) ecproposal_ec2_python_exercise_avg_display->ecproposal_ec1_linux_exercise_avg_sensor_parallel ecproposal_ec2_python_basics Python Basics ecproposal_ec2_python_exercise_sensors->ecproposal_ec2_python_basics ecproposal_ec1_linux_exercise_sensors EX: Temperature Sensors ecproposal_ec2_python_exercise_sensors->ecproposal_ec1_linux_exercise_sensors ecproposal_ec2_python_web_sensors Sensors Web Pages ecproposal_ec2_python_web_sensors->ecproposal_ec2_python_flask ecproposal_ec2_python_web_sensors->ecproposal_ec2_python_exercise_avg_display ecproposal_ec1_git Git Introduction ecproposal_ec1_linux_exercise_avg_sensor->ecproposal_ec1_linux_exercise_sensors ecproposal_ec1_cxx_unittest C++: Unit Testing ecproposal_ec1_linux_exercise_avg_sensor->ecproposal_ec1_cxx_unittest ecproposal_ec1_linux_exercise_led_display->ecproposal_ec1_linux_exercise_avg_sensor ecproposal_ec1_linux_gpio GPIO ecproposal_ec1_linux_exercise_led_display->ecproposal_ec1_linux_gpio ecproposal_ec1_linux_exercise_led_display->ecproposal_ec1_cxx_unittest ecproposal_ec1_linux_exercise_avg_sensor_parallel->ecproposal_ec1_linux_exercise_avg_sensor ecproposal_ec1_mt_wait Communication: Waiting for Something ecproposal_ec1_linux_exercise_avg_sensor_parallel->ecproposal_ec1_mt_wait ecproposal_ec1_mt_exercise_mt_race_fixed EX: Avoiding Race Condition ecproposal_ec1_linux_exercise_avg_sensor_parallel->ecproposal_ec1_mt_exercise_mt_race_fixed ecproposal_ec1_linux_exercise_sensors->ecproposal_ec1_git ecproposal_ec1_linux_dev_mgmt Linux Hardware Device Management ecproposal_ec1_linux_exercise_sensors->ecproposal_ec1_linux_dev_mgmt ecproposal_ec1_cxx_iface C++: Interfaces ecproposal_ec1_linux_exercise_sensors->ecproposal_ec1_cxx_iface ecproposal_ec1_cxx_build C++: Building with CMake ecproposal_ec1_linux_exercise_sensors->ecproposal_ec1_cxx_build ecproposal_ec1_linux_basics Introduction to Linux and Unix ecproposal_ec1_linux_dev_mgmt->ecproposal_ec1_linux_basics ecproposal_ec1_linux_gpio->ecproposal_ec1_linux_dev_mgmt ecproposal_ec1_mt_lock Avoiding Race Conditions: Semaphore/Mutex ecproposal_ec1_mt_wait->ecproposal_ec1_mt_lock ecproposal_ec1_mt_exercise_mt_race EX: Race Conditions ecproposal_ec1_mt_exercise_mt_race_fixed->ecproposal_ec1_mt_exercise_mt_race ecproposal_ec1_mt_exercise_mt_race_fixed->ecproposal_ec1_mt_lock ecproposal_ec1_mt_exercise_mt_race->ecproposal_ec1_cxx_build ecproposal_ec1_mt_lock->ecproposal_ec1_mt_exercise_mt_race ecproposal_ec1_cxx_unittest->ecproposal_ec1_cxx_build ecproposal_ec1_cxx_oo_basics C++: OO Basics ecproposal_ec1_cxx_unittest->ecproposal_ec1_cxx_oo_basics ecproposal_ec1_cxx_iface->ecproposal_ec1_cxx_oo_basics ecproposal_ec1_cxx_oo_basics->ecproposal_ec1_git ecproposal_ec1_cxx_oo_basics->ecproposal_ec1_cxx_build cxx11_new_language_features_delegating_ctor Delegating Constructor cxx11_new_language_features_range_based_for Range Based for Loops cxx11_new_language_features_delegating_ctor->cxx11_new_language_features_range_based_for cxx11_new_language_features_brace_initialization Brace Initialization cxx11_new_language_features_range_based_for->cxx11_new_language_features_brace_initialization cxx11_new_language_features_miscellaneous Miscellaneous cxx11_new_language_features_move Moving, “RValue References” cxx11_new_language_features_miscellaneous->cxx11_new_language_features_move cxx11_new_language_features_move->cxx11_new_language_features_delegating_ctor cxx11_new_language_features_strongly_typed_enums Strongly Typed enum cxx11_new_language_features_strongly_typed_enums->c_program_sanity_discrete_values cxx11_introduction_introduction Introduction cxx11_new_language_features_strongly_typed_enums->cxx11_introduction_introduction cxx11_new_language_features_auto auto Type Declarations cxx11_new_language_features_auto->cxx11_new_language_features_strongly_typed_enums cxx11_new_language_features_brace_initialization->cxx11_new_language_features_auto cxx11_introduction_introduction->c_introduction_installation cxx11_functions_functions_function std::function cxx11_functions_functions_bind std::bind cxx11_functions_functions_function->cxx11_functions_functions_bind cxx11_smart_pointers_closing_words Smart Pointers: Closing Words cxx11_functions_functions_bind->cxx11_smart_pointers_closing_words cxx11_smart_pointers_shared_ptr std::shared_ptr<> cxx11_smart_pointers_closing_words->cxx11_smart_pointers_shared_ptr cxx11_smart_pointers_unique_ptr std::unique_ptr<> cxx11_smart_pointers_introduction Introduction cxx11_smart_pointers_unique_ptr->cxx11_smart_pointers_introduction cxx11_smart_pointers_introduction->cxx11_new_language_features_miscellaneous cxx11_smart_pointers_shared_ptr->cxx11_smart_pointers_unique_ptr cxx11_multithreading_introduction Threads Inroduction cxx11_multithreading_introduction->cxx11_functions_functions_function cxx11_multithreading_race_conditions Race Conditions cxx11_multithreading_race_conditions->sysprog_posix_threads_exercise_pthcreate_racecondition cxx11_multithreading_thread Threads in C++ cxx11_multithreading_race_conditions->cxx11_multithreading_thread cxx11_multithreading_thread->sysprog_posix_threads_lifecycle cxx11_multithreading_thread->cxx11_multithreading_introduction cxx11_multithreading_locking_atomics Locking and Atomics cxx11_multithreading_locking_atomics->sysprog_posix_threads_mutex cxx11_multithreading_locking_atomics->cxx11_multithreading_race_conditions cxx11_multithreading_chrono std::chrono cxx11_multithreading_condition_variable Condition Variables cxx11_multithreading_chrono->cxx11_multithreading_condition_variable cxx11_multithreading_condition_variable->sysprog_posix_threads_condition_variable cxx11_multithreading_condition_variable->cxx11_multithreading_locking_atomics unittest_gtest_cmake Unittest: GTest and CMake unittest_gtest_basics Unittest: GTest Basics unittest_gtest_cmake->unittest_gtest_basics unittest_gtest_fixture Unittest: GTest Fixtures unittest_gtest_fixture->unittest_gtest_cmake unittest_gtest_fixture->unittest_gtest_basics linux_permissions_basics Basics: Mode, User and Group Ownership linux_hardware_pwm PWM Userspace Interface (using PCA9685) linux_hardware_w1 Linux and OneWire (using DS18B20 Temperature Sensor as Slave) linux_hardware_brushless_motor Controlling a Brushless Motor With Raspberry Pi linux_hardware_brushless_motor->linux_hardware_pwm linux_hardware_i2c Linux and I2C (using LM73 Temperature Sensor as Slave)