SlideShare a Scribd company logo
1 of 11
Курс: «Основы
программирования» на C#
Курс http://bit.ly/konturcourses
Тестовое задание http://bit.ly/konturtest
Стажировка http://bit.ly/konturintern
Блог на хабре http://bit.ly/konturhabr
Тусовочка http://bit.ly/konturlife
Бонус http://bit.ly/nerickroll
Программа курса
Первый семестр
• Введение в C#
• Начало работы: работа в Visual Studio, типы данных, методы
• Ошибки компиляции, выполнения, стилистические. Рефакторинг
• Ветвления
• Циклы while, for
• Массивы, особенности работы с ссылочными типами и типами-значениями, цикл
foreach
• Коллекции List и Dictionary, строки, работа с файлами - понемногу о самом важном
• Тестирование: модульное и функциональное, написание тестов, покрытие тестами
• Алгоритмы
• Сложность алгоритма: основные понятия, О-символика.
• Рекурсивные алгоритмы. Стратегия “разделяй и властвуй”. Перебор подмножеств,
перестановок и сочетаний. Переборное решение задачи коммивояжера и задачи
разбиение.
• Линейный и бинарный поиск, сортировка пузырьком, слиянием и быстрая: алгоритмы,
оценка сложности, экспериментальное сравнение быстродействия.
• Основы ООП
• Классы и объекты, динамические и статические поля и методы
• Наследование, идеология базовых классов, интерфейсы, начала полиморфизма
• Целостность данных: свойства, readonly поля, конструкторы
• Структуры: особенности работы собственных ссылочных типов
Второй семестр
• Структуры данных
• Стэки и очереди, примеры алгоритмов, дженерик-реализация
• Конструкция yield return
• Тонкости реализации классов List и Dictionary: Equals, GetHashCode, хэширующие
функции и их применение в алгоритмах
• Элементы функционального программирования
• Делегаты
• Функциональный подход к программированию. Внутренняя реализация LINQ
• LINQ
• Алгоритмы
• Понятия графа, основные определения, обход в ширину и глубину, алгоритмы Кана и
Тарьяна
• Жадные алгоритмы: планирование встреч, алгоритм Краскала, алгоритм Дейкстры
• Динамическое программирование: планирование встреч, расстояние Левенштейна,
алгоритм Форда-Баллмана, подсчет количества комбинаторных объектов
• Очередь с приоритетами, модифицированный алгоритм Дейкстры, бинарное дерево
поиска, двоичные кучи
• Оконные приложения
• Событийная модель и события
• Оконные приложения на Windows Forms
• Начала асинхронного программирования
• Дополнительные главы
• Рефлексия типов
Курс
• 2 семестра;
• 1 видеолекция в неделю (смотрите когда хотите);
• Онлайн-проверка практических заданий (делайте когда хотите);
• 1 практика в неделю со сдачей практических задач;
• 1 семинар раз в 2 недели с разбором лекций и задач;
• 150 человек и Екатеринбурге (Мат.Мех. УрФУ);
• 20 человек в Ижевске (ИжГТУ);
Стажировка
• 6 лет программе стажировки;
• Стажировка в Екатеринбурге или в Ростове;
• Полная занятость на время стажировки;
• Зарплата зависит от навыков стажера, их соответствия
требованием команды и варьируется от 20 000 до 30 000 р.;
• Безлимитные плюшки, булочки, фрукты, чай и кофе;
• Приём заявок с 1 февраля;
Тестовое задание. Тетрис
Кратко
Нужно смоделировать игру в тетрис на языке C#. На вход мы подадим размеры стакана (игрового поля), последовательность падающих фигурок и
последовательность команд по управлению фигурками. Твоя программа должна эффективно моделировать передвижение фигурок по правилам
тетриса и уметь считать заработанные очки.
Но задача была бы слишком стандартной в таком виде! Поэтому вот дополнительные требования — все классы в решении должны быть
неизменяемыми. В частности, все поля должны быть помечены модификатором readonly, а сеттеры свойств закрыты. Из сторонних библиотек
используй System.Collections.Immutable для моделирования игрового поля и Newtonsoft.Json для чтения входных данных. Разберись самостоятельно с
этими библиотеками и концепцией неизменяемости.
Наши приоритеты при оценке:
• Корректность решения;
• Скорость работы и чистота кода.
Проверка автоматизирована, поэтому строго соблюдай все требования, описанные ниже.
Бонусом будет использование LINQ там, где это уместно. Это встроенный в C# язык манипулирования данными, познакомиться с которым можно в этом
онлайн практикуме. Рекомендуем пройти его, даже если ты знаком с LINQ, это займет пару часов и точно будет полезно!
http://bit.ly/konturtest

More Related Content

Viewers also liked

2. Операторы языка C#
2. Операторы языка C#2. Операторы языка C#
2. Операторы языка C#Olga Maksimenkova
 
Язык программирования C#
Язык программирования C#Язык программирования C#
Язык программирования C#Dmitri Soshnikov
 
