Studia są skierowane do osób, które chcą zdobyć wiedzę i umiejętności niezbędne do pracy jako programista C# na platformie .NET. Program nauczania obejmuje podstawy języka C#, technologię .NET oraz popularne narzędzia i frameworki wspierające rozwój aplikacji desktopowych, webowych oraz mobilnych. Studenci zapoznają się z metodologiami programowania obiektowego, bazami danych, tworzeniem usług internetowych oraz implementowaniem aplikacji w architekturze chmurowej. Kursy obejmują także zagadnienia związane z optymalizacją kodu, testowaniem oraz integracją z systemami zewnętrznymi.
Koszt studiów: PROMOCJA! Rabat w styczniu: 2450zł
normalnie 2950zł za semestr
Opłatę można wnosić w dwóch ratach płatnych na początku każdego semestru.
Czas trwania: 2 semestry (200 godz.)
Warunki ukończenia studiów: zaliczenie wszystkich kursów z programu studiów oraz obrona pracy dyplomowej.
1. Podstawy programowania w języku C# (32h)
- Typy danych, operatory, kolekcje danych
- Instrukcje warunkowe i pętle
- Funkcje i struktury programu: deklaracje i parametry funkcji, rekurencja, struktura blokowa, zakres i zasięg zmiennych i funkcji
- Klasy i interfejsy
- Połączenie z bazą danych SQL
- Komunikacja z web API
- Praca na plikach
- Tworzenie i korzystanie z paczek nuget
- Wstrzykiwanie zależności
2. Programowanie aplikacji webowych (32h)
- tworzenie web API z wykorzystaniem ASP .NET
- asynchroniczność w .NET
- budowa architektury aplikacji
- tworzenie aplikacji webowych z wykorzystaniem technologii Blazor
- korzystanie z bazy noSQL Azure Cosmos DB
3. Programowanie aplikacji desktopowych (16h)
- korzystanie z technologii WPF
- tworzenie UI z wykorzystaniem plików xaml
- łączenie danych (binding)
- obsługa zdarzeń
4. ORM – Mapowanie obiektowo-relacyjne (16h)
- Wprowadzenie do ORM
- Wprowadzenie do frameworka Entity Framework
- Mapowanie modeli danych
- Zapytania SQL w Entity Framework
5. Framework .NET (32h)
- MS Test, testy jednostkowe w języku C#
- Fluent Assertions, definiowanie wymagań w naturalny sposób
- AutoFixture generowanie anonimowych danych do testów jednostkowych
6. Podstawy programowania WEB (32h)
- Podstawy HTML (HyperText Markup Language)
- Struktura dokumentu HTML: <!DOCTYPE>, html, head, body
- Tworzenie podstawowych elementów: nagłówki, paragrafy, listy, linki, obrazy
- Formularze HTML: input, select, textarea, przyciski
- Semantyczne elementy HTML: header, footer, section, article
- Atrybuty i walidacja dokumentu HTML
- Podstawy CSS (Cascading Style Sheets)
- Wprowadzenie do CSS i sposoby jego dodawania do HTML (inline, internal, external)
- Selektory CSS: elementy, klasy, identyfikatory, pseudo-klasy
- Stylizacja tekstu, kolory, tła, marginesy, paddingi, obramowania
- Układ strony: model pudełkowy, flexbox, grid
- Responsywność strony: media queries, projektowanie mobilne (mobile-first)
- Wprowadzenie do JavaScript
- Podstawy języka JavaScript: zmienne, typy danych, operatory
- Instrukcje warunkowe (if, else, switch) i pętle (for, while)
- Funkcje w JavaScript: deklarowanie, argumenty, zwracanie wartości
- Obsługa zdarzeń: click, mouseover, keydown i inne
- Manipulacja DOM (Document Object Model): zmienianie treści, atrybutów, stylów elementów HTML
7. Podstawy Baz Danych (wykład 12 godzin, laboratorium 12 godzin)
- Wprowadzenie do baz danych
- Co to są bazy danych? Różnice między bazami danych relacyjnymi a nierelacyjnymi
- Przegląd popularnych systemów zarządzania bazami danych (SQL: MySQL, PostgreSQL; NoSQL: MongoDB)
- Koncepcje tabel, rekordów, pól i kluczy
- Instalacja i konfiguracja systemu zarządzania bazą danych (np. MySQL, PostgreSQL)
- Podstawy języka SQL
- Wprowadzenie do SQL (Structured Query Language)
- Tworzenie i modyfikacja tabel (CREATE, ALTER, DROP)
- Wstawianie, aktualizacja i usuwanie danych (INSERT, UPDATE, DELETE)
- Podstawowe zapytania (SELECT, filtrowanie danych przy użyciu WHERE)
- Relacje między tabelami
- Klucz główny (Primary Key) i klucz obcy (Foreign Key)
- Tworzenie relacji między tabelami (one-to-one, one-to-many, many-to-many)
- Łączenie tabel za pomocą JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Zapytania na danych relacyjnych
- Agregacja danych i zaawansowane zapytania
- Funkcje agregujące: COUNT, SUM, AVG, MAX, MIN
- Grupowanie wyników przy użyciu GROUP BY i filtrowanie agregatów z HAVING
- Sortowanie wyników zapytań (ORDER BY)
- Zagnieżdżone zapytania (subqueries)
- Podstawy normalizacji i bezpieczeństwa danych
- Czym jest normalizacja? Podstawowe formy normalne (1NF, 2NF, 3NF)
- Zapewnienie spójności i unikanie redundancji danych
- Zabezpieczanie dostępu do danych (tworzenie użytkowników, nadawanie uprawnień)
8. Paradygmaty programowania 12h
Autorski przedmiot, na którym ekspert pokazuje w jaki sposób ewoluowały metody obliczeń automatycznych począwszy od starożytnych liczydeł a kończąc na współczesnych komputerach. Pokazany zostanie rozwój języków programowania, różnice pomiędzy nimi i elementy wspólne. Omówione zostaną zarówno najpopularniejsze współczesne technologie jak i niszowe języki będące istotnymi kamieniami milowymi w rozwoju technologii programistycznych.