Тема 2. Робота з IDE та використання AI для вивчення C#
IDE, Visual Studio, Visual Studio Code, Rider, JetBrains, C#, AI-асистенти, GitHub Copilot, IntelliSense, крос-платформене середовище розробки, .NET
Увага! Це короткий конспект лекції з прикладами коду та команд для набуття практичних навичок роботи з IDE та інструментами ШІ.
2.1. IDE для вивчення курсу
2.1.1. Загальна інформація та порівняння
- Огляд сучасних середовищ розробки.
- Критерії вибору IDE.
Таблиця 2.1. Порівняльна таблиця можливостей IDE
IDE | Платформа | Ціна | Крос-платформеність | Особливості |
---|---|---|---|---|
Visual Studio | Windows | .NET | Ні | Повнофункціональне |
VS Code | Крос-платформене | Безкоштовно | Так | Легке, розширюване |
Rider | Крос-платформене | Платно | Так | Легке налагодження |
Примітка! Студенти можуть отримати Rider та інші продукти JetBrains безкоштовно. Також викладач може розказати про інші можливості для студентів, зокрема Github Stident Pack
Free software development tools for students
You can get all of these if you’re a student. It helps to have a .edu email address
JetBrains - a huge set of dev tools for most languages/platforms like Java, C#, Obj-C, PHP, Ruby, Python, and Ruby. They have really nice and easy-to-use IDEs like PyCharm and WebStorm that would normally cost a lot of money
Autodesk - A set of modeling utilities for engineering students.
GitHub Student Pack - a bunch of discounted/free stuff you can get due to company tie-ups with GitHub. Get AWS creds, DigitalOcean creds, Stripe discounts, a free .me domain, and lessons from Udacity.
Microsoft Imagine - discounted/free .NET-based technologies like Visual Studio and SQL Server
On The Hub - search for your school and find software that your school sponsors, often Windows 10 downloads, VMWare, etc.
Namecheap - get a free .me domain for a year, in addition to heavily discounted other domains. Also comes with free email hosting
Washington Post - Free unlimited digital access with .edu e-mail address
Google Cloud for Education - get access to google cloud and credits
Amazon Prime - get discounts on Amazon Prime
CATIA - CATIA Student Edition
Spotify - get discounts on Spotify
Apple Products - get discounts on apple products upto $300
DotTech Domains - Get a free .tech domain for a year with free hosting.
Prezi for Students - Get a free version of Prezi to create unlimited presentations under their student plan.
Taskade - Free real-time organization and collaboration tool for getting things done. Get additional 50% off organizational discounts for educational use and students with the discount code students50.
2.1.2. Visual Studio Code (10 хв)
Встановлення та налаштування
Приклад налаштування settings.json
Практичний приклад: Консольний калькулятор
using System;
class Calculator
{
static void Main()
{
// Використання AI для допомоги в реалізації
Console.WriteLine("Простий калькулятор");
try
{
Console.Write("Введіть перше число: ");
double num1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Введіть друге число: ");
double num2 = Convert.ToDouble(Console.ReadLine());
Console.WriteLine($"Сума: {num1 + num2}");
Console.WriteLine($"Різниця: {num1 - num2}");
Console.WriteLine($"Добуток: {num1 * num2}");
Console.WriteLine($"Частка: {num1 / num2}");
}
catch (Exception ex)
{
Console.WriteLine($"Помилка: {ex.Message}");
}
}
}
2.1.3. JetBrains Rider (10 хв)
Особливості Rider
- Крос-платформене середовище
- Глибока інтеграція з .NET
- Потужні інструменти рефакторингу
Приклад проєкту: Система управління завданнями
public class Task
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime DueDate { get; set; }
public TaskStatus Status { get; set; }
}
public enum TaskStatus
{
ToDo,
InProgress,
Done
}
public class TaskManager
{
private List<Task> _tasks = new List<Task>();
public void AddTask(Task task) => _tasks.Add(task);
public void RemoveTask(int taskId) => _tasks.RemoveAll(t => t.Id == taskId);
public List<Task> GetTasksByStatus(TaskStatus status) =>
_tasks.Where(t => t.Status == status).ToList();
}
2.1.4. Visual Studio IDE
- Що потрібно інсталювати для вичення курсу?
- Як створити перший проєкт?
- Що таке рішення і як організувати проєкти у ньому?
- Види проєктів, що можна писати на C#.
- Відмінність між проєктами рінних версій .NET.
- Main!
- Namespaces та їх підключення.
- Компіляція та Dubug коду у Visual Studio.
2.2. Вступ до GitHub Copilot
2.2.1. Що таке GitHub Copilot?
GitHub Copilot - це AI-асистент для написання коду, розроблений GitHub та OpenAI. Він працює як інтелектуальний помічник, який може:
- Автоматично пропонувати код
- Допомагати вивчати нові мови програмування
- Прискорювати процес розробки
2.2.2. Встановлення та налаштування
Кроки встановлення:
- Реєстрація
- Зайдіть на офіційний сайт GitHub Copilot
- Оберіть план (є безкоштовний для студентів)
- Інтеграція з IDE
- Visual Studio Code
- Visual Studio
- JetBrains Rider
Для студентів доступна безкоштовна версія через GitHub Student Developer Pack
2.2.3. Базові приклади використання в C
Приклад 1: Створення простої консольної програми
Приклад 2: Функція обчислення факторіалу
Приклад 3: Робота з масивами
2.2.4. Практичні вправи
Вправа 1: Калькулятор
Використовуючи Copilot, створіть просту консольну програму-калькулятор, яка вміє:
- Додавати числа
- Віднімати числа
- Множити числа
- Ділити числа
Вправа 2: Робота з колекціями
Напишіть програму, яка:
- Створює список студентів
- Сортує студентів за прізвищем
- Виводить середній бал
2.3. Правила використання AI під час вивчення курсу “Програмування на C#”
2.3.1.🎓 Загальні принципи
2.3.1.1. Освітня мета
- AI-інструменти розглядаються як допоміжний інструмент навчання
- Основна мета - глибоке розуміння принципів програмування
2.3.1.2. Етичні норми
- Чесність у використанні AI-технологій
- Обов’язкове цитування допомоги AI
- Персональна відповідальність за кінцевий код
2.3.2. 🤖 Дозволені практики використання AI
2.3.2.1. Навчальні сценарії
- Пояснення концепцій
- Запит пояснень складних понять
- Прохання навести приклади коду
- Розбір алгоритмів та структур даних
- Допомога в налагодженні
- Пошук помилок у коді
- Рекомендації з оптимізації
- Пояснення повідомлень про помилки
- Генерація шаблонів
- Створення базової структури проєкту
- Генерація службового коду
- Підказки щодо архітектури додатку
2.3.2.2. Приклади дозволених запитів
2.3.3. ⚠️ Обмеження та заборони
Неприпустимі практики
- Повна генерація домашніх завдань
- Заборонено використовувати AI для повного виконання завдань
- Часткова допомога дозволена
- Плагіат коду
- Копіювання коду без розуміння
- Використання згенерованого коду без модифікацій
- Приховування джерел
- Обов’язкове зазначення допомоги AI
- Чітке маркування згенерованих частин коду
2.3.4. 📝 Правила цитування
2.3.4.1. Формат цитування AI-допомоги
2.3.4.2. Звіти про використання AI
- Додавати коментар у звітах про лабораторних роботах
- Описувати внесок AI у вирішення завдання
2.3.5. 🧠 Рекомендації з ефективного навчання
- Розуміння перед копіюванням
- Завжди аналізуйте згенерований код
- Розбирайте логіку реалізації
- Експериментування
- Модифікуйте згенерований код
- Пробуйте власні варіанти рішень
- Критичне мислення
- Не сприймайте код AI як абсолютну істину
- Перевіряйте логіку та коректність
🛠️ Рекомендовані AI-інструменти
- GitHub Copilot
- ChatGPT
- Copilot Labs
- Microsoft IntelliCode
2.3.6. 📊 Оцінювання
2.3.6.1. Критерії оцінки з урахуванням AI
- Розуміння коду (50%)
- Власна реалізація (30%)
- Коректність використання AI (20%)
2.3.6.2. 🚨 Наслідки порушення правил
- Зниження оцінки
- Повторне виконання завдання
- Дисциплінарні стягнення
2.3.6.3. Форма звіту про використання AI
# Звіт про використання AI
- **Завдання:** [Назва]
- **AI-інструмент:** [Назва]
- **Обсяг допомоги:** [%]
- **Пояснення внеску AI:**
- Генерація шаблону
- Пояснення концепції
- Допомога в налагодженні
Навчальні ресурси
Дорогі друзі, якщо Ви помітили, що для написання матеріалів використані джерела, які я не вказав - прошу надіслати мені інформацію на пошту. Дякую.