Podstawy programowania Wprowadzenie
Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne metody rozwiązania wybrać najbardziej odpowiednią Opracowanie algorytmu
Algorytm Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie niezbędne czynności oraz kolejność ich wykonania precyzyjny na tyle, aby posługiwanie się nim polegało na automatycznym wykonaniu czynności
Języki programowania Maszynowy (0-1) Asembler Języki interpretowane (Basic) Języki wysokiego poziomu, kompilowane (Ada, Pascal, C, C++, Java, C#, …) Języki skryptowe (PHP)
Podstawy programowania Prowadzący dr inż. Piotr Kaczorek C-341, p.kaczorek@we.am.gdynia.pl dr inż. Damian Bisewski mgr inż. Marcin Waraksa
Podstawy programowania Strona www: ktm.am.gdynia.pl/~pik/prokom - materiały z wykładu - instrukcje do ćwiczeń - przykładowe pytania na sprawdziany
Program zajęć Proces tworzenia programu komputerowego, algorytm, języki programowania, programy narzędziowe Platforma .NET: języki programowania, CLR, biblioteki, IL, JIT MS VS: zarządzanie projektami, struktura programu, debuger Typy i zmienne: CTS, typy wartościowe i referencyjne, alokacja, realokacja, GC; typy proste, wyliczeniowe, struktury, tablice, operatory i wyrażenia, hierarchia i wiązanie, konwersje; Programowanie strukturalne: instrukcje wyrażeniowa, pusta, grupująca, warunkowa, instrukcje iteracyjne Tablice: tworzenie tablic, operator indeksowania
Program zajęć Przykłady algorytmów i ich implementacja: wyszukiwanie (liniowe, binarne), sortowanie (bąbelkowe, gnoma, sekwencyjne, szybkie Funkcje: definicja funkcji, przekazywanie argumentów, dostarczanie rezultatu, wywołanie funkcji, funkcje przeciążone, rekurencja, funkcje statyczne, funkcje rozszerzające; DRY Znaki i łańcuchy: reprezentacja znaków i łańcuchów, funkcje do przetwarzania łańcuchów, lokalizacja Pliki: dane a ich reprezentacja, pliki tekstowe i binarne, standardowe formaty plików, mechanizmy obsługi plików
Program zajęć Wprowadzenie do programowania obiektowego: klasy, pola, metody i właściwości, obiekty; hermetyzacja, dziedziczenie i polimorfizm, klasy abstrakcyjne i interfejsy; Standardowe klasy do przetwarzania danych: listy i kolejeki Aplikacje z GUI, EDP, RAD
Podręczniki Jacek Matulewski i inni Visual Studio 2010 dla programistów C# (ebook)
Podręczniki Jacek Matulewski Visual Studio 2017. Tworzenie aplikacji Windows w języku C#
Narzędzia Środowisko programistyczne Microsoft Visual Studio Comunity https://visualstudio.microsoft.com/vs/community/ Microsoft Visual Studio Professional Microsoft Imagine (MSDN AA), opiekun: dr inż. Andrzej Rak informacje http://we.umg.edu.pl/
Platforma .NET Platforma .NET (.NET Framework) Platforma programistyczna Microsoft, Obejmuje - środowisko uruchomieniowe CLR (Common Language Runtime) - biblioteki klas Programy mogą być pisane w jednym z wielu języków (C++, C#, F#, J#, Delphi, Visual Basic) Umożliwia uruchamianie programów na serwerze IIS (Internet Information Services) oraz na systemach z implementacją .NET Zgłoszony standard EMCA, powstają niezależne wdrożenia, np. Mono (UNIX, Linux, Android, …)
Środowisko uruchomieniowe CLR (Common Language Runtime) Platforma .NET Struktura .NET Biblioteki Windows.Forms WebServices ADO.NET ASP.NET XML, SQL BCL (Base Class Library) Środowisko uruchomieniowe CLR (Common Language Runtime)
Platforma .NET Środowisko uruchomieniowe CLI C# J# C++ Biblioteki .NET Kod IL Obsługa wykonywania Kompilator JIT (Just in Time) Bezpieczeństwo Zarządzanie pamięcią Kod maszynowy Procesor
Platforma .NET Wersje .NET 1.0 (2002 r.) 2.0 (2005 r.), Windows Server 2003 3.0 (2006 r.), Windows Server 2008, Windows Vista 3.5 (2007 r.), Windows 7 4.0 (2010 r.), VS 2010 4.5 (2012 r.), Windows Server 8, Windows 8, VS 2012 4.6 (2015 r.), Windows 10, VS 2015 4.7 (2017 r.), VS 2017
C# Najważniejsze cechy C# Obiektowość kod programu jest zbiorem klas; typy proste (int, double, itd.) również są strukturami Odśmiecanie pamięci zarządzaniem pamięcią zajmuje się środowisko uruchomieniowe Wiele nowoczesnych rozwiązań właściwości, indeksery, delegacje, zdarzenia, refleksje, … (wiele zapożyczonych z języka Java) Bogate biblioteki klas dla aplikacji konsolowych (System), okienkowych (Windows.Forms), bazodanowych (ADO.NET), sieciowych (System.Net), w architekturze rozproszonej (WebServices), dynamicznych aplikacji internetowych (ASP.NET) oraz multimediów (Silverlight) Narzędzia wbudowane Narzędzia pracy grupowej, wbudowany system kontroli wersji, wsparcie dla tworzenia aplikacji mobilnych, kreator instalacji
MS Visual Studio
MS Visual Studio
MS Visual Studio
MS Visual Studio
MS Visual Studio