17 February

В Интернете выложили курс АНБ по Python

PythonProgramming


Согласно информации издания ZDNet, теперь начинающие разработчики Python могут ознакомиться с учебными материалами по этому языку программирования от Агентства национальной безопасности (АНБ, англ. National Security Agency, NSA) США.

Программист Крис Свенсон (Chris Swenson) подал в АНБ запрос, используя Закон о свободе информации, о предоставлении ему доступа к учебным материалам агенства по Python. Через некоторое время он получил в ответ немного отредактированную четырехсотстраничную распечатку учебного курса COMP 3321 по Python, который преподается в АНБ. После этого Крис Свенсон отсканировал эту документацию с использованием механизма распознавания текста, чтобы сделать его доступным для поиска. Потом Свенсон разместил этот курс обучения в Digital Oceans Spaces. В настоящее время этот обучающий материал также доступен в Архиве Интернета.

Крис Свенсон в начале февраля 2020 года рассказал об этом событии на своей страничке в твиттере. Чуть позже один из пользователей уменьшил размер pdf-файла с курсом до 18 МБ для удобства.

«Если вы еще не знаете никаких языков программирования, то Python хорошо подходит для начального обучения. Если вы уже знаете другой язык, то вам будет просто понять Python», — написано в введении курса от АНБ. Курс COMP 3321 рассчитан на две полные недели обучения. Курс содержит краткое введение в Python от его создателя Гвидо ван Россума и объясняет, для чего этот язык подходит лучше всего, например, для автоматизации задач, создания веб-приложений или проведения углубленных математических исследований. В АНБ рекомендуют пройти этот курс всем начинающим разработчикам и будущим исследователем данных.

В процессе обучения используется версия 4.4.0 дистрибутива Anaconda3 Python, делается упор на запуск Python из командной строки, а также описана примеры по работе с инструментом Jupyter Notebook в браузере.

Свенсон рассказал в интервью ZDNet, что «в основном простое любопытство» побудило его отправить запрос в АНБ по учебному материалу по Python. Оказалось, что АНБ удалило или откорректировало некоторые материалы и даже абзацы в своем обучающем курсе COMP 3321 для внешнего использования. Крис Свенсон пообещал, что будет продолжать попытки получить дополнительную информацию по этому и другим курсам от агентства.

Разработчик Python Кушал Дас (Kushal Das) проанализировал курс обучения от АНБ. Он обнаружил, что:

  • у АНБ есть внутренняя индексация пакета Python (http://bbtux022.gp.proj.nsa.ip.gov/PYPI) — вероятно это сделано для обучающих целей;
  • isDivisibleBy7(), выглядит так, как будто это написал программист на java;
  • агентство использует GitLab по адресу gitlab.coi.nsa.ic.gov, а их галерея Jupyter работает по HTTPS;
  • предлагается использовать слишком много лишних скобок в условных операторах, тоже с while, например, while (i <= 20); while (True);
  • у них используется внутреннее облако под названием MACHINESHOP, где прорабатываются разные примеры в CentOS / RHEL (они используют команды yum);
  • обработка исключений была введена слишком поздно в этом курсе;
  • профилирование преподается с помощью cProfile, также АНБ учит использовать f-strings;
  • их инсталлер Python (pip mirror) размещен по адресу pip.proj.nsa.ic.gov/;
  • у них также есть внутренний дамп Википедии или это просто какой-то прокси-сервер для доступа к внешней версии — wikipedia.nsa.ic.gov/en/Colossally_abundant_number;
  • примечательно, что АНБ также опубликовало в курсе инструкции по установке Git для CentOS, Red Hat Enterprise Linux, Ubuntu и Windows, но не для Debian.
Tags:АНБPytonкурс обучения
Hubs: Python Programming
+24
46.5k 102
Comments 9
Python Developer
from 80,000 to 200,000 ₽kt.teamRemote job
Программист Python
from 80,000 to 120,000 ₽FITTINВоронеж
Python Разработчик (Python Backend Developer)
from 150,000 ₽Правое полушарие ИнтровертаRemote job
Python разработчик
from 70,000 to 130,000 ₽AGORARemote job
Python developer
from 170,000 to 200,000 ₽AIR ProductionМосква