Skip to content

PascalCorpsman/Education

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Education

This repository does not host source code itself.

Instead, it provides a curated index of software projects I have developed that are particularly well suited for educational purposes. These applications are designed to support structured learning, conceptual exploration, and hands-on experimentation across a variety of technical and scientific domains.

Educational Philosophy

The aim of these projects is not only to provide functional software, but also to serve as pedagogical tools. Each application prioritizes transparency, conceptual clarity, and direct control, allowing learners to observe underlying mechanisms, experiment actively, and develop a deeper understanding of the subject matter.

Overview of Educational Applications

Math & Logic

Application Usage Prerequisites Learning Objectives
Waage Classroom / Practice Basic understanding of algebra and equations with up to three variables Interactive visualization of equations with up to three variables using a "balance" model (circle, triangle, square) that tilts according to equation values, helps learners understand the concept of equality and relationships between variables in a tangible, visual way.
Galton Brett Classroom / Practice Basic understanding of probability and statistics Interactive visualization of the famous Galton board, allows users to explore probability, randomness, and the emergence of the normal distribution through simulation.
Prime_factorizer Classroom / Practice Basic understanding of integer arithmetic Demonstration tool for performing prime factorization of user-input integers (up to 2³²), helps learners understand factorization processes, number decomposition, and fundamental properties of integers.
Vedische Multiplication Self-Study / Practice Basic understanding of integer arithmetic Demonstration of an alternative multiplication method for very large integers, allows users to explore non-standard algorithms and understand efficiency and stepwise calculation techniques.
Induktion Classroom / Practice Basic understanding of mathematical proofs and induction principles Collection of exercises for practicing proofs by mathematical induction, helps learners understand the method, structure, and logical reasoning involved in complete induction.
Fixed_Comma Classroom / Practice Basic understanding of fixed-point arithmetic Application for visualizing and performing calculations with fixed-point numbers, allows users to set bit width and decimal position, while automatically displaying the resulting numerical ranges, helping learners understand precision and limitations.

Computer Science

Application Usage Prerequisites Learning Objectives
Bitverknuepfung Classroom / Practice Basic knowledge of Boolean algebra Tool for evaluating Boolean expressions and visualizing their truth tables and Karnaugh maps, helps learners understand logical simplification and digital logic design principles.
Digiman 2 Classroom / Practice Basic understanding of digital logic (AND, OR gates) Interactive simulation of digital circuits, from basic logic gates to flip-flops and shift registers, allows users to explore circuit behavior and sequential logic concepts.
Sortieren2 Classroom / Practice Basic understanding of sorting algorithms Interactive visualization of sorting algorithms including Quicksort, Bubblesort, and Selection Sort, helps learners explore algorithmic behavior, comparisons, and step-by-step sorting processes.
Anty_Krypt Classroom / Practice Basic understanding of classical cryptography and frequency analysis Tool for analyzing encrypted texts, determining the key length via the coincidence matrix, and calculating the key and decrypted text using frequency analysis, helps learners understand cryptanalysis techniques and classical cipher structures.
Baum Classroom / Practice Basic understanding of binary trees and tree traversal algorithms Visualization of binary trees, including AVL trees, with traversal demonstrations, allows users to explore tree structure, balancing, and traversal techniques interactively.
Graphen_algos Classroom / Practice Basic understanding of graph theory and algorithms Interactive demonstration of graph algorithms including Dijkstra, Prim, and Kruskal, helps learners explore shortest paths, minimum spanning trees, and algorithmic behavior in graph structures.
SQL Self-Study / Practice Basic understanding of relational databases and SQL queries Interactive demo with exercises for working with SQL databases, allows users to practice query writing, data retrieval, and basic database manipulation in a hands-on environment.
HeapSim Classroom / Practice Basic understanding of memory management and allocation strategies Tool for simulating various memory allocation algorithms (First Fit, Best Fit, Next Fit, etc.) and analyzing their runtime behavior under different allocation schemes, such as block-wise allocation or dynamically growing arrays, helps learners explore efficiency and fragmentation concepts.
TuringMachine Self-Study / Practice Basic understanding of theoretical computer science and automata theory Demo for entering the transition table of a Turing machine with full emulation, allows users to experiment with state transitions, tape operations, and computation processes; additionally, the MeelyMore automaton can be visualized to explore alternate automata behaviors.
Loop Self-Study / Practice Basic understanding of formal languages and computability theory Implementation of an interpreter for the µ-recursive language Loop, a strictly terminating theoretical language, allows users to experiment with formally computable functions and explore the principles of bounded computation and non-Turing-complete systems.
QProgrammer Self-Study / Practice Basic knowledge of Pascal syntax Editor for writing code in a subset of FreePascal, featuring integrated exercises that are automatically evaluated by a built-in testing system, helps users practice syntax, problem-solving, and code correctness in a guided environment.

Signal Processing

Application Usage Prerequisites Learning Objectives
FIR_IIR Classroom / Practice Basic understanding of digital signal processing and filter theory Tool for specifying FIR and IIR filters, applying them to both user-defined signals and imported data, and visualizing the results graphically, helps learners explore filter behavior and core signal processing concepts.
ImageShop Classroom / Practice Basic knowledge of image processing concepts Interactive tool for chaining image manipulation algorithms using a built-in mini interpreter, allows users to explore the impact of operation order (e.g., translation, rotation) and apply filters such as RGB adjustments, posterization, and more, helping learners understand procedural image processing workflows.
Spectrum_analyzer Classroom / Practice Basic understanding of Fourier analysis and audio signal processing Tool for visualizing the Fourier spectrum of audio files, with an interactive feature that allows users to modify ("paint over") the spectrum and regenerate the resulting audio, helps learners understand spectral representation and signal manipulation.

Learning Tools

Application Usage Prerequisites Learning Objectives
Tippsy3 Self-Study / Practice No prior knowledge required Structured training of touch typing (10-finger system), helps improve typing speed, accuracy, and develop muscle memory.
Vokabel Self-Study / Practice Basic understanding of vocabulary learning techniques Application for learning and practicing vocabulary, allows users to review, test, and reinforce language skills through interactive exercises.
Fingerspeed Self-Study / Practice Basic knowledge of the alphabet and typing skills Program where users type the letters A-Z as quickly as possible in the correct order, with a high-score system, helps learners improve typing speed, accuracy, and hand-eye coordination.
Minipaint Self-Study / Practice Basic knowledge of using a touchscreen or mouse Extremely minimalist painting program, especially suited for touchscreen devices and young children, helps learners explore creativity and basic digital interaction in a simple, intuitive environment.

Related Repositories

In addition to this collection of educational software, you may find the following repositories of interest:

  • Research
    Repository for the publication of my "pseudo-scientific" analyses on various technical and computational topics.

  • TheCodingTrain
    Implementation of numerous educational videos from the YouTube channel The Coding Train, covering topics in programming, algorithms, and creative coding.

Feedback

I welcome suggestions, educational feedback, and improvement proposals. Please feel free to submit them via GitHub issues.