язык программирования с#
язык программирования с#язык программирования с#
язык программирования с#Nitrosalat
 
Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)Alexandr Konfidentsialno
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#Olga Maksimenkova
 
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#Olga Maksimenkova
 
презентация конспекта лекций
презентация конспекта лекцийпрезентация конспекта лекций
презентация конспекта лекцийstudent_kai
 

Viewers also liked (8)

2. Операторы языка C#
2. Операторы языка C#2. Операторы языка C#
2. Операторы языка C#
 
Язык программирования C#
Язык программирования C#Язык программирования C#
Язык программирования C#
 
язык программирования с#
язык программирования с#язык программирования с#
язык программирования с#
 
Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#
 
1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#1. Типы данных. Операции. Ввод и вывод C#
1. Типы данных. Операции. Ввод и вывод C#
 
3. Массивы в C#
3. Массивы в C#3. Массивы в C#
3. Массивы в C#
 
презентация конспекта лекций
презентация конспекта лекцийпрезентация конспекта лекций
презентация конспекта лекций
 

Similar to Презентация курса "Основы программирования" на C#

Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипированиеMaxim Gaponov
 
Перевод обучения из очного в электронный формат: с чего начать
Перевод обучения из очного в электронный формат: с чего начатьПеревод обучения из очного в электронный формат: с чего начать
Перевод обучения из очного в электронный формат: с чего начатьHyperMethod
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java DeveloperOlexandra Dmytrenko
 
Планирование по информатике в 5-6 классах
Планирование по информатике в 5-6 классахПланирование по информатике в 5-6 классах
Планирование по информатике в 5-6 классахСергей Афонин
 
Краткая презентация курса HTML5 и CSS3: От новичка до профи
Краткая презентация курса HTML5 и CSS3: От новичка до профиКраткая презентация курса HTML5 и CSS3: От новичка до профи
Краткая презентация курса HTML5 и CSS3: От новичка до профиProfPoint
 
Software engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требованияSoftware engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требованияPavel Egorov
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Pavel Egorov
 
Переход от конструкторов к DIY проектам по робототехнике
Переход от конструкторов к DIY проектам по робототехникеПереход от конструкторов к DIY проектам по робототехнике
Переход от конструкторов к DIY проектам по робототехникеАндрей Гурьев
 
как учить программировать[1]
как учить программировать[1]как учить программировать[1]
как учить программировать[1]Pavel Penkov
 
Как обеспечить свою студию квалифицированными кадрами
Как обеспечить свою студию квалифицированными кадрамиКак обеспечить свою студию квалифицированными кадрами
Как обеспечить свою студию квалифицированными кадрами1С-Битрикс
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7Alexander Levantovsky
 
ПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курсаПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курсаAlexey Paznikov
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииSQALab
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developerDmitriy Neguritsa
 
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Ontico
 
МООК в МИЭМ публичная версия
МООК в МИЭМ публичная версияМООК в МИЭМ публичная версия
МООК в МИЭМ публичная версияDenis Korolev
 

Similar to Презентация курса "Основы программирования" на C# (20)

IT people
IT peopleIT people
IT people
 
10_tips_for_become_qa
10_tips_for_become_qa10_tips_for_become_qa
10_tips_for_become_qa
 
Paper prototyping
Paper prototypingPaper prototyping
Paper prototyping
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
 
Перевод обучения из очного в электронный формат: с чего начать
Перевод обучения из очного в электронный формат: с чего начатьПеревод обучения из очного в электронный формат: с чего начать
Перевод обучения из очного в электронный формат: с чего начать
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
 
Планирование по информатике в 5-6 классах
Планирование по информатике в 5-6 классахПланирование по информатике в 5-6 классах
Планирование по информатике в 5-6 классах
 
Краткая презентация курса HTML5 и CSS3: От новичка до профи
Краткая презентация курса HTML5 и CSS3: От новичка до профиКраткая презентация курса HTML5 и CSS3: От новичка до профи
Краткая презентация курса HTML5 и CSS3: От новичка до профи
 
Software engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требованияSoftware engineering. Введение в специальность. Проектирование, требования
Software engineering. Введение в специальность. Проектирование, требования
 
Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)Машинное обучение (Открытый семинар по средам)
Машинное обучение (Открытый семинар по средам)
 
Переход от конструкторов к DIY проектам по робототехнике
Переход от конструкторов к DIY проектам по робототехникеПереход от конструкторов к DIY проектам по робототехнике
Переход от конструкторов к DIY проектам по робототехнике
 
как учить программировать[1]
как учить программировать[1]как учить программировать[1]
как учить программировать[1]
 
Как обеспечить свою студию квалифицированными кадрами
Как обеспечить свою студию квалифицированными кадрамиКак обеспечить свою студию квалифицированными кадрами
Как обеспечить свою студию квалифицированными кадрами
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7
 
