Apakah mungkin untuk belajar matematika melalui pemrograman, atau Anda harus belajar matematika untuk pemrograman? [Tutup]

10

Saya bukan yang terbaik dalam matematika, tidak terlalu mengerikan juga, tetapi lebih rendah dari rata-rata, saya selalu berpikir untuk meningkatkan matematika saya, tetapi sekolah dan buku tidak melakukan pekerjaan karena saya bosan terlalu cepat. Satu-satunya hal yang saya tidak bosan dengan pengkodean dan permainan, jadi saya pikir bagaimana jika pengkodean program yang memecahkan masalah matematika akan membantu saya memahami matematika dengan lebih baik, sebagian besar masalah ini adalah batasan (kalkulus), fungsi, kalkulus diferensial, dan beberapa mata pelajaran lain (saya sudah bilang tidak sebagus itu) mirip dengan yang disebutkan sebelumnya.

Pertanyaan saya adalah: Apakah saya dapat mencapai pengetahuan yang lebih baik dalam matematika jika saya melakukan beberapa pengkodean program tertentu, dan jika mungkin, apakah fisika juga memungkinkan? Atau apakah saya salah dan Matematika harus dipelajari sebelum pemrograman untuk membantu meningkatkan pengkodean saya?

PS: C ++ adalah bahasa yang disukai.

SAFAD
sumber
5
Itu bekerja sebaliknya bagi saya. Saya belajar pemrograman komputer untuk membantu saya bekerja di kelas statistik tingkat pascasarjana dengan lebih baik. Saya menemukan saya menyukai pemrograman lebih baik daripada statistik dan mengubah arah karier saya.
jfrankcarr
Tidak ada Jalan Kerajaan ke matematika, Pak.
Karl

Jawaban:

16

Anda hanya akan belajar matematika atau fisika dari pemrograman jika Anda benar-benar menggunakan pemrograman untuk menyelesaikan masalah matematika dan fisika, meskipun bahasa fungsional seperti Haskell memiliki konsep di dalamnya yang sangat "matematis". Saya sarankan pergi ke situs web seperti Kahn Academy atau Project Euler . Selesaikan masalah di sana menggunakan kode, dan Anda akan meningkatkan keterampilan coding dan matematika Anda secara bersamaan.

Mike Cellini
sumber
5
+1 untuk kedua sumber daya. Saya harus mengatakan, saya benci kalkulus pertama kali. Tidak pernah melakukannya dengan baik dalam hal itu. Sejak mempelajari Lisp, itu masuk akal . Agak menyenangkan juga.
Jason Lewis
1
Jika Anda ingin mencoba Haskell, Anda dapat membaca "Jalan Haskell ke Logika, Matematika dan Pemrograman": buku ini mengajarkan Haskell, untuk melakukan matematika, dan memperkenalkan semua konsep matematika di sepanjang jalan. Namun, ini berfokus pada logika matematika, teori bilangan, dan beberapa aljabar dasar. Kalkulus hanya disebutkan di bagian paling akhir, jika Anda berhasil melewati semua yang lain.
Vincent Zoonekynd
Saya juga menyarankan bahasa CAS khusus, seperti Mathematica (mahal!), Maxima atau Aksioma (gratis). Setelah Anda mendapatkan gagasan penulisan ulang istilah, aturan dan strategi, seluruh matematika akan mulai masuk akal.
SK-logic
Saya pribadi telah menemukan Khan Academy sangat membantu mengisi kekosongan dalam pengetahuan matematika saya.
jonners99
@Jason Lewis - Jika masalah Anda lebih gaya mengajar daripada materi, dan Anda ingin kursus penuh, saya kursus OpenCourseware MIT sangat baik untuk banyak topik matematika, termasuk kalkulus dan aljabar linier. Tidak praktis untuk hanya merevisi satu topik tertentu. Saya sangat menyukai kursus aljabar linier. MIT OpenCourseware juga sangat baik untuk beberapa topik ilmu komputer, tentu saja - terutama dua algoritma dan kursus struktur data. Tidak pernah ada waktu yang lebih baik untuk mendidik diri sendiri sesuai kecepatan Anda sendiri dengan materi gratis yang sangat baik.
Steve314
5

Tentunya Anda harus belajar matematika melalui pemrograman. Jika Anda mencoba mensimulasikan objek fisik, Anda perlu mempelajari semua jenis fisika dan matematika, dan Anda akan menikmatinya.

kevin cline
sumber
4

Ini milik saya ...

Pemrograman Akan Membantu Menguji PENGETAHUAN Anda

Ketika saya masih di sekolah menengah dan menengah, saya akan memprogram kalkulator saya untuk melakukan matematika monoton untuk saya. Beberapa orang mengklaim itu curang, tetapi saya selalu berpendapat bahwa saya tidak akan bisa menulis program jika saya tidak benar-benar mengerti matematika.

