Unix и Скриптовые языки 2012 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Лекции.)
(Задание по модулям Python)
 
(не показано 50 промежуточных версий 24 участников)
Строка 30: Строка 30:
 
  |[https://docs.google.com/document/pub?id=1sF9Nmr2hIF84YcfP-KPkEzvFfmnvOScFvqA1mGNwcqs Задачи]
 
  |[https://docs.google.com/document/pub?id=1sF9Nmr2hIF84YcfP-KPkEzvFfmnvOScFvqA1mGNwcqs Задачи]
 
  |
 
  |
 +
|
 +
|-
 +
!Лекция 4
 +
|19.10.2012
 +
|Python введение
 +
|Слайды [[Медиа:Unix-2012-07-Python.pdf|PDF]]
 +
|
 +
|-
 +
!Лекция 5
 +
|26.10.2012
 +
|Python строки
 +
|Слайды [[Медиа:Unix-2012-08-Python.pdf|PDF]]
 +
|
 +
|-
 +
!Лекция 6
 +
|2.11.2012
 +
|Python модули, итераторы
 +
|Слайды [[Медиа:Unix_2012_09_Modules.pdf|PDF]] [[Медиа:Unix_2012_09_Iterators.pdf|PDF]]
 +
|
 +
|-
 +
!Контрольная
 +
|9.11.2012
 +
|Тест [[Медиа:Test.pdf|PDF]]
 +
|
 +
|
 +
|-
 +
!Лекция 7
 +
|16.11.2012
 +
|Python ООП
 +
|Слайды [[Медиа:Unix_Slides_20111117.pdf |PDF]]
 +
|
 +
|-
 +
!Лекция 8
 +
|23.11.2012
 +
|Python ООП
 +
|Слайды [[Unix_20121123|Задание]] [[Медиа:Unix_2012_Python_OOP_Adv.pdf |PDF]]
 +
|
 +
|-
 +
!Лекция 9
 +
|30.11.2012
 +
|Python Функциональное программирование
 +
|Слайды [[Медиа:Unix_Slides_20111124.pdf |PDF]]
 
  |
 
  |
 
  |}
 
  |}
  
Для зачета контрольной необходимо набрать не менее 10 баллов!
+
== Зачет по Bash ==
  
Стоимость одной задачи на контрольной - 2 балла.
+
Для зачета контрольной необходимо набрать не менее 10 баллов! <br />
 +
Стоимость одной задачи на контрольной - 2 балла. <br />
 +
До 23:59 30 сентября - 1 балл. <br />
 +
После - 0.5 балла.
  
До 23:59 30 сентября - 1 балл.
+
== Задачи по Bash для "должников" ==
  
После - 0.5 балла.
+
Данные задачи необходимо решить для того, чтобы получить допуск для сдачи зачета! Зачет будет состоять из беседы и решения нескольких задач (часть из них в течение ограниченного времени в присутствии преподавателя).
 +
 
 +
# Найдите, сколько времени прошло с момента создания самого старого до создания самого молодого файла на компьютере.
 +
# Напишите скрипт, принимающий в качестве параметра каталог. Задача скрипта состоит в том, чтобы изменить имя каждого файла в каталоге и подкаталогах дописав в начало число, равное глубине вложенности файла. Например, файл A/B/C/x.txt должен превратиться в A/B/C/3x.txt.
 +
# Напишите визуализатор сортировки пузырьком. При визуализации каждый элемент массива отображается столбиком из символов '#'. Высота столбика совпадает со значением элемента массива. Два столбика, соответствующие элементам, которые сравниваются в данный момент, должны отличаться по цвету от остальных.
 +
 
 +
Вариант для тех, кому разрешили делать "эти" задачи:
 +
 
 +
# Пусть у вас есть кластер состоящий из большого числа узлов. Список узлов находится в файле nodes.txt. Часто возникает ситуация завести нового пользователя и прописать его на всех узлах (это происходит там, где кто-то не знает, что можно использовать, например, LDAP ^) ). Ваша задача -- написать скрипт, который после запуска получает от пользователя все необходимые данные для создания нового пользователя и создает такого пользователя на всех узлах кластера.
 +
# Напишите интерактивную утилиту для работы с XEN. Должны поддерживаться следующие возможности - запуск и остановка виртуальной машины; доступ к консоли виртуальной машины; вывод информации о занятости дисков виртуальных машин; разворачивание новой виртуальной машины из образа при этом задаются новые имя компьютера и его IP адрес.
 +
 
 +
== Задание по модулям Python ==
 +
 
 +
[https://docs.google.com/document/pub?id=11JMPjUMHbcqkyPNrEONpvOwemUpNbzJNovZfpf3XVkQ Задания по модулям]
 +
 
 +
# '''NumPy, SciPy, Matplotlib: Чаднов, Сонина, Шабалин, Плахотник, Монцев, Аристархов''' - заполнено
 +
# '''PIL: Аверьянов, Осипов, Цаплев, Арутюнова''' - заполнено
 +
# '''NetworkX: Орлов, Ломшаков, Таланов, Служаев, Майоров''' - заполнено
 +
# Socket: Пивоваров, Колмогоров, Яковлев
 +
# SMTPlib, POPlib:
 +
# pyQwt: Козятинский, Карташов
 +
# thread, threading: Гулецкий, Азаров, Савенко, Пальчиков
 +
# pyGame: Токарев — танчики, Сторожев - Tetris3D, Шумилин - Doodle Jump, Полушкин, Гончарова * (''как альтернатива - есть ещё движок Panda3d, там тоже можно на Python писать'') Castles, Pacman
 +
# pyasm: Жирков
  
 
== Рейтинг ==
 
== Рейтинг ==
 
* [https://docs.google.com/spreadsheet/pub?key=0Aif17q2hwUt4dEdwVXVZX3ZzVGJUY1ZiaEpjSG52SHc&output=html Рейтинг.]
 
* [https://docs.google.com/spreadsheet/pub?key=0Aif17q2hwUt4dEdwVXVZX3ZzVGJUY1ZiaEpjSG52SHc&output=html Рейтинг.]

Текущая версия на 02:45, 13 декабря 2012

Лектор - Кузнецов Антон Михайлович

Лекции.

Лекция 1 04.09.2012 История UNIX Слайды PDF Тест
Лекция 2 07.09.2012 Введение в команды UNIX Слайды PDF
Лекция 3 14.09.2012 Регулярные выражения. Sed, grep Слайды PDF
Лекция 4 21.09.2012 Bash scripts Слайды PDF Работа со строками Задание
Контрольная 28.09.2012 Задачи
Лекция 4 19.10.2012 Python введение Слайды PDF
Лекция 5 26.10.2012 Python строки Слайды PDF
Лекция 6 2.11.2012 Python модули, итераторы Слайды PDF PDF
Контрольная 9.11.2012 Тест PDF
Лекция 7 16.11.2012 Python ООП Слайды PDF
Лекция 8 23.11.2012 Python ООП Слайды Задание PDF
Лекция 9 30.11.2012 Python Функциональное программирование Слайды PDF

Зачет по Bash

Для зачета контрольной необходимо набрать не менее 10 баллов!
Стоимость одной задачи на контрольной - 2 балла.
До 23:59 30 сентября - 1 балл.
После - 0.5 балла.

Задачи по Bash для "должников"

Данные задачи необходимо решить для того, чтобы получить допуск для сдачи зачета! Зачет будет состоять из беседы и решения нескольких задач (часть из них в течение ограниченного времени в присутствии преподавателя).

  1. Найдите, сколько времени прошло с момента создания самого старого до создания самого молодого файла на компьютере.
  2. Напишите скрипт, принимающий в качестве параметра каталог. Задача скрипта состоит в том, чтобы изменить имя каждого файла в каталоге и подкаталогах дописав в начало число, равное глубине вложенности файла. Например, файл A/B/C/x.txt должен превратиться в A/B/C/3x.txt.
  3. Напишите визуализатор сортировки пузырьком. При визуализации каждый элемент массива отображается столбиком из символов '#'. Высота столбика совпадает со значением элемента массива. Два столбика, соответствующие элементам, которые сравниваются в данный момент, должны отличаться по цвету от остальных.

Вариант для тех, кому разрешили делать "эти" задачи:

  1. Пусть у вас есть кластер состоящий из большого числа узлов. Список узлов находится в файле nodes.txt. Часто возникает ситуация завести нового пользователя и прописать его на всех узлах (это происходит там, где кто-то не знает, что можно использовать, например, LDAP ^) ). Ваша задача -- написать скрипт, который после запуска получает от пользователя все необходимые данные для создания нового пользователя и создает такого пользователя на всех узлах кластера.
  2. Напишите интерактивную утилиту для работы с XEN. Должны поддерживаться следующие возможности - запуск и остановка виртуальной машины; доступ к консоли виртуальной машины; вывод информации о занятости дисков виртуальных машин; разворачивание новой виртуальной машины из образа при этом задаются новые имя компьютера и его IP адрес.

Задание по модулям Python

Задания по модулям

  1. NumPy, SciPy, Matplotlib: Чаднов, Сонина, Шабалин, Плахотник, Монцев, Аристархов - заполнено
  2. PIL: Аверьянов, Осипов, Цаплев, Арутюнова - заполнено
  3. NetworkX: Орлов, Ломшаков, Таланов, Служаев, Майоров - заполнено
  4. Socket: Пивоваров, Колмогоров, Яковлев
  5. SMTPlib, POPlib:
  6. pyQwt: Козятинский, Карташов
  7. thread, threading: Гулецкий, Азаров, Савенко, Пальчиков
  8. pyGame: Токарев — танчики, Сторожев - Tetris3D, Шумилин - Doodle Jump, Полушкин, Гончарова * (как альтернатива - есть ещё движок Panda3d, там тоже можно на Python писать) Castles, Pacman
  9. pyasm: Жирков

Рейтинг