Сервисы WEB 2.0
Сервисы WEB 2.0Сервисы WEB 2.0
Сервисы WEB 2.0
 
ПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курсаПВТ - весна 2015 - Лекция 0. Описание курса
ПВТ - весна 2015 - Лекция 0. Описание курса
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developer
 
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
 
МООК в МИЭМ публичная версия
МООК в МИЭМ публичная версияМООК в МИЭМ публичная версия
МООК в МИЭМ публичная версия
 

Презентация курса "Основы программирования" на C#

  • 2. Курс http://bit.ly/konturcourses Тестовое задание http://bit.ly/konturtest Стажировка http://bit.ly/konturintern Блог на хабре http://bit.ly/konturhabr Тусовочка http://bit.ly/konturlife Бонус http://bit.ly/nerickroll
  • 3. Программа курса Первый семестр • Введение в C# • Начало работы: работа в Visual Studio, типы данных, методы • Ошибки компиляции, выполнения, стилистические. Рефакторинг • Ветвления • Циклы while, for • Массивы, особенности работы с ссылочными типами и типами-значениями, цикл foreach • Коллекции List и Dictionary, строки, работа с файлами - понемногу о самом важном • Тестирование: модульное и функциональное, написание тестов, покрытие тестами • Алгоритмы • Сложность алгоритма: основные понятия, О-символика. • Рекурсивные алгоритмы. Стратегия “разделяй и властвуй”. Перебор подмножеств, перестановок и сочетаний. Переборное решение задачи коммивояжера и задачи разбиение. • Линейный и бинарный поиск, сортировка пузырьком, слиянием и быстрая: алгоритмы, оценка сложности, экспериментальное сравнение быстродействия. • Основы ООП • Классы и объекты, динамические и статические поля и методы • Наследование, идеология базовых классов, интерфейсы, начала полиморфизма • Целостность данных: свойства, readonly поля, конструкторы • Структуры: особенности работы собственных ссылочных типов Второй семестр • Структуры данных • Стэки и очереди, примеры алгоритмов, дженерик-реализация • Конструкция yield return • Тонкости реализации классов List и Dictionary: Equals, GetHashCode, хэширующие функции и их применение в алгоритмах • Элементы функционального программирования • Делегаты • Функциональный подход к программированию. Внутренняя реализация LINQ • LINQ • Алгоритмы • Понятия графа, основные определения, обход в ширину и глубину, алгоритмы Кана и Тарьяна • Жадные алгоритмы: планирование встреч, алгоритм Краскала, алгоритм Дейкстры • Динамическое программирование: планирование встреч, расстояние Левенштейна, алгоритм Форда-Баллмана, подсчет количества комбинаторных объектов • Очередь с приоритетами, модифицированный алгоритм Дейкстры, бинарное дерево поиска, двоичные кучи • Оконные приложения • Событийная модель и события • Оконные приложения на Windows Forms • Начала асинхронного программирования • Дополнительные главы • Рефлексия типов
  • 4.
  • 5.
  • 6. Курс • 2 семестра; • 1 видеолекция в неделю (смотрите когда хотите); • Онлайн-проверка практических заданий (делайте когда хотите); • 1 практика в неделю со сдачей практических задач; • 1 семинар раз в 2 недели с разбором лекций и задач; • 150 человек и Екатеринбурге (Мат.Мех. УрФУ); • 20 человек в Ижевске (ИжГТУ);
  • 7. Стажировка • 6 лет программе стажировки; • Стажировка в Екатеринбурге или в Ростове; • Полная занятость на время стажировки; • Зарплата зависит от навыков стажера, их соответствия требованием команды и варьируется от 20 000 до 30 000 р.; • Безлимитные плюшки, булочки, фрукты, чай и кофе; • Приём заявок с 1 февраля;
  • 8.
  • 9. Тестовое задание. Тетрис Кратко Нужно смоделировать игру в тетрис на языке C#. На вход мы подадим размеры стакана (игрового поля), последовательность падающих фигурок и последовательность команд по управлению фигурками. Твоя программа должна эффективно моделировать передвижение фигурок по правилам тетриса и уметь считать заработанные очки. Но задача была бы слишком стандартной в таком виде! Поэтому вот дополнительные требования — все классы в решении должны быть неизменяемыми. В частности, все поля должны быть помечены модификатором readonly, а сеттеры свойств закрыты. Из сторонних библиотек используй System.Collections.Immutable для моделирования игрового поля и Newtonsoft.Json для чтения входных данных. Разберись самостоятельно с этими библиотеками и концепцией неизменяемости. Наши приоритеты при оценке: • Корректность решения; • Скорость работы и чистота кода. Проверка автоматизирована, поэтому строго соблюдай все требования, описанные ниже. Бонусом будет использование LINQ там, где это уместно. Это встроенный в C# язык манипулирования данными, познакомиться с которым можно в этом онлайн практикуме. Рекомендуем пройти его, даже если ты знаком с LINQ, это займет пару часов и точно будет полезно!
  • 10.