Sebagai contoh, katakanlah Anda ingin membuat program kecil untuk menghitung nilai C, diberikan A dan B, dalam teorema Pythagoras. Bagaimana kita melakukannya? Ya, kita tahu itu:

A^2 + B^2 = C^2

Jadi untuk menyelesaikan C, kami memiliki:

C = SQRT(A^2 + B^2)

Oleh karena itu, programnya mungkin seperti (dengan asumsi tajuk yang tepat, ini adalah contoh sederhana):

cout << "Enter value for A: " 
cin << valA;
cout << "Enter value for B: "
cin << valB;

float valC = sqrt(pow(valA, 2) + pow(valB, 2))
cout << "C = " << valC << "\n";

NAMUN...

Di mana dan Bagaimana Anda Memperoleh Pengetahuan yang Dikatakan?

Dalam contoh sebelumnya, kami perlu tahu cara menyelesaikan untuk C dalam persamaan. A^2 + B^2 = C^2.Jika kami tidak tahu untuk meng-root kedua sisi untuk menemukan C, bagaimana kami bisa menyelesaikan masalah?

IMO, itu bermuara pada: pemrograman tidak akan MENGAJAR matematika Anda sepenuhnya, tetapi AKAN MENINGKATKAN keterampilan yang Anda peroleh.

skippr
sumber
ya, saya mengerti maksud Anda dan saya setuju, berdasarkan jawaban Anda, saya akan belajar matematika ketika saya memecahkan masalah dalam pemrograman, namun saya tidak akan bisa menyelesaikannya tanpa pengetahuan sehingga saya harus mencari solusi dan bahwa adalah apa yang akan mengajari saya matematika ...
SAFAD
2

The buku SICP memiliki bagian yang sangat bagus di matematika. Tetapi saya menyarankan agar Anda mencoba untuk mengambil aljabar linear, matematika diskrit, dan The Calculus minimal, jika Anda belajar hanya dari menulis program pendidikan Anda cenderung sangat dalam, tetapi tidak terlalu luas.

gam3
sumber
2

Saya pikir mereka berjalan beriringan. Pendaratan yang kuat dalam teknik matematika akan membuka opsi dalam pemrograman yang tidak Anda miliki sebaliknya, sementara pemrograman dapat membuka jalan yang menarik untuk studi matematika.

Saya baru-baru ini mulai menggunakan wxMaxima , front-end grafis yang bagus untuk open source Maxima Computer Aljabar System (alias CAS , seperti sistem Maple atau Mathematica komersial ).

Itu tidak akan mengajarkan apa pun tentang matematika pada Anda sendiri, tetapi itu pasti akan membuat bermain-main dengan matematika lebih menarik dan menyenangkan, yang dengan sendirinya dapat mendorong Anda untuk belajar lebih banyak.

Mark Booth
sumber
2

Anda tidak perlu banyak matematika untuk "pemrograman".

Anda membutuhkan matematika untuk "ilmu komputer".

Jika Anda berencana untuk menggunakan solusi perpustakaan yang sudah ada sebelumnya untuk semuanya, maka Anda mungkin tidak peduli bagaimana mereka bekerja. Tetapi jika Anda berencana untuk membuat algoritma dan struktur data Anda sendiri, Anda perlu mengetahui matematika, karena CS berbasis matematika.

pengguna541686
sumber
1

Jika Anda tertarik bekerja di AI, pemrosesan data, simulasi fisika atau grafik, maka Anda perlu matematika. Sebaliknya, jika Anda tidak, maka saya rasa Anda tidak melakukannya. Ini kasus penggunaan atau kehilangan itu, mengapa belajar bahasa Prancis jika Anda tidak ingin tinggal di Prancis? Ada banyak domain masalah yang hanya membutuhkan logika kondisional.

Karena itu, ada kecenderungan alami dalam pemrograman menuju matematika, dan tidak ada gunanya bagi Anda untuk mendapatkan pemahaman tentang hal itu.

sunwukung
sumber
1

Lihatlah matlab . Ini adalah bahasa yang dirancang untuk melakukan fungsi matematika dalam kode.

lingkungan komputasi numerik dan bahasa pemrograman generasi keempat ... MATLAB memungkinkan manipulasi matriks, memplot fungsi dan data, mengimplementasikan algoritma, membuat antarmuka pengguna, dan berinteraksi dengan program yang ditulis dalam bahasa lain ...

Meskipun MATLAB dimaksudkan terutama untuk komputasi numerik, kotak alat opsional menggunakan mesin simbol MuPAD, yang memungkinkan akses ke kemampuan komputasi simbolik. Paket tambahan, Simulink, menambahkan simulasi grafis multi-domain dan Desain Berbasis Model untuk sistem yang dinamis dan tertanam ...

