Plan studiów

Plan studiów „Informatyka – Technologie ICT i Programowanie” obejmuje około 300 godzin zajęć, z przewagą zajęć praktycznych i dotyczy następujących zagadnień:

Semestr 1

  1. Wprowadzenie do architektury komputerów – wykład/pracownia: 16h/16h
  2. Bazy danych – wykład/pracownia: 10h/20h
  3. Systemy operacyjne – wykład/pracownia: 10h/16h
  4. Programowanie z elementami algorytmiki – wykład/pracownia: 16h/16h
  5. Technologie sieciowe – wykład/pracownia: 16h/16h

Semestr 2

  1. Programowanie obiektowe i zdarzeniowe – wykład/pracownia: 16h/16h
  2. Inżynieria oprogramowania – wykład/pracownia: 16h/16h
  3. Programowanie aplikacji internetowych – wykład/pracownia: 8h/24h
  4. Bezpieczeństwo systemów informatycznych – wykład/pracownia: 10h/10h
  5. Projektowanie interfejsów użytkownika – wykład/pracownia: 16h/16h

Krótka charakterystyka wybranych przedmiotów

I Semestr

Wprowadzenie do architektury komputerów

Podstawowe pojęcia: bit, bajt, słowo, znak, standardy kodów znaków. Reprezentacje binarne liczb. Zapis uzupełnień do 2 i podstawowe działania w tym zakresie. Reprezentacje zmiennoprzecinkowe liczb i podstawowe działania w tym zakresie. Koncepcja J. Von Neumanna maszyny z pamiętanym programem. Podstawowe bloki komputera, ich parametry i technologie. Elementy organizacji systemu operacyjnego. Organizacja i implementacja systemu plików. Podstawowe pojęcia sieci komputerowych. Sieć lokalna, technologia Ethernet. Sieć rozległa Internet: adresy komputerów, nazwy domenowe, protokoły TCP/IP

Bazy danych

Zapoznanie ze środowiskiem MS SQL Server jako platformy realizacji zaawansowanych systemów baz danych. Przedstawienie podstawowych pojęć i koncepcji technologii niezbędnymi do poprawnego projektowania relacyjnego modelu danych, korzystania i implementacji aplikacji. Zapoznanie z metodami normalizacji schematów logicznych baz danych oraz logiczną organizacją i podstawowymi strukturami fizycznymi danych wykorzystywanymi w systemach baz danych.

Wprowadzenie do języka SQL. Operacje relacyjne i mnogościowe. Znaczenie poszczególnych klauzul w języku SQL. Zasady stosowania funkcji w języku SQL. Instrukcje definicji i operowania na danych.

Systemy operacyjne

Podstawowe pojęcia związane z systemami operacyjnymi. Planowanie przydziału procesora; wieloprogramowość; wielozadaniowość. Rodzaje pamięci: pamięć operacyjna; pamięć zewnętrzna; pamięć wirtualna. Systemy plików. Teoria dotycząca mechanizmów systemowych zarządzania procesami: algorytmy szeregowania procesów; metody komunikacji procesów; metody synchronizacji procesów.

Programowanie z elementami algorytmiki

Podstawy programowania: proste i złożone typy danych. Konstrukcje programotwórcze języka CSharp. Definiowanie i wywoływanie funkcji. Operacje wejścia/wyjścia. Dynamiczne liniowe struktury danych. Elementy analizy algorytmów: Pojęcia złożoności obliczeniowej algorytmu. Problemy łatwe i trudne obliczeniowo. Rekurencja jako technika kodowania algorytmów. Metody projektowania algorytmów efektywnych.

Technologie sieciowe

Wprowadzenie do sieci komputerowych: zasady przesyłania sygnału cyfrowego po łączu elektrycznym i optycznym. Rodzaje i konfiguracje łączy. Model komunikacji pomiędzy dwoma partnerami, pojęcie warstw transmisyjnych, siedmiowarstwowy model ISO/OSI. Charakterystyka warstwy fizycznej i liniowej. Opis warstwy sieciowej. Łączenie sieci: mosty, routery, bramki, przełączniki oraz sieci wirtualne. Realizacja warstwy sieciowej; warstwa transportowa – protokoły transportowe i aplikacyjne. Wprowadzenie do komunikacji sieciowej w Internecie: protokoły internetowe; komunikacja w Internecie; sposób wymiany danych pomiędzy różnymi platformami i rodzajami aplikacji: serwer WWW, przeglądarka, aplikacja mobilna.

II Semestr

Programowanie obiektowe i zdarzeniowe

Zapoznanie z podstawowymi technikami programowania obiektowego oraz ich praktycznym wykorzystaniem w języku CSharp:

  • projektowanie klas, tworzenie i usuwanie obiektów,
  • hermetyzacja, przestrzenie nazw,
  • kompozycja i dziedziczenie,
  • funkcje wirtualne,
  • mechanizmy wyjątków,
  • klasy generyczne.

Poznanie podstaw programowania zdarzeniowego oraz jego wykorzystanie w obsłudze zdarzeń interfejsu graficznego.

Inżynieria oprogramowania

Proces wytwórczy a cykl życia oprogramowania, modele cyklu życia. Inżynieria wymagań. Analiza i projektowanie obiektowe przy wykorzystaniu Unified Modeling Language (UML). Architektura systemów informatycznych. Zapewnianie jakości i testowanie oprogramowania. Wprowadzenie do zarządzania projektami informatycznymi.

Programowanie aplikacji internetowych

Aspekty budowania aplikacji internetowych i intranetowych, w oparciu o serwery WWW. Przedstawienie architektur aplikacji internetowych oraz metod implementacji ich poszczególnych elementów. Podstawowe składniki architektury serwisów WWW: warstwa klienta, warstwa logiki aplikacji, warstwa bazy danych. Języki i technologie budowy aplikacji webowych, w kontekście interfejsu użytkownika: HTML/XHTML, CSS, JavaScript, jak i logiki aplikacji ASP.NET. Zastosowania architektury Model-View-Controller w kontekście implementacji aplikacji WWW wraz z dostępnymi rozwiązaniami technologicznymi, m.in. Web Forms dla ASP.NET.

Bezpieczeństwo systemów informatycznych

Przedmiot jest wprowadzeniem do zagadnień bezpieczeństwa systemów informatycznych. Słuchacze poznają podstawowe pojęcia związane z usługami bezpieczeństwa w systemach operacyjnych i sieciach komputerowych, dowiedzą się również na jakie elementy należy zwrócić uwagę przy ocenie stopnia zabezpieczeń.
W ramach kursu zaprezentowane zostaną standardy zabezpieczeń oraz ich wykorzystanie w usługach elektronicznych świadczonych w Internecie.

Projektowanie interfejsów użytkownika

Celem przedmiotu jest zapoznanie studentów z zagadnieniami przygotowania architektury informacji rozwiązań internetowych zgodnie z najnowszymi trendami UI/UX. Główny nacisk położono na zapoznanie z zasadami przygotowania użytecznych projektów internetowych oraz ich dalszej optymalizacji. Przedmiot ma również na celu omówienie podstaw nowoczesnego web designu.

Opracowanie założeń i wymagań dla projektu internetowego. UI/UX w projektowaniu serwisów internetowych. Tworzenie prototypów webowych i mobilnych. Podstawowe zasady nowoczesnego projektowania graficznego. Analityka webowa w ocenie skuteczności przygotowanych rozwiązań. Zasady skutecznej optymalizacji serwisów internetowych.