Математическая логика на Python 25 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Основные данные по курсу)
м (тире поправил)
Строка 5: Строка 5:
  
 
== Введение ==
 
== Введение ==
Этот курс --- попытка представить математическую логику через призму программирования на Python. Такой подход, позваляет студентам использовать интуицию и опыт программированя для изучения логики и, будем надеятся, сделает логику более доступной и наглядной. Практическая работа с кодом позволяет глубже понять концепции математической логики и увидеть работу этих концепций в реальных программах.
+
Этот курс -- попытка представить математическую логику через призму программирования на Python. Такой подход, позваляет студентам использовать интуицию и опыт программированя для изучения логики и, будем надеятся, сделает логику более доступной и наглядной. Практическая работа с кодом позволяет глубже понять концепции математической логики и увидеть работу этих концепций в реальных программах.
  
 
=== Описание курса ===
 
=== Описание курса ===
Строка 16: Строка 16:
  
 
В формуле участвуют:
 
В формуле участвуют:
'''ДЗ''' --- доля пройденных тестов в заданиях на Python умноженная на 10.
+
'''ДЗ''' -- доля пройденных тестов в заданиях на Python умноженная на 10.
'''Колл''' --- оценка за коллоквиум, который пройдет после 3 модуля во время сессии (по 10 бальной шкале).
+
'''Колл''' -- оценка за коллоквиум, который пройдет после 3 модуля во время сессии (по 10 бальной шкале).
'''Экз''' --- оценка за экзамен (по 10 бальной шкале)
+
'''Экз''' -- оценка за экзамен (по 10 бальной шкале)
  
 
Автомат будет выставлятся при условии, что MIN('''ДЗ''', '''Колл''') >= 8. В этом случае итоговая оценка будет равна (2*'''ДЗ'''+'''Колл''')/3, с округлением к ближайшему целому числу.
 
Автомат будет выставлятся при условии, что MIN('''ДЗ''', '''Колл''') >= 8. В этом случае итоговая оценка будет равна (2*'''ДЗ'''+'''Колл''')/3, с округлением к ближайшему целому числу.
  
 
'''Итоговая оценка''' = 0.5 '''ДЗ''' + 0.25 '''Колл''' + 0.25 '''Экз'''
 
'''Итоговая оценка''' = 0.5 '''ДЗ''' + 0.25 '''Колл''' + 0.25 '''Экз'''

Версия 16:02, 23 января 2025

Объявления

  • Дэдлайн по 1 домашнему заданию - 31.01.25.


Введение

Этот курс -- попытка представить математическую логику через призму программирования на Python. Такой подход, позваляет студентам использовать интуицию и опыт программированя для изучения логики и, будем надеятся, сделает логику более доступной и наглядной. Практическая работа с кодом позволяет глубже понять концепции математической логики и увидеть работу этих концепций в реальных программах.

Описание курса

Курс включает пропозициональную логику и логику первого порядка. При этом планируется логику планируется изложить на уровне полноценного курса по математической логики со всеми важными теоремами и доказательствами. В качестве литературы можно использовать Н. К. Верещагин, А. Шень. Часть 2. Языки и исчисления. 5-е изд., М.: МЦНМО, 2017.

С другой стороны будет уделено много внимание тому как реализовать все формальные конструкции на языке Python и тут мы будем в основном следовать материалам на сайте https://www.logicthrupython.org/ Вместо решения обычных задач на семинарах мы будем писать программы, которые реализуют используемые в курсе конструкции. Имеются шаблоны программ, в которых недописаны некоторые куски кода, которые студенты должны дописать, чтобы в результате получилась работающая программа. В шаблонах имеются тесты, которые позволяют проверить работоспособность.

Формула оценки

В формуле участвуют: ДЗ -- доля пройденных тестов в заданиях на Python умноженная на 10. Колл -- оценка за коллоквиум, который пройдет после 3 модуля во время сессии (по 10 бальной шкале). Экз -- оценка за экзамен (по 10 бальной шкале)

Автомат будет выставлятся при условии, что MIN(ДЗ, Колл) >= 8. В этом случае итоговая оценка будет равна (2*ДЗ+Колл)/3, с округлением к ближайшему целому числу.

Итоговая оценка = 0.5 ДЗ + 0.25 Колл + 0.25 Экз