Tom Squires
sumber
matlab hanya bermanfaat ketika programmer memiliki pengetahuan matematika yang baik sebelumnya dan terbatas pada domain matematika tertentu.
wirrbel
1

Matematika adalah ilmu dengan domain yang sangat luas. Ada berbagai jenis matematika yang secara eksplisit tidak memiliki kesamaan sama sekali (selain sebagai matematika).

Sekarang pemrograman sering dikaitkan dengan matematika karena komputer menghitung dan menghitung, yang paling mendasar mereka melakukan ini dengan tipe data integer atau floating point dalam langkah-langkah terpisah.

Ada bidang matematika yang bisa Anda pelajari dengan pemrograman dengan "memperkirakan" matematika dalam suatu program. Katakanlah Anda mempelajari diferensial kalkulus dan menghitung nilai numerik untuk interval kecil sehingga "meniru" batas matematika "murni".

Aspek lain dari pemrograman mudah dipetakan ke matematika (mungkin bukan bagian dari kelas matematika SMA Anda tetapi masih matematika yang berharga yang tidak terjadi menjadi bagian dari kurikulum tradisional). Ketik teori misalnya - atau induksi matematika.

Seringkali satu-satunya cara untuk alasan tentang "kebenaran" sepotong kode adalah induksi matematika misalnya. Jenis pemikiran ini dapat dilihat terutama dalam bahasa fungsional (rekursi, dll.).

Yaitu ada banyak cara untuk belajar matematika saat pemrograman, tetapi tidak semua matematika mudah didekati dalam model komputer kita dan bahasa pemrograman.

Wirrbel
sumber
0

Saya tidak dapat menemukan entri blog tetapi saya ingat seorang "tipe" desainer dari era bubble-burst sebelum akhir (sebelum '01 -ish) yang menulis blog tentang menemukan cinta matematika melalui menjadi pengembang web dan menyadari bahwa ia adalah seorang sebenarnya cukup bagus dalam hal itu meskipun dia selalu gagal total di sekolah menengah dan berasumsi dia bukan seseorang yang akan pandai matematika dan kemudian menganggap dirinya sebagai tipe yang artistik.

Tidak bukan saya. Saya hanya malas. Saya harus mempelajari trigonometri sesekali, tetapi hanya itu saja.

IMO, Anda dapat menulis banyak kode yang layak tanpa pengetahuan matematika yang berat sampai Anda tidak bisa, pada dasarnya.

Namun, pemrograman apa yang BISA dilakukan untuk siapa saja yang memiliki minat cukup besar di dalamnya, adalah membantu Anda memahami apakah Anda jenis orang ini atau jenis orang seperti itu, dan memberi Anda alat yang Anda butuhkan untuk hanya mencoba barang-barang cari tahu sendiri seberapa jauh minat Anda akan membawa Anda dalam bidang studi tertentu.

Dan tentu saja semua yang kami lakukan terkait dengan matematika sehingga Anda dapat menemukan bahwa Anda telah belajar lebih banyak daripada yang Anda sadari ketika Anda melakukan hal-hal seperti belajar tentang apa yang dimaksud dengan penjumlahan-mundur itu.

Erik Reppen
sumber
0

Pilihan lain adalah menggunakan kecintaan Anda pada pemrograman untuk mengarahkan hasrat Anda untuk belajar matematika. Apa saja cenderung menjadi lebih mudah dipelajari jika Anda mempelajarinya dengan masalah spesifik yang ingin Anda terapkan dan matematika tidak terkecuali. Anda hanya perlu mencari tahu masalah pemrograman matematika berat yang menarik minat Anda dan menggunakannya sebagai alasan untuk belajar matematika terkait. Mempelajari Aljabar Linier sehingga Anda dapat bermain dengan grafik misalnya, atau probabilitas dan statistik untuk pemrosesan gambar / jenis visi komputer.

Saya pikir jarak tempuh Anda akan bervariasi dalam hal ini karena orang yang berbeda memiliki cara belajar yang berbeda, tetapi duduk dan belajar matematika secara abstrak demi belajar matematika sama sekali tidak pernah berhasil bagi saya.

Evicatos
sumber
-2

Nah, Anda dapat meminta siswa untuk memecahkan beberapa masalah geometri seperti menggambar persegi, pentagon, hexagon dan lingkaran dengan Scratch. Tantang mereka untuk mengembangkan solusi dan JANGAN menjawab mereka tentang BAGAIMANA cara membuat kode. Biarkan mereka mengeksplorasi dan menguji solusi. Setidaknya Anda bisa menanyakan hal-hal seperti jumlah sudut dalam poligon. Kemudian mereka dapat membangun algoritma dan kategorinya sendiri.

pengguna126143
sumber