WhatsApp
Owlgebra’yı öğretmek: Duolingo’da matematik geliştirmek

Owlgebra’yı öğretmek: Duolingo’da matematik geliştirmek

Owlgebra Öğretimi: Duolingo'da Matematik GeliştirmeGeçen yıl, Duolingo, misyonumuzu dilin ötesine genişletmek amacıyla yeni bir Matematik kursu başlattı. Öğrenenlerimize yeni fırsatlar yaratma gücüne sahip olduğuna inandığımız konulara odaklanarak yola çıktık. Bu süreçte, matematik öğretmenin kendine özgü zorlukları olduğunu keşfettik ve paylaşmaktan heyecan duyduğumuz bir formül geliştiriyoruz.

Dili nasıl öğretiyoruz?

Dil kurslarımızda, her ders bilgi bileşenleri üzerine inşa edilir – bunları kelimeler, karakterler veya ifadeler olarak düşünebilirsiniz. Verilen bir alıştırmanın istemi ve girişi değişebilirken, bilgi bileşeni her zaman metin olarak temsil edilir.

Owlgebra Öğretimi: Duolingo'da Matematik Geliştirme

Matematiği farklı kılan nedir?

Matematik için bu daha karmaşık hale geliyor. Tüm içeriği aynı şekilde temsil edemeyiz ve nasıl öğrettiğimiz bağlama bağlıdır.

Örneğin, toplama dersleri, sayılabilir bloklar, tam sayılar ve sözel problemler kullanarak denklemi temsil edebilir. Dörtgenin çevresi dersleri – teknik olarak toplama ile köklü olmasına rağmen – bağlam değiştiği için önemli ölçüde farklı görünür.

Owlgebra Öğretimi: Duolingo'da Matematik Geliştirme

Geometri, karmaşıklığın tamamen başka bir katmanını ekler. Toplama ve çevre sayılar ve denklemler üzerine kuruludur – ama ya bir trapez sınıflandırmak? Bu kavramları açıklamak için yeni görsellere ve alıştırmalara ihtiyacımız var!

Bu yüzden, matematikteki “bilgi bileşenleri”, dildeki gibi tutarlı bir forma sahip değildir. Bunun yerine, görseller ve alıştırmalar, dersin zorluğuna ve bağlamına bağlı olarak değişmelidir.

Bu, özellikle matematik içeriğini ölçeklendirmenin ilginç mühendislik zorluklarını beraberinde getirir.

Ölçeklenebilir İçerik

Sayısal içerik için, zorluğu hem görselleri hem de sayı aralıklarını değiştirerek ölçeklendiriyoruz. Örneğin, toplama birimimizde, her beceri, maksimum sonucu 10’dan 100’e, ardından 500’e artırarak giderek daha zor hale gelir.

Bu, görsellerimizin aynı zamanda o aralıkta ölçeklenmesi gerektiği anlamına geliyor. Bu, sadece sayılabilir bloklar için yüzlerce varyasyon oluşturur! Tüm farklı içerik alanlarımızı düşündüğümüzde, bu sayı hızla binlere ulaşıyor.

Owlgebra Öğretimi: Duolingo'da Matematik Geliştirme

Bunu çözmek için, birçok görselimizi dinamik olarak kodda çiziyoruz. Bu varlıkların birbirini nasıl inşa edebileceğinden yararlandık – örneğin, bir kesir parçasının şeklini değiştirmek. Bir sınıf, programatik olarak binlerce varyasyon oluşturabilir – böylece tasarım bileşenlerini kolayca değiştirebilir, renkleri değiştirebilir, yerelleştirilmiş metin ekleyebiliriz.

Vaka Çalışması: Alan ve Çevre

Dinamik çizim sayesinde, alan, çevre, ondalıklar, şekiller ve koordinatları öğretmek için tüm görselleri üretmek için aynı sınıfı (`GriddedGraphView`) kullanıyoruz.

iOS’ta, temel bir CAShapeLayer ile dinamik bir M x N ızgara çizen bir yol var. Yeni içeriğe uyum sağlamak için ızgaranın herhangi bir yerinde maskeler, çizgiler, düğmeler ve etiketler ekleyebiliriz. Bu aynı görünüm, dörtgenler oluşturma gibi bazı etkileşimli zorlukların temeli olarak da işlev görmektedir.

Owlgebra Öğretimi: Duolingo'da Matematik Geliştirme

Rive ile Gelişme

Bu yaklaşım bir süre işe yaradı, ancak bazı görsellerimizi programatik olarak çizmek çok zor hale geldi. Bazıları, kötü anılar uyandıran matematiksel kanıtları içeren kod yorumları içeriyordu. Matematik ilk başta yalnızca iOS için geliştirildi, bu yüzden Swift kodu hemen diğer platformlara ölçeklenmiyor.

Android’e geçiş yaptığımızda (geçen ay piyasaya sürdük!), yeni bir çok platformlu çözüm olarak Rive’a yöneldik. Rive, programatik girişlere göre çok daha zengin animasyonlar sunmamıza olanak tanıyor, ayrıca kendi animasyonlarımızı, görsellerimizi ve geçişimizi eklememizi sağlıyor.

Bir Rive tasarımını sadece bir M x N ızgarasına değil, çok çeşitli matematik alanlarına uygulamak da mümkündür! Alan ve çevre hesaplamaları için, şekil oluşturmak için mevcut bir sınıfı tekrar kullanabiliyoruz ve sadece UI’daki animasyonları yerelleştirebiliyoruz.

Rive ile animasyon oluşturmak son derece basit. Eğlenceli, eğlenceli ve öğrenme için harika bir araçtır. Öğrenenlerimizin deneyimini geliştirmek için muhteşem bir yoldur!