Zajęcia, rok akademicki 2015/2016, semestr 2
Programowanie pod Windows
Regulamin pracowni i zasady zaliczania
Regulamin pracowni:
- warunkiem uzyskania zaliczenia przedmiotu jest uzyskanie odpowiedniej liczby punktów
za rozwiązywanie zadań ogłoszonych w zeszycie zaadń
- na kolejnych zajęciach, studenci na specjalnych formularzach deklarują numery rozwiązanych zadań;
prowadzący sprawdza w czasie zajęć minimum jedno zadanie każdemu studentowi
Uwagi:
- zeszyt zadań zawiera zadania, których suma to 100 punktów - wartość referencyjną dla
limitów punktowych (patrz niżej).
- brak rozwiązania lub rozwiązanie niekompletne, w przypadku gdy
zadanie to zostanie
wybrane przez prowadzącego do wglądu, oznacza utratę co najmniej połowy zgromadzonych
do danej chwili punktów
- zadania można deklarować i oddawać w czasie trwania całych zajęć;
można więc ewentualne wątpliwości skonsultować z prowadzącym i dopiero wtedy zadeklarować
zadanie jako rozwiązane
Zasady zaliczania:
punkty |
ocena |
< 25 |
ndst |
25-50 |
dst |
50-75 |
db |
> 75 |
bdb |
Notatki do wykładu
Windows oczami programisty
Wydawnictwo Mikom, Warszawa 2003
Wersja akademicka Programowanie pod Windows
Materiały do pobrania
Kody źródłowe programów z podręcznika (komplet)
Zeszyt zadań
Pobierz zeszyt zadań, wersja 2014.01.01
Obowiązujące zadania
Do kiedy | Zestaw zadań | Uwagi |
15.03.2016 | 1.1, 1.2 | |
05.04.2016 | 1.3 | |
12.04.2016 | 2.1 | |
19.04.2016 | 2.2 | |
26.04.2016 | 2.3 | |
10.05.2016 | 2.4,2.5 | |
17.05.2016 | 3.2 | |
31.05.2016 | 3.1 | |
07.06.2016 | 3.3 | |
14.06.2016 | 3.4 | |
14.06.2016 | 3.5 | |
Uwaga! Po terminie z kolumny "Do kiedy" zadania ze wskazanych rozdziałów nie będą przyjmowane.
Uwaga! Data obowiązywania dotyczy pracowni wtorkowych. Dla pracowni odbywających się w inne dni tygodnia terminem
obowiązującym jest dzień tygodnia w tym samym tygodniu co podany wtorek.
Punktowe rankinigi cząstkowe (grupa WZY)
Punktacja na 2016-05-24
Wykłady
- 2016.02.22, choroba wykładowcy
- 2016.03.01
- Wykład organizacyjny
- Omówienie środowiska i narzędzi programowania
- Wprowadzenie do Win32 - okna, uchwyty, komunikaty
- Obsługa komunikatów
- 2016.03.08
- Tworzenie okien potomnych
- Komunikacja między oknami
- GDI
- Procesy, wątki, synchronizacja
- Biblioteki natywne
- 2016.03.15
- Biblioteki COM
- Tworzenie biblioteki COM w C++
- Konsumowanie biblioteki COM w VBA
- Środowisko uruchomieniowe .NET - wprowadzenie
- Środowisko uruchomieniowe .NET - historia
- 2016.03.22
- CIL, JIT
- Dekompilacja
- Weryfikacja
- C#1 - model obiektowy, system typów
- Pola, metody, konstruktory, polimorfizm, przeciążanie metod
- 2016.04.05
- Propercje (właściwości)
- Indeksery
- Delegacje (funkcje jako first-class citizens
- Nazwane delegacje
- Anonimowe delegacje
- Lambda wyrażenia
- Zdarzenia (events)
- Refleksja
- Atrybuty
- 2016.04.12
- Dynamiczne tworzenie kodu
- Enumeratory
- Yield (enumeracje przez kontynuacje)
- C#2 Typy generyczne, ograniczenia typowe
- Typy generyczne w C++ vs C# vs Java - specyfika implementacji, plusy/minusy
- 2016.04.19
- C#3 rozszerzenia języka - metody rozszerzające, obiekty anonimowe, niejawne typowanie (var, tablice)
- C#3 LINQ - uniwersalne, funkcyjne podejście do dostępu do danych
- LINQ - Linq2Objects vs Linq2SQL, delegacje vs drzewa wyrażeń
- C#4, DLR, współpraca z COM early vs late binding vs dynamic
- 2016.04.26
- System.Windows.Forms - przegląd materiału
- Model zdarzeniowy
- Jednowątkowość i wyzwania asynchroniczne - async/await
- Layout - kontenery, kotwice, dokowanie
- 2016.05.10
- System.Windows.Forms - ciąg dalszy
- Podstawowe formanty interfejsu użytkownika
- Formanty do reprezentacji zbiorów elementów - ComboBox/ListBox vs ListView/TreeView
- Zarządzanie layoutem aplikacji - kotwice/dokowanie
- Leniwe ładowanie dużych zbiorów danych do formantu TreeView
- 2016.05.17
- System.Windows.Forms - tworzenie własnych formantów
- dziedziczenie istniejącego formantu
- formant z własnym rysowaniem zawartości (dziedziczący z Control)
- formant kompozytowy (dziedziczący z UserControl)
- Interfejs użytkownika oparty na powiadomieniach
- WPF - omówienie głównych pojęc
- 2016.05.24
- System.Windows.Forms - tworzenie własnych formantów
- WPF - omówienie głównych pojęc
- WPF - dwukierunkowy data-binding, interfejs INotifyPropertyChanged
- 2016.05.31
- System.Data - podsystem dostępu do danych
- SELECT, INSERT, UPDATE, obsługa relacji jeden-wiele
- kwerendy parametryczne, zagrożenie SQL Injection
- Dapper.NET - przykład lekkiej technologii automatyzującej typowe operacje bazodanowe
- 2016.06.07
- Linq2SQL jako przykład technologii ORM w podejściu Database First
- Entity Framework jako przykład technologii w podejściu Code First
- Entity Framework Code First Migrations
- 2016.06.14
- Xml - przegląd
- Xml - model DOM, język XPath
- Xml - strumieniowanie
- Xml + Xsd, modele, serializacja
Literatura
- Charles Petzold, Programming Windows 5th Edition
- Mark Russinovich, David Solomon, Windows Internals
- Bruce Eckel, Thinking in C#
- Andrew Troelsen, Język C# i Platforma .NET
- Daniel Solis, Illustrated C#