Bahan-bahan dari shift untuk siswa dalam matematika dan pemrograman di "Sirius"

Pada bulan Januari tahun ini, pergeseran untuk anak-anak sekolah terjadi di Sirius . Penyelenggara - Fakultas Matematika dan Ilmu Komputer, Universitas Negeri St. Petersburg .

Program ini terdiri dari tiga lagu: "Matematika", "Pemrograman" dan "Ilmu Komputer". Kursus-kursus tersebut diencerkan dengan kuliah pendidikan umum dan pesta teh dengan para guru dan panitia. Di antara para guru adalah ilmuwan dan guru dari Fakultas Matematika dan Matematika Universitas Negeri St. Petersburg, BSU, Sekolah Tinggi Ekonomi, Universitas Negeri Moskow, pengembang Yandex dan JetBrains, karyawan POMI RAS. Kami berbicara tentang bagaimana perubahan diatur di sini , dan sekarang kami memposting materi untuk bagian dari kursus.

gambar

Matematika


1. Teori Morse Diskrit


Guru: Gayane Panieva (Universitas Negeri St. Petersburg, POMI), Galina Pass (Universitas Tartu), Nikita Kalinin (Universitas Negeri St. Petersburg, Sekolah Tinggi Ekonomi)

Tentang kursus. Teori Morse diskrit adalah alat yang berfungsi di banyak daerah, perpaduan yang bagus antara kombinatorik dan topologi. Di lapangan, para pria menemukan kembali metode ini dalam proses penyelesaian masalah. Semuanya dimulai dengan contoh ilustratif: dengan teori Morse pada permukaan dua dimensi (bola dengan pegangan dan film), dan kemudian beralih ke konstruksi yang lebih abstrak. Tugas dibagi menjadi proyek yang dapat dilakukan dalam kelompok.

Bahan

2. Mengapa teorema Fermat tidak terbukti 300 tahun yang lalu?


Guru: Ivan A. Panin (POMI)

Tentang kursus. Teorema Fermat yang hebat atau teorema Fermat yang terakhir adalah salah satu teorema paling populer dalam matematika. Kondisinya dirumuskan secara sederhana, pada tingkat aritmatika "sekolah", namun, banyak matematikawan telah mencari bukti teorema selama lebih dari tiga ratus tahun. Terbukti pada tahun 1994 oleh Andrew Wiles. Buktinya diterbitkan pada tahun 1995, membutuhkan sekitar 100 halaman dan menggunakan beberapa bagian matematika yang dibuat pada abad ke-20. Di lapangan, bukti diberikan dari teorema Fermat dalam kasus ketika beberapa cincin adalah faktorial. Buktinya dapat diakses oleh siswa sekolah menengah dan didasarkan pada teori bilangan klasik abad ke-19 dan awal abad ke-20.

Baca lebih banyak:paragraf 1 dan 7, bagian 3 dari buku Borevich Z. I., Shafarevich I. R. "Teori angka." Edisi Kedua, Rumah Penerbitan Nauka.

Bahan

3. Tentang metode untuk menghitung rata-rata dalam teori bilangan analitik


Dosen: Alisa Sedunova (Universitas Negeri St. Petersburg)

gambar

gambar

Bahan

4. Pengantar teori jumlah produk


Penceramah: Ilya Shkredov (Universitas Negeri Moskow, Institut Matematika Steklov)

Biarkan A menjadi kumpulan bilangan bulat terbatas yang sewenang-wenang. Pertimbangkan jumlah dan
produk A bersama kami, yaitu himpunan

A + A: = {c = a + b | a, b dari A} dan A · A: = {c = a · b | a, b dari A}.

Ada set dengan jumlah kecil, misalnya, perkembangan aritmatika:
jikaP=1,2,...,n,|P+P|=2n1(ingat bahwa | A | menunjukkan jumlah elemen dari himpunan A).

Demikian pula, perkembangan geometrik G = {2, 2², ..., 2ⁿ} memiliki produk kecil: | G · G | = 2n - 1. Hipotesis jumlah produk menyatakan bahwa tidak ada set yang secara bersamaan memiliki jumlah kecil dan produk, yaitu, untuk set arbitrer A yang baik A + A atau A · A hampir sama dalam ukuran | A | ² (lebih tepatnya lebih sedikit lebih sedikit: | A | ²⁻ᵋ). Ketidaksetaraan di atas belum terbukti, tetapi bahkan kemajuan parsial di bidang ini telah menyebabkan kemajuan yang signifikan dalam masalah teori bilangan, kombinatorik aditif, kriptografi, dan teori sistem dinamik. Kursus khusus adalah pengantar bagian matematika yang indah ini.

Lihat lebih banyak:

  • Halaman dosen dalam file Likbez berisi banyak artikel pengantar dan tidak terlalu banyak tentang kombinatorik aditif.
  • Video Pasca Sains
  • Survei "Jumlah dan produk dari himpunan dan perkiraan jumlah trigonometri rasional dalam bidang urutan sederhana", "teorema Semeredi dan masalah pada perkembangan aritmatika".
  • Buku Combinatorics Aditif Tao Wu, Cambridge University Press 2006.

Bahan

Pemrograman


1. Prinsip-prinsip pemrograman


Guru: Vitaliy Bragilevsky (JetBrains)

Tentang kursus. Kursus ini dikhususkan untuk studi dan praktik prinsip-prinsip dasar yang mendasari pemrograman industri modern. Sebagai bagian dari kursus, dosen mencoba merumuskan sikap terhadap pemrograman sebagai jenis kegiatan profesional yang bertujuan untuk menciptakan perangkat lunak yang berkualitas tinggi, didukung dan produktif. Untuk melakukan ini, siswa mempelajari konsep dan cara-cara untuk mencapai kualitas perangkat lunak, membahas metode untuk menguji program, berbicara tentang berbagai gaya pemrograman dan bagaimana bekerja dengan data yang harus hidup antara peluncuran program.

Bahasa pemrograman utama dari kursus ini adalah Python, siswa juga berkenalan dengan beberapa orang lain (misalnya, Rust). Ini memungkinkan Anda untuk memperluas wawasan programmer Anda, dan juga untuk memahami bahwa kemampuan bahasa pemrograman secara substansial menentukan apa yang dapat diungkapkan oleh seorang programmer dengan bantuannya, tugas apa yang akan membuatnya nyaman, dan yang dengannya ia mungkin mengalami beberapa kesulitan.

Baca lebih lanjut: S. McConnell. Kode sempurna. Kelas master Edisi Rusia, 2019.

Bahan

2. Pemrograman fungsional


Dosen: Denis Nikolaevich Moskvin (Universitas Negeri St. Petersburg, Sekolah Tinggi Ekonomi)

Tentang kursus. Kursus dimulai dengan diskusi tentang model komputasi yang berbeda, siswa mencoba memahami bagaimana model perhitungan substitusi memungkinkan Anda untuk memprogram tanpa instruksi, hanya menggunakan ekspresi dan deklarasi. Mereka membahas pendekatan energik dan malas untuk komputasi, peran rekursi dalam bahasa fungsional dan cara-cara untuk memastikan penerapan fungsi rekursif yang efektif. Kami berkenalan dengan prinsip-prinsip membangun sistem jenis bahasa fungsional, mari kita bicara tentang mengapa jenis mereka disebut aljabar.

Mereka melihat bagaimana jenis memungkinkan Anda untuk melakukan kontrol atas apa yang dilakukan oleh programmer, dan terkejut bagaimana kontrol ini tidak mengganggu dan total pada saat yang sama. Bahasa pemrograman untuk kursus ini adalah Haskell. Siswa secara singkat mendiskusikan sejarahnya dan infrastruktur yang telah dikembangkan sejauh ini, berkenalan dengan sintaksis, tidak melupakan semantik, dan menulis sejumlah program: pertama bersama, dan kemudian secara individual.

Lihat lebih banyak:


Bahan

3. Bekerja pada baris perintah Unix


Guru: Vitaliy Bragilevsky (JetBrains)

Tentang kursus. Efektivitas menggunakan komputer untuk menyelesaikan berbagai tugas secara signifikan tergantung pada alat apa yang digunakan. Banyak orang lebih suka aplikasi grafis dan bekerja terutama dengan mouse (atau trackpad!). Pemrogram, di sisi lain, lebih suka keyboard lebih sering dan kadang-kadang menolak antarmuka grafis yang mendukung utilitas baris perintah dan editor teks konsol.

Dalam kursus ini, siswa belajar cara menggunakan baris perintah gaya UNIX, belajar cara memprogram dalam bash, dan juga menggunakan puluhan utilitas berbeda yang secara tradisional digunakan pada sistem UNIX seperti Linux dan Mac OS X. Pengguna Windows 10 menggunakan WSL dan Terminal Windows Dan yang paling penting: kami belajar untuk keluar dari editor vi dan menemukan mengapa editor Emacs masih lebih baik (atau sebaliknya!).

Bahan

4. Baca dan tulis dalam bahasa Kotlin


Guru : Mikhail Senin (JetBrains)

gambar

Tentang kursus. Kotlin adalah bahasa pemrograman serba guna modern yang dikembangkan oleh JetBrains. Kotlin memiliki fitur yang penting dalam pemrograman industri. Bahasanya singkat dan memiliki dukungan IDE yang baik. Pada 2017, Kotlin dipilih oleh Google sebagai bahasa untuk mengembangkan aplikasi seluler untuk Android. Bahasa ini nyaman untuk mengembangkan aplikasi server, asli dan web.

Sebagai bagian dari kursus, kami mempelajari sintaks bahasa dan mengimplementasikan proyek messenger kami sendiri, termasuk aplikasi server, klien web, dan aplikasi Android. Bekerja di Intellij IDEA (Edisi Komunitas) dan Android Studio.

Lihat lebih banyak:


Bahan

Ilmu Komputer


1. Cari objek kombinatorial menggunakan soliter ILP dan SAT


Dosen: Alexander Kulikov (Universitas Negeri St. Petersburg, Pusat CS, JetBrains)

Tentang kursus. Siswa dilatih untuk menemukan objek kombinatorial kompleks menggunakan SAT-solver, program untuk memecahkan masalah kepuasan Boolean dan ILP-solver, program untuk memecahkan masalah pemrograman linear integer. Kami belajar bagaimana kedua tugas ini dirumuskan dan berapa banyak tugas yang secara praktis penting direduksi menjadi tugas itu. Secara khusus, mereka bersama-sama mengimplementasikan program untuk memecahkan Sudoku, teka-teki silang Jepang, dan menemukan kotak Latin dan Yunani-Latin. Setelah itu, kami beralih dari teka-teki ke tugas-tugas penting di industri: untuk mencari sirkuit Boolean yang efektif (kami berkenalan dengan program Knuth untuk mencari sirkuit dan hipotesisnya tentang kompleksitas satu fungsi) dan kumpulan independen besar dalam grafik.

Untuk latihan, saya membutuhkan pengetahuan dasar tentang bahasa pemrograman Pyhton3 (loop, fungsi, I / O) dan pycosat dan mip libraries.

Bahan

2. Analisis gambar dan jaringan konvolusional


Guru: Alexey Artamonov (Yandex), Alexander Avdyushenko (Universitas Negeri St. Petersburg, CS Center, Yandex)

Tentang kursus. Terobosan dalam bidang visi komputer secara teratur terjadi di dunia modern: mendeteksi pernikahan dalam produksi berdasarkan gambar, mengenali dan bahkan mengubah wajah seseorang, mendiagnosis penyakit pada tahap awal dari foto - semua orang akan dengan mudah mengingat berita terbaru dari daerah ini. Jaringan saraf convolutional pada saat ini dalam visi komputer adalah salah satu keberhasilan terbesar dalam pembelajaran mesin. Dalam kursus ini, siswa belajar:

  • Bekerja dengan gambar menggunakan Python.
  • Ekstrak atribut semantik yang sederhana dan kompleks.
  • Desain jaringan saraf convolutional.
  • Lari dan latih mereka.

Lihat lebih banyak:


Bahan

3. Pelatihan penguatan


Guru: Alexey Tolstikov, Victor Otliga (Yandex, BSU)

Tentang kursus. Setiap hari Anda mencari sesuatu di Internet menggunakan salah satu mesin pencari utama, seperti, misalnya, Yandex atau Google. Atau tonton serial ini melalui Kinopoisk, dan ia menyarankan serial apa yang mungkin Anda sukai. Atau mungkin Anda pernah mendengar bahwa komputer telah melampaui manusia dalam game seperti go, Dota 2, dan bahkan Starcraft 2? Dasar dari semua ini adalah pembelajaran mesin, yang diusulkan untuk bertemu dalam kursus kami. Kami akan berbicara tentang algoritma klasik dan yang lebih maju seperti jaringan saraf dan pembelajaran penguatan.

Di kelas-kelas praktis, kami menerapkan bot kami sendiri untuk game Pakman klasik. Pembuat keputusan kami dengan kecerdasan buatan akan didasarkan pada salah satu bagian paling menarik dari pembelajaran mesin - pembelajaran penguatan. Di akhir kursus, bot kami akan bertarung di turnamen.

Lihat lebih banyak:

  • Anda dapat berlatih dengan Open AI Gym.
  • Kursus kuliah tentang Penguatan Pembelajaran Jauh dari Deep Mind, anak perusahaan kecerdasan buatan berbasis Google.
  • Kursus Kuliah “Pembelajaran Penguatan” oleh David Silver.
  • Buku "Reinforcement Learning: An Introduction".

Bahan

4. Sistem pemberi rekomendasi


Dosen: Andrey Danilchenko (Yandex)

gambar

Tentang kursus. Setiap hari kita dihadapkan dengan sejumlah besar informasi: proyek-proyek pendidikan sedang berlangsung, teman-teman menulis di jejaring sosial, artikel menarik diterbitkan di Habré, trek baru musisi favorit dan film baru yang ingin Anda tonton muncul. Agar tidak tenggelam dalam berbagai konten ini, sistem rekomendasi digunakan. Radio mengambil trek pribadi Anda, Zen dan jejaring sosial memberi peringkat konten secara pribadi. Dalam kursus ini, kami berbicara tentang bagaimana sistem seperti itu bekerja "di bawah tenda": dari mana data berasal, algoritma apa yang digunakan untuk memilih dan memberi peringkat konten.

Materi

Daftar semua kursus shift dengan presentasi

All Articles