Вашему вниманию представляется сборник мануалов и гайдов по первому курсу ВТ. Была проделана большая работа как тех, кто находил эту информацию, так и тех, кто структурировал, оформлял и объеденял в один источник. Мы старались 😄
Первокурсники, пользуйтесь с умом и всем хороших оценок!)
- Описание
- Оглавление
- Общая информация
- Устройство университета
- Сокращения, сленг и ссылки
- Сборник полезных источников
- Гелиус
- Подключение и загрузка файлов
- Авторизация на se.ifmo.ru
- Подключение через консоль (powershell, bash, zsh, e.t.c)
- Загрузка файлов через консоль (powershell, bash, zsh, e.t.c)
- Создание
.bat
- файла для авто-подключения к серверу (консоль + для загрузки файлов) - PuttY (консоль)
- WinSCP (для загрузки файлов)
- FileZilla (для загрузки файлов)
- Git (для загрузки файлов)
- Сочетания клавиш и команды терминала
- Траблы
- Cоздание перманентной переменной окружения
- Приколы
- Подключение и загрузка файлов
- Система оценивания БаРС и разбалловка по всем предметам
- ITMO ENTER
- Информатика
- Математика
- Программирование
- ОПД
- БД
- Дискретная математика
- Алгосы (Олпрога)
- Особая благодарность
Если вы читаете этот гайд, значит вы поступили на такие факультеты как: Cистемное и прикладное программное обеспечение (СППО), Информатика и вычислительная техника (ИВТ), Нейротехнологии и программирование (Нейротех), факультет Систем управления и робототехники (СУИР) и другие. Как только вы узнали о поступлении следует идти по следующим шагам:
- Заселение в общагу (опционально, 17-? августа)
- Купить симку с интернетом
- Узнать группу и присоединиться к чату с адаптерами (старшекурсник, помогающий первокурсникам освоиться в университете), возможно они вас сами найдут, но лучше не надеяться на это благословение
- Выборность на ITMO.ENTER (29 августа)
- Написать распределительный тест по математике (опционально :-), 28-31 августа)
- Написать распределительный тест на знание английского языка (30 августа)
- Скачать приложение itmo.map на телефон (30 августа)
- Встреча с факультетом (31 августа)
- Встреча с адаптерами (31 августа)
- ITMO.ENTER (2-4 сентября)
- Выборность на следующий семестр (2 сентября с 17:00 до 21:00, 3-4 сентября с 9:00 до 21:00)
- Первые пары (5 сентября)
- ITMO GO! (7 сентября)
- ITMOtion Night (7-8 сентября)
- Физкультура
- 100+ баллов - зачёт (20+ посещений)
- Зачётный предмет
- 60+ баллов - зачёт*
- *количество баллов не влияет на стипендию, оценку, красный аттестат и т.д.
- *есть слух, что количество баллов влияют на перевод на бюджет в спорных ситуациях
- Дифференцированный зачет/Экзаменационный предмет
- 60-74 баллов - оценка 3
- 74.01-90 баллов - оценка 4
- 90.01+ баллов - оценка 5
- ВТ: раньше была кафедра Вычислительной Техники, вместо которой сейчас факультет ПИиКТ. Употребляется ВТ заместо СППО или ИВТ.
- ИВТ: "Информатика и вычислительная техника" (09.03.01)
- СППО: "Cистемное и прикладное программное обеспечение" (09.03.04)
- Нейротех: "Нейротехнологии и программирование" (09.03.04)
- СУИР: факультет Систем управления и Робототехники. Часто спрашивают, т.к. существует используемый многими первашами перевод с конкретных направлений СУИРа на ВТ.
- КТ (ПМИ): "Прикладная математика и информатика" (01.03.02)
- ИС (ИСиТ,
β-версия КТ): "Информационные системы и технологии" (09.03.02)
graph TD;
ИТМО-->мф.КТиУ;
ИТМО-->мф.ТИнТ;
ИТМО-->мф.НОЖ;
ИТМО-->ФТмф;
мф.КТиУ-->ф.ПИиКТ;
мф.КТиУ-->ф.СУИР;
мф.КТиУ-->ф.БИТ;
мф.КТиУ-->ц.ХИ;
ф.ПИиКТ-->ИВТ;
ф.ПИиКТ-->Нейротех;
ф.ПИиКТ-->Дизайн;
ф.ПИиКТ-->СППО;
ц.ХИ-->Биоинж
мф.ТИнТ-->ф.ИТиП
мф.ТИнТ-->ф.ИкТ
ф.ИТиП-->ПМИ;
ф.ИТиП-->ИСиТ;
ф.ИкТ-->Мобилки;
ф.ИкТ-->ПвИС;
ф.ИкТ-->ИСвГС;
мф.НОЖ-->ф.БиоТех;
мф.НОЖ-->ХБк;
мф.НОЖ-->НОЦ;
мф.НОЖ-->ф.ЭиЭ;
НОЦ-->Инфохим;
ФТмф-->Фф;
ФТмф-->и.ЛТ;
ФТмф-->ИФф;
ФТмф-->ФизФ;
и.ЛТ-->Лазеры;
Прога
- Программирование на javaОПД
- Основы профессиональной деятельностиБД
- Базы данныхДискра / ДМ
- Дискретная математикаКИК
- Коммуникации и КомандообразованиеБЖД
- Культура Безопасности ЖизнедеятельностиВеб
- Веб-программирование (2 курс)ЯПы
- Языки программирования (2 курс)
Подробно и наглядно можно посмотреть тут
Кронва / ГК
- главный корпус университета на Кронверском 49Ломо
- корпус университета на Ломоносова 9Биржа
- корпус университета на Биржевой линии 14-16Гривцова
- корпус университета на Гривцовом переулке 14-16 лит.АЧайка
- корпус университета на Чайковской улице 11.2 лит.АГастелло
- корпус университета на улице Гастелло 12
Подробно и наглядно можно посмотреть тут
Вязьма
- общежитие на Вяземском переулке 5-7 лит.А- 20 минут до ГК
- 45 минут до ломо
- Микс блочки (две комнаты, на 2-3 человека, душ, туалет) и коридорки (комнаты на 2-3 человека, душ на первом этаже, туалеты на каждом)
- В некоторых частях этажей есть тараканы
- Не во всех блоках новый ремонт
Белорусская / б6 / белка
- общежитие на Белорусской улице д.6 лит.А- 70 минут до ГК
- 50 минут до ломо
- Блочка (две комнаты, на 2 и 3 человека, душ, туалет)
- Тараканов нет
- Постоянный ремонт одного из 12 этажей
Альпийка
- общежитие на Альписском переулке 15 к.2 лит.А- 60 минут до ГК
- 50 минут до ломо
- коридорка (комната на 2 человека, для двух комнат общий балкон)
- Тараканов нет
- В коридоре примерно 6 комнат и один туалет. Душ один и только на втором этаже.
Ленсовета
- Общежитие на улице Ленсовета д.23 лит.А- 40 минут до ГК
- 40 минут до ломо
- Коридорка (комнаты на 2, чаще 3 человек)
- Тараканы на кухне
МСГ
- Новоизмайловский пр., 16Доходный дом
- наб. р. Карповки, д. 22, корп. 2, лит. БЛТУ
- ул. Вавиловых, д. 12
май итмо
- расписание, стипа, выборность, физра, зачётка...ЦДО
- платформа для тестирований по истории, ITMOEnter, информатика...ИСУ
- главная платформа университетасе ифмо
- сайт с лабами ВТбарс
- баллы по предметам (актуальнее чем в май итмо)центр карьеры
- центр карьеры обучающихся ИТМОапартаменты
- сервис подбора арендного жилья
- Гайд для абитуриентов ИТМО ВТ 2021-2022
- ITMO.ENTER
- ITMOMENT
- ITMO.STUDENTS
- Виртуальный Студофис
- Корень из ИТМО
- ITMOLNIA
- БЛУМ БЛОГ(АНТИ ИТМЕМ)
- Гордые Лица СУиРа на каждый день
- Обычный день в университете ИТМО
- ИТМЕМ
- 1st_year_guide_YT_mirror
Cем
- семестр, пол учебного годаКурс
- два семестраПара
- занятия продолжительностью 1.5 часаАвтомат
- автоматические баллы за экзаменЛаба
- может обозначать как пару по предмету, так и саму лабораторную работуПрод
- профильная (продвинутая) математикаБаза
- базовая математикаЭкз
- экзаменАлгосы
- aлгоритмыОлпрога
- олимпиадное программированиеРубежка
- рубежная работаКурсач
- курсовая работаДЗ
- домашняя работакр
- контрольная работаСессия
- период массовой сдачи экзаменов в конце семаДопса
- дополнительная сессия, идущая во время следующего семестра в течение первых 1-2 месяцев для закрытия долгов за предыдущий семестрКомса
- комиссия, последний способ закрыть долги, совещание после которого отчисляют студентовГх
- гитхабГит
- git, распределённая система контроля версийось
- операционная системалинка
- ссылка (от англ. link)
P.S. сортировка содержимого по релевантности слева->направо
источник | содержимое (иконки кликабельны) |
---|---|
worthant | |
Black Rider | |
Zerumi | |
maxbarsukov | |
https://notesitmo.github.io/cse-notes/first-course/firstcourse.html | |
<T> | |
Roman Vassilchenko | |
Kamil | |
https://picloud.pw/cloud/ | экземпляры лаб прошлых лет; ответы на ЦДО; |
https://github.com/Roggired/ITMO | Репозиторий с общей информацией по проге и опд. Там же можете найти требования к лабам, к отчетам (пример отчета), и всякие другие полезные вещи. |
- Примерно в 5-х числах сентября у вас откроется доступ к Гелиусу вот здесь.
- Гелиус - это итмошный сервак. На нём будут сдаваться лабораторные по
проге
(1-7),ОПД
(1) иБД
(1-4)
Все работы нужно загружать на этот сервер, они должны на нём полностью функционировать, если это требуется.
Сделано это для того, чтоб все были в равных условиях и вы могли попрактиковать bash и взаимодействие с сервером. P.S. - на сервере стоит осьFreeBSD
Авторизация в se.ifmo.ru
- Логин:
sТабельныйНомер
(далееsXXXXXX
) - Пароль: se.ifmo.ru/passwd (далее
PASSWD
)
На выбор:
1. ssh -p 2222 [email protected]
2. ssh [email protected] -p 2222
3. ssh [email protected] -p 2222
scp -P 2222 FileForUpload.java [email protected]:DirectoryToUpload
- Пример загрузки файла README.md в вашу корневую директорию sXXXXXX:
scp -P 2222 README.md [email protected]:.
Уже готовый архив со всем необходимым для подключения можно скачать здесь
Никаких дополнительных программ для работы не нужно скачивать, следует лишь отредактировать
.bat
- файлы, написав свойлогин
ипароль
Пример содержания такого файла:
rem PuTTY
start "" "putty_portable.exe" sXXXXXX@se.ifmo.ru:2222 -pw PASSWORD
rem start "" "C:\\Program Files\\PuTTY\\putty.exe" -ssh -P 2222 sXXXXXX@se.ifmo.ru -pw PASSWORD
rem WinSCP
start "" "%ProgramFiles%\\WinSCP\\WinSCP.exe" sftp://sXXXXXX:PASSWORD@se.ifmo.ru:2222
rem start "" "C:\\Program Files (x86)\\WinSCP\\WinSCP.exe" sftp://sXXXXXX:PASSWORD@se.ifmo.ru:2222
rem FileZilla
rem start "" "%ProgramFiles%\\FileZilla FTP Client\\filezilla.exe" sftp://sXXXXXX:PASSWORD@se.ifmo.ru:2222
PuttY (консоль)
- Имя хоста:
[email protected]
- Порт:
2222
- Нажимаем "Соединиться"
- Пишем
PASSWD
WinSCP (для загрузки файлов)
- Протокол:
sftp
- Имя хоста:
se.ifmo.ru
- Порт:
2222
- Имя пользователя:
sXXXXXX
- Пароль:
PASSWD
FileZilla (для загрузки файлов)
- Хост:
sftp://se.ifmo.ru
- Имя пользователя:
sXXXXXX
- Пароль:
PASSWD
- Порт:
2222
- Создаём репозиторий на гх и загружаем туда свои файлы через браузер
- Заходим на сервак
- Пишем
git clone <Ссылка на репозиторий>
Tab
- может помочь вводить имена файлов (автозаполнение)Enter
- может помочь копироватьCntrl+D
- EOF, чтобы оборвать выполнение чего угодноCntrl+C
- попросить приложение прервать свою работу↑↓
- предыдущая / последующая командаCntrl+shift+V / Cntrl+Shift+C
- вставить из / скопировать в буфера обменаchmod -R 755 ./*
может помочь избавиться от ошибок доступаchmod -R 700 ~
может помочь избавиться от любопытных глаз- Список основных команд UNIX
[sXXXXXX@helios ~]$ javac
Error occurred during initialization of VM
Could not reserve enough space for 31424512KB object heap
В большинстве случаев спасает патч Ценекова:
# By @dts256 (feat. @Fenaven)
export _JAVA_OPTIONS="-Xmx256M"
export JAVA_VERSION="17.0+"
export JAVA_HOME="/usr/local/openjdk17"
export PATH=/usr/local/openjdk17/bin/:$PATH
Второй патч, который просто закрывает все сессии
killall -u `whoami`
Также поможет при
java.net.BindException: Address already in use
Третий вариант, просто дождаться 4х часов ночи, именно в это время происходит перезагрузка гелиуса
Проблемы с базой данных и клиентскими и серверными приложениями (не запускается, переполнение кучи и т.д.)
- Посмотрите какие потоки работают:
ps -A
- Искусственно выключите ненужные:
kill <pid>
- Создаем файлик .bash_profile в своей корневой директории
sXXXXXX
:
vim .bash_profile
- В файлик пишем следующее (на примере 5 лабы):
lab5="/home/studs/sXXXXXX/{pathToFile}"; export lab5
- Нажимаем
Esc
и пишем следующее:
:wq
записываем + выходим из текстового редактора
vim
- Закрываем соединение (
exit
) и подключаемся снова
Get IP addresses
[sXXXXXX@helios ~]$ w
USER TTY FROM LOGIN@ IDLE WHAT
sXXXXXX pts/$$ $$.$$.$$.$$ $$:$$ $$ -
sXXXXXX pts/$$ $$.$$.$$.$$ $$:$$ $$ -
sXXXXXX pts/$$ $$.$$.$$.$$ $$:$$ $$ -
sXXXXXX pts/$$ $$.$$.$$.$$ $$:$$ $$ -
sXXXXXX pts/$$ $$.$$.$$.$$ $$:$$ $$ -
sXXXXXX pts/$$ $$.$$.$$.$$ $$:$$ $$ -
За следующие действия вас могут отчислить, так что пользуйтесь с умом, не злоупотребляйте
Broadcast message
1. echo "Здесь могла быть ваша реклама">>test
2. wall test
3. Broadcast Message from [email protected]
(/dev/pts/##) at $$:$$ MSK...
Здесь могла быть ваша реклама
Игра в minecraft по shh:)
# HOST
ssh -R GeliusPort:localhost:25565 [email protected] -fNT -p 2222
# CLIENT
ssh [email protected] -p 2222 -L 25565:localhost:GeliusPort
# GeliusPort - any number from 1024 to 32000
graph
POINTS(ваши баллы)-->A(<60);
POINTS(ваши баллы)-->С(60-67);
POINTS(ваши баллы)-->Е(67.01-74);
POINTS(ваши баллы)-->G(74.01-83);
POINTS(ваши баллы)-->I(83.01-90);
POINTS(ваши баллы)-->К(90.01);
A(<60)-->B[2FX];
С(60-67)-->D[3E];
Е(67.01-74)-->F[3D];
G(74.01-83)-->H[4C];
I(83.01-90)-->J[4B];
К(90.01+)-->L[5A];
ссылка на гугл таблицу | описание |
---|---|
СУиР 1 курс / 1 семестр БаРС | Гугл таблица с разбалловкой по ВСЕМ предметам 1 семестра 1 курса СУиРа |
СППО/ИВТ 1 курс 1 семестр БаРС | Гугл таблица с разбалловкой по ВСЕМ предметам 1 семестра 1 курса ВТ |
СППО/ИВТ 1 курс 2 семестр БаРС | Гугл таблица с разбалловкой по ВСЕМ предметам 2 семестра 1 курса ВТ |
Фотки презентаций, тестов и QR-кодов с ITMO Enter 2022
- В 2022-23 году обучения эта дисциплина была обязательной. Да, по ней действительно в теории можно было получить незачёт. Насколько нам известно, в новом учебном году эту дисциплину сделали необязательной, поэтому поручаем вам задачу выяснить это самостоятельно :)
Спорт:
- Талисман - снежный барс Барс Тим
- 5 раз были лучшим спортивным студенческим клубом с 2016 по 2021
На "внимание образование" посоветовали взять у преподавателей рабочую программу дисциплины и чеклист для зачёта, чтобы не пропустить ничего!
ФабЛаб - является малой лабораторией-мастерской для реализации личных проектов и ведения учебной деятельности для студентов. Логин. ТГ чат.
Мегабайт медиа и их школа (прием анкет уже закрыт, но вы можете написать им на почту). У их участников повышенная стипендия.
Курс по информатике представляет собой совокупность самый актуальных сфер IT. Он достаточно хорошо расписан преподавателем в тг канале 2022-23, так что сложности с этим предметом возникают редко.
Анонимныйтест об ожиданиях от курса Информатики (1 балл
+1.25 баллов
за своевременность)- 7 аннотаций, сдаваемых в начале каждой лекции (
7 * 1 балл
+7 * 1.25 баллов
за своевременность) - 6 лабораторных:
- Системы счисления: n-ричная (вещественная), фибоначчиевая, нега-позиционная, симметричная, факториальная (
3 балла
) - Код Хэмминга (
4 балла
) - Регулярные выражения.
import re
в Python (6 баллов) - Написание парсера на Python из XML/JSON/YAML в XML/JSON/YAML, наверное самая сложная лаба (
9 баллов
) - Поразрядное сложение чисел в Exel (
6 баллов
) - Воссоздание скриншота страницы книги в LaTeX. Онлайн-редактор (
7 баллов
)
- Системы счисления: n-ричная (вещественная), фибоначчиевая, нега-позиционная, симметричная, факториальная (
- 2 теста на ЦДО (
2*10 балла
, 2 попытки) - Экзамен (
20 баллов
, автомат на11-14 баллов
(вычисляется каксумма баллов за 1-4 пункт * 0.185
) баллов при 4х первых лабах и 2х ЦДО-тестах на 60%+, минимально необходимо набрать7 баллов
) - Мемы в конце аннотаций, полезные ссылки/смешные мемы в лс преподавателю (
3 балла
)
Аннотация
- это краткое изложение содержания статьи в интернете. В ней нужно собрать всю актуальность, которая будет ценна читателю. Важно именно пересказывать, а не копировать части статьи.- Найти подходящую статью не так просто: чаще всего используется тактика поиска по хабру. Более крутые используют статьи с других сайтов (Например: techxplore.com и newatlas.com).
- Поле
Дата прошедшей лекции
- дата прошедшей лекции- Поле
Номер последней лекции
- порядковый номер прошедшей лекции- Поле
Дата сдачи
- дата лекции, на которую выпринесёте аннотацию
. Если будете сдавать позже, то писатьфактическую
дату сдачи.- Дата материала должна быть не старше
{текущий год} - 3 года
, т.е. с 01.01.{текущий год - 3} по сегодняшний день.- Материал должен быть
близким к теме прошедшей лекции
. Либо быть очень важным для вас, либо очень прорывная технология и т.п. В ином случае часто режут баллы, но если есть желание писать по тому, что вам интересно -пишите!
Аннотации приносят не так много баллов, поэтому даже со срезанными баллами не сложно получить 5A (на личном опыте).- Концентрируйтесь лучше на
лабах
ирубежке
.- Не надо новости IT-экономики, только если Google и Amazon вдруг купят друг друга (тогда это кардинально повлияет на весь IT-мир).
- Шаблон аннотации берите из телеграмм канала, он каждый год немного меняется.
- Скриншоты и генераторы ответов.
- Рубежка пишется под камерой, тактика списывания может быть аналогична списыванию истории.
- Многие заданий по типу запустить в питоне или посчитать на калькуляторе.
Но мы этого, конечно же, не говорили!
Авторы
этого гайда все писали рубежкисами
и намаксимум
, чего и вам советуем :)
> За лабами и доп.материалами советую всегда обращаться в сборник полезных источников <
- Плюс ЦЭ
- Разбор МА: YA-disk
- Рубежные тесты по ЛГ: miro
- Производные: miro
- Определённые интеграллы: miro
- Математика (МА КР-1) Методы неопределенного интегрирования: YT
- Неопределенные интеграллы: miro
- Диагонолизация матрицы: miro
- Линейные подпространства: miro
- ЛА и МА 2022-23: YT
- База лингема: YT
- Математика - Экзамен: miro
- Матанализ Экзамен: miro
- Задачник для линала с ответами
На результаты тестов на OnlineTestPad можно просто скидывать ссылки, таким образом объеденяя ответы. Exemple. В итоге можно получить что-то такое или такое. Скрипт для автоматизации сбора данных по ссылкам.
> За лабами и доп.материалами советую всегда обращаться в сборник полезных источников <
И в
первом
и вовтором
семестрепо 4 лабы
.
Журнал успеваемости потока 2022-23 учебного года 1 семестра
Журнал успеваемости потока 2022-23 учебного года 2 семестра
Кроме 8 лабы этапы сдачи следующие:
- Делаете лабу
- Закидываете на гелиус -> туториал
- Делаете отчет (у некоторых практиках нетребуется)
- Защищаете лабу
Отчет- Код (соответвие заданию, реализованые патерны...)
- Выполнение на гелиусе (программу пытаються крашнуть, Ctrl+C/D, Фаззинг...)
- Теория
Отличие с 8 лабой в том, что там GUI - графический интерфейс, который не надо выгружать на гелиос. Бд либо локально поднимаете, либо делаете проброс портов на сервер.
- в 1 семестре чтобы получить автомат - достаточно закрыть все лабы и рубежку
- во 2 семестре нужно получить >= 70 баллов за практику (лабы + рубежка), тогда поставят 5А автоматом.
-
Вторая рубежка по проге P.S. Во втором задании официально ответ пустой
-
Cайтик с паттернами и полезными советами по написанию чистого кода (без впн не работает)
.java - файл в котором написана ваша программа (текстовый)
.class - файл с байткодом (бинарный)
MANIFEST.mf - файл описывающий как архивировать и запускать классы (текстовый)
.jar - архив с одним или несколькими .class (бинарный)
Создадим файл HelloWorld.java:
echo 'class HelloWorld{public static void main(String args[]){System.out.println("Hello!");}}' > HelloWorld.java
Можем сразу запустить этот .java файл:
java HelloWorld.java
Либо скомпилировать (.java -> .class):
javac HelloWorld.java
в директории должен создаться файл HelloWorld.class, запустить его можно так:
java HelloWorld
Стоит заметить что расширение НЕ пишется, для запуска .class файла, иначе можно получить ошибку:
Error: Could not find or load main class HelloWorld.class Caused by: java.lang.ClassNotFoundException: HelloWorld.class
Теперь допустим у нас несколько .java файлов
Пример
.
├── Program.java
├── pokemons/
│ ├── HoOh.java
│ └── Piloswine.java
├── attacks/
│ ├── physicalAttacks/
| │ └── Bulldoze.java
│ └── statusAttacks/
| └── Amnesia.java
└── lib/
├── LibName.jar
├── LibName2.jar
└── LibName3.jar
Для компиляции лучше выбрать папку, куда сохранять наши .class файлы:
javac -d classes {*,*/{*,*/*}}.java
или если для компиляции класса необходимы внешние библиотеки:
javac -cp lib/LibName.jar:lib/LibName2.jar:lib/LibName3.jar -d classes {*,*/{*,*/*}}.java
Состояние директорий после выполнения
.
├── Program.java
├── pokemons/
│ ├── HoOh.java
│ └── Piloswine.java
├── attacks/
│ ├── physicalAttacks/
| │ └── Bulldoze.java
│ └── statusAttacks/
| └── Amnesia.java
├── lib/
| ├── LibName.jar
| ├── LibName2.jar
| └── LibName3.jar
└── classes/
├── Program.class
├── pokemons/
│ ├── HoOh.class
│ └── Piloswine.class
└── attacks/
├── physicalAttacks/
│ └── Bulldoze.class
└── statusAttacks/
└── Amnesia.class
В Linux разделитель -classpath
:
, а в Windows;
!
-cp или -classpath - то, где искать вспомогательные классы
{*,*/{*,*/*}}.java
- сокращенная запись*.java */*.java */*/*.java
Теперь создадим MANIFEST.mf файл, сообщающий главный класс + библиотеки которые использует приложение:
echo -e "Manifest-Version: 1.0\nMain-Class: Program\nClass-Path: lib/LibName.jar lib/LibName2.jar lib/LibName3.jar\n" > MANIFEST.mf
Состояние директорий после выполнения
.
├── Program.java
├── pokemons/
│ ├── HoOh.java
│ └── Piloswine.java
├── attacks/
│ ├── physicalAttacks/
| │ └── Bulldoze.java
│ └── statusAttacks/
| └── Amnesia.java
├── lib/
| ├── LibName.jar
| ├── LibName2.jar
| └── LibName3.jar
├── classes/
| ├── Program.class
| ├── pokemons/
| │ ├── HoOh.class
| │ └── Piloswine.class
| └── attacks/
| ├── physicalAttacks/
| │ └── Bulldoze.class
| └── statusAttacks/
| └── Amnesia.class
└── MANIFEST.mf
Содержание MANIFEST.mf:
Manifest-Version: 1.0
Main-Class: Program
Class-Path: lib/LibName.jar lib/LibName2.jar lib/LibName3.jar
Тут важно не забыть про перенос строки в конце файла, иначе последняя строчка будет игнорироваться
Теперь собирём .jar архив из этих .class файлов и MANIFEST.mf манифеста:
jar -cvfm app.jar MANIFEST.mf -C classes .
Состояние директорий после выполнения
.
├── Program.java
├── pokemons/
│ ├── HoOh.java
│ └── Piloswine.java
├── attacks/
│ ├── physicalAttacks/
| │ └── Bulldoze.java
│ └── statusAttacks/
| └── Amnesia.java
├── lib/
| ├── LibName.jar
| ├── LibName2.jar
| └── LibName3.jar
├── classes/
| ├── Program.class
| ├── pokemons/
| │ ├── HoOh.class
| │ └── Piloswine.class
| └── attacks/
| ├── physicalAttacks/
| │ └── Bulldoze.class
| └── statusAttacks/
| └── Amnesia.class
├── MANIFEST.mf
└── app.jar
-c - recompile
-v - info of compile
-f - output file name
-m - manifest name
-C - change main dir
Запускаем:
java -jar app.jar
Для отладки программы, компилируем класс с флагом -g:
javac -g HelloWorld.java
Запускаем отладчик:
jdb HelloWorld
> stop in HelloWorld.main
- set breakpoint in HelloWorld.class on main method
> stop in HelloWorld:3
- set breakpoint in HelloWorld.class on 3 line
> run
- run program
main[1] list
- print programm
main[1] print i
- print value of i
main[1] dump i
- print value of i
main[1] locals
- print value of local values
main[1] step
- do 1 step
взято отсюда
> За лабами и доп.материалами советую всегда обращаться в сборник полезных источников <
В
первом
семестре -2 лабы
, вовтором
семестре -5 лаб
.
Журнал успеваемости потока 2022-23 учебного года 1 семестра
Журнал успеваемости потока 2022-23 учебного года 2 семестра
- ОПД с 0 (YT)
- Гайд по человеческой трассировке, BCOMP Command Line Interface и ассемблеру
- Перевод гайда выше на русский (outdated)
- Методичка
- "Синяя библия"
- Тренажёр для 1 рубежки
- Тренажёр для 2 рубежки (доступные варианты: 1-3, 100-700)
- Небольшой гайдик по 3 лабе
- Мануал к 4 лабе
- Мануал к 5 лабе: 1 часть, 2 часть
- Мануал к 6 лабе
- Экзаменационные вопросы по ОПД
- YT
- Как выжить студентам Дмитрия Борисовича Афанасьева
- Стандартные потоки ввода/вывода
- Регулярки для опд (трени + quick referenses)
- ОПД 2019-21 (YT)
- Трассировка микрокоманд / Рубеж 3 (полный разбор)
- в 1 семестре чтобы получить автомат - достаточно закрыть все лабы и рубежку
- во 2 семестре все будут писать билетный экзамен
- Почему команды начинаются с 01, а не с 00. (вопрос глубокий в том плане что да, нам это говорили на лекции, но придётся открыть схему микрокоманд, показать как там происходит всё и дать комментарии)
- В чём преимущество вертикальных команд перед горизонтальными
- Какие вентили не имеет смысла, либо не рекомендуется ставить одновременно в ОМК. Ну т.е. какие всё сломают и почему.
- За какое минимальное и максимальное количество тактов у меня будет работать комплекс микропрограмм (изи вопрос, но оставлю на всякий) (у меня он имеет смысл ибо у меня умножение и тут различается аж на 15 тактов)
- Забыл, но насколько я помню вопрос был не сложный, я сразу ответил. что-то из серии а что будет если вот так сделать
- Заходим в методичку, указанную в материалах к ОПД выше и читаем, там подробно описан этот рубеж. Советую внимательно прочитать, а затем потренироваться на тренажёре
- Есть 2 варианта этой рубежки.
Основной - первый
, второй может быть на переписи. 1 вариант
: запускают в аудиторию, выдают листки, реализуем какую-то "полезную" программуполностью на ассемблере
. Пишем ручкой/карандашём на листочках, вы всё правильно поняли)2 вариант
: трассировка микрокода. Он проще, там по ходу разберётесь. Потренируйтесь)
Висячий переход
- это значит, что нет метки назначения или название не совпадает- На листах пишем код как на АССЕМБЛЕРЕ БЭВМ, ни на каком другом.
Реентерантная программа
- код, который работает корректнонезависимо
от количества одновременно вызванных модулей. Поэтому, нужно корректно инициализировать и класть нули в нужные переменные при работе с ними, во избежаниемусорных значений
.- В столбце АДРЕС/МЕТКА пишем ТОЛЬКО метку (адрес не нужно)
- Чтобы указать адрес, достаточно во втором столбце команд написать ORG 0x*
- Файл с примерами задач рубежки, кодами и подробностями
- Самый удобный, на мой взгляд, варинт написания рубежки:
- Карандашом, со стёркой
- Сначала пишем рабочий код, а потом уже дописываем все нужные переменные
- Во время написания кода можно на втором листе, или на этом же, но на обороте
- писать карандашом заготовки, если не уверены в написании сразу
- все переменные, о которых забыли - используем как ни в чём не бывало, оставив пометку на полях. и в конце проги, на оставшемся месте дописываем эту перменную
- Вопросов 40. Билетов 20.
- Билеты нереально непропорциональны. Одни сложные, другие простые.
- Дадут 2 билета - оба чилл, либо 1 чилл 1 сложный (скорее всего так), 2 гробовых давать не должны.
виды информации + прерывания с контроллером, к примеру
-
Написать один вопрос билета недостаточно - надо писать оба и идеально.
-
Половина билетов, которые про бэвм и про числа - ботаются быстро и легко, там ничего сложного нет. Но все равно надо заботать :)
-
Вторая половина - гробовая. Написание билета на экзамене может занять как 5 минут, так и 40, я уже не говорю сколько времени надо потратить чтобы их заботать.
-
Просто прочитав вы не поймете ничего в сложных билетах. Для этого надо лезть в синюю библию, лекции, гугл, e.t.c. Не халтурьте, начните за месяц и делайте по 1-2 билета в день. Потом повторите и углубитесь в сложные билеты и 5А у вас в кармане.
-
Грубо говоря, вот самые сложные темы экзамена:
- контроллеры (в синей библии хорошо расписано)
- сети, маршрутизация и передача данных по сетям
- память (в том числе виртуальная память)
> Сборник расписанных билетов к экзамену смотрите прямо в этом репозитории <
P.S. - от человека, у которого 5А: я начинал за месяц, но ботал по одному билету или по 0, в результате чего я начал забывать билеты к сессии, поэтому пришлось в конце ботать всё сразу. Именно поэтому рекомендую сначала во всём разобраться и прочитать как можно больше всего, а потом уже всё повторить. Желательно пару раз, чтобы всё осталость в голове. Могу сказать, что ВСЕ контроллеры можно заботать за 2 дня. А вот в остальном придётся разбираться и запоминать. Рекомендую конспектировать все важные моменты билетов. Удачи!)
╠╦ man (имя команды) - говорит что делает команда
║╚ (имя команды) --help - короткая подсказка по команде
╠╦ cd (имя директории) - смена директории
║╠ cd - к родной директории
║╠ cd .. - к директории выше
║╠ ls - вывести список файлов
║╠ ls -l - вывести список файлов + много инфы по файлам
║╠ ls -R - вывести список всех файлов
║╚ pwd - полный путь директории
╠╦ mkdir (имя директории)- создание каталога
║╠ cp -r (что) (куда) - рекурсивное копирование
║╠ rmdir (имя директории) - удалить директорию если она пустая
║╚ rm -r (имя директории) - удалить директорию со всеми файлами
╠╦ touch (имя файла) - создание файла (обновление даты доступа)
║╠ cp (что) (куда) - копирование файла
║╠ mv (что) (куда) - переместить
║╠ chmod (новые права доступа) (имя файла) - смена прав на файл
║║ ╠ 1 способ: [User: 0-7][Group: 0-7][Other: 0-7]
║║ ║ ╠ 0 (0+0+0) - No permission.
║║ ║ ╠ 1 (0+0+1) - Only execute permission.
║║ ║ ╠ 2 (0+2+0) - Only write permission.
║║ ║ ╠ 3 (0+2+1) - Write and execute permissions.
║║ ║ ╠ 4 (4+0+0) - Only read permission.
║║ ║ ╠ 5 (4+0+1) - Read and execute permission.
║║ ║ ╠ 6 (4+2+0) - Read and write permissions.
║║ ║ ╠ 7 (4+2+1) - Read, write, and execute permission.
║║ ║ ╚ Пример: `chmod 700 file.txt`
║║ ╠ 2 способ: [ugo](+|-|=)[rwx-][,<...>]
║║ ║ ╚ Пример: `chmod u+rwx,go=r-x file.txt`
║║ ╠ Для деректорий x(execute) работает как доступ
║║ ╚ Дополнительно почитать: https://losst.ru/prava-dostupa-k-fajlam-v-linux
║╠ ln –s (имя файла) (имя ссылки) – символическая ссылка
║║ ╚ файл содержащий путь к файлу
║╠ ln (имя файла) (имя ссылки) – жесткая ссылка
║║ ╚ указатель на используемый другим файлом память
║╚ rm (что) - удалить файл
╠╦ vim (имя файла) - редактирование файла
║║ ╠ для редактирования нажмите `i`
║║ ╚ для выхода нажмите `Esc` и напишите `:wq`
║╠ cat (имя файла) - содержимое файла
║╠ cat > (имя файла) - запись в файл(стереть + записать)
║╠ cat >> (имя файла) - дозапись
║╠ cat (имя файла1) (имя файла2) > (имя файла3) - записывает в файл 3, 1 и 2 файл
║╚ echo "текст" > (имя файла) – запись в файл
╠╦ grep '(регулярное выражение)' - фильтрует вывод по регулярке
║╠ head - выводит на экран первые 10 строк. Поведение зависит от опций
║╠ tail - выводит на экран последние 10 строк. Поведение зависит от опций
║╠ wc - статичтика по входу/файлу
║╠ sort - сортирует вывод по алфавиту
║╠ sort -r - сортирует вывод по обратному алфавиту
║╚ more - интерактивный вывод
╠╦ bash (имя файла) – запуск файла с командами
║╠ sh (имя файла) – запуск файла с командами
║╠ ksh (имя файла) – запуск файла с командами
║╚ ./(имя файла) – запуск файла с командами (прописать chmod u+x для него)
╠═ (команда) | (куда) - Конвейер (pipeline)
╠═ (что)>(куда) - перенаправляет поток
║ ╠ что
║ ║ ╠ 0 - поток ввода
║ ║ ╠ 1 - поток вывода
║ ║ ╚ 2 - поток ошибок
║ ╚ куда
║ ╠ /dev/null - в никуда
║ ╠ &0 - в поток ввода
║ ╠ &1 - в поток вывода
║ ╚ &2 - в поток ошибок
╠╦ < (файл) - подаёт на вход команды содержимое файла
║╠ << someSTOPword - интерактивный ввод пока не будет введён someSTOPword
║╚ <<< "текст" - подаёт на вход команды текст
╚═ Кавычки
╠ '' - текст оставляет таким как внути кавычек
╠ "" - позволяют осуществлять раскрытие переменных
╚ `` - значение кавычек это результат работы команд внтури
Примеры использования
# Рекурсивная выдача файлам всех прав для пользователя, ошибки не выводить
chmod -R 700 lab0 2>/dev/null
# Удалить всю папку lab0, ошибки не выводить
rm -r lab0 2>/dev/null
# Подсчитать количество строк содержимого файла wingull6,
# результат дописать в тот-же файл, добавить вывод ошибок доступа в стандартный поток вывода
wc -l wingull6 >>wingull6
# Вывести список имен файлов в
# директории clefable3, список отсортировать по имени z->a, ошибки доступа перенаправить в файл в директории /tmp
(ls clefable3 | sort) 2>/tmp/error
# Рекурсивно вывести содержимое файлов с номерами строк из директории lab0,
# имя которых начинается на 'n', строки отсортировать по имени z->a, ошибки доступа не подавлять и не перенаправлять
cat -n "^n" | sort -r
# Вывести рекурсивно список имен и атрибутов файлов в директории lab0, начинающихся на символ 'g', список
# отсортировать по возрастанию даты изменения записи о файле, добавить вывод ошибок доступа в стандартный поток вывода
ls -lRt lab0
# Вывести четыре последних элемента рекурсивного списка имен и атрибутов файлов в директории lab0,
# список отсортировать по убыванию даты изменения записи о файле, подавить вывод ошибок доступа
ls -lRt 2>/dev/null | tail -4 | sort -r
# Вывести рекурсивно список имен и атрибутов файлов в директории lab0,
# заканчивающихся на символ 'a', список отсортировать по возрастанию размера, подавить вывод ошибок доступа
ls -lR lab0 2>/dev/null | grep "a$" | sort -k6
# Список всех файлов отсортированные по z-a, ошибки не выводить
ls -R ./ | grep '^.*[^:]$' | sort -r 2>/dev/null
# Список всех файлов заканчивающиеся на t отсортированные по размеру файла, ошибки выводить в общий поток
ls -R -l ./ | grep 't$' | sort -nk5 2>&1
# Список всех файлов начинающие с m отсортированные по a-z, ошибки выводить в общий поток
ls -R ./ | grep '^m.*[^:]$' | sort 2>&1
# Список всех файлов, оканчивающихся на t, с сортировкой по последнему доступу к файлу
ls -R -ltu ./ | grep 't$'
# Создание нескольких деректорий
mkdir dir01 dir02 dir03 dir04
mkdir dir{01,02,03,04}
mkdir -p lab0/dir1/dir2/dir3
# Вернуться в прошлую деректорию
cd -
# выполнение команды в фоновом процессе
команда &
# 1. Передача команде списка файлов
# 2. Перенапраление потокаприменяеться только к одной команде,
# поэтому её надо примеять там где надо,
# иначе всю строчеку надо обваачивать в скобки
wc -l donphan7/* 2>/dev/null | sort
*p # вложено в ноль деректорий и оканичваеться на p
*/*p # вложено в одну деректорию и оканичваеться на p
**/*p # вложено в 1-inf деректорию и оканичваеться на p (Для верной работы необходимо написать: shopt -s globstar)
chmod +rwx file # аналогично (777 & 755), то есть 755 (почему & 755 я не знаю)
chmod a+rwx file # a=ugo
chmod a=r,g-r file # выполнение идёт слева направо
chmod -rwx,u=rw file
chmod a+w-x-r,u+r # видимо ему тоже норм
chmod u=rw-,g=---,o=r-- # работает, как вы и ожидаете
# фильтрует вывод по последней букве
| grep 'u$'
# ` comands ` или $( comands )
# результат выполнения команд в ковычках вставляються в исходную строчку
cat `ls -R 2>/tmp/s123456 | grep '3$' | sort -r`
# вывод где испоьзуються перенос, а не табуляция
ls -1
# НУ КАК ТЕБЕ ТАКОЕ ИЛОН МАСК????
ls -R | grep "\..*:" | sed "s/://" | sed "s/^\./ls -1dp \./" | sed "s/$/\/\*/" | sh | grep -v "/$" | grep "\/c[^\/]*$" | xargs wc -l | sort -r
> За лабами и доп.материалами советую всегда обращаться в сборник полезных источников <
Во
втором
семестре -4 лабы
.
Журнал успеваемости потока 2022-23 учебного года
> За лабами и доп.материалами советую всегда обращаться в сборник полезных источников <
Дискретная математика
- предмет на котором вы изучите как компьютер выполняет математические действия (1 сем) и выучите алгоритмы на графах(2 сем).
Предмет ведёт Поляков (далее Дискрадед). Он не связан с сайтом с задачками по информатике.
Лекция занимает 1-2 пары, со второй пары могут отпускать или на второй паре происходит перепись. Переписывать кр можно сколько угодно раз.
У дискрадеда можно списать, да и задания контрольных не меняются из года в год, так что самое сложное в этом предмете - это ДЗ и курсовая (варианты почти у всех индивидуальные). Их сдача происходит дистанционно, необходимо присылать на почту дискрадеда docx или pdf с решением варика.
- 1 сем
- КР
- ДЗ
- Представление чисел с фиксированной и плавающей запятой в различных форматах
- Сложение целых чисел
- Вычитание целых чисел
- Умножения чисел с фиксированной запятой + v2
- Деление чисел с фиксированной запятой
- Сложение чисел с плавающей запятой
- Умножение чисел с плавающей запятой
- Деление чисел с плавающей запятой
- Курсач: Синтез комбинационных схем
- 2 сем
- КР
- ДЗ
- Курсач: Нечёткий вывод по схеме «Мамдани»
1 сем
: сдаём все домашки и обе части курсача, из сборника домашек выше и получаем зачёт2 сем
: сдаём все домашки и курсач, за 1 курс ставитсясредняя арифметическая ВСЕХ оценок за прошедшие кр (1 + 2 семестры)
- ИСУ ИТМО -> Учебный процесс -> Учебная документация
Теория:
- Несложный мануал, brestprog
- Мануал посложнее, algocode
- старая алгоритмики
- Переписанные статьи с алгокода, емакса и старой алгоритмики
- Графы
- e-maxx
- Алгоритмы и структуры данных
- ИТМОшные конспкты с КТ/ИСа
На своём опыте могу сказать, что чтение таких источников в большенстве случаев бесполезна без практики!
Практика:
- <T>
- worthant
- Zerumi
- TsenekovIT
- maxbarsukov
- owl from hogvarts
- Black Rider
- DecafMango