Zaawansowane programowanie w języku C++

Podobne dokumenty
Praktyczne zastosowanie bibliotek Boost oraz nowego standardu C++11

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Programowanie.NET - kurs zaawansowany

PRZEWODNIK PO PRZEDMIOCIE

Program szkolenia: Zaawansowane programowanie w C++

INŻYNIERIA OPROGRAMOWANIA

Inżynieria oprogramowania - opis przedmiotu

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Dzięki szkoleniu. Dni: 3. Opis: Adresaci szkolenia

Podstawy modelowania programów Kod przedmiotu

SZKOLENIE TWORZENIE SYSTEMÓW

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Tytuł szkolenia: Angular 4 - budowanie nowoczesnych i wydajnych aplikacji przeglądarkowych

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW

KARTA KURSU. Student zna podstawy analizy, projektowania i programowani obiektowego oraz podstawy języka C++.

Inżynieria Oprogramowania w Praktyce

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

PRZEWODNIK PO PRZEDMIOCIE

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

INŻYNIERIA OPROGRAMOWANIA

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

Korporacyjna Magistrala Usług na przykładzie Mule ESB

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

Egzamin / zaliczenie na ocenę*

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe

PRZEWODNIK PO PRZEDMIOCIE

KARTA KURSU. Programowanie obiektowe

PRZEWODNIK PO PRZEDMIOCIE

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

KARTA KURSU (realizowanego w module specjalności)

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

OFERTA SZKOLENIOWA PROGRESS SOFTWARE

Programista do działu testów PDT/1401/T/TBG

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

edycja 1 opracowany zgodnie z Zarządzeniami Wewnętrznymi PWr. nr 14/2012 i 15/2012 i 34/2012

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Inżynieria oprogramowania, C12

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Dni: 3. Opis: Adresaci szkolenia

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/17

Architektura mikroserwisów na platformie Spring IO

I N S T Y T U T I N F O R M A T Y K I S T O S O W A N E J 2016

SYLABUS/KARTA PRZEDMIOTU

KARTA PRZEDMIOTU. Programowanie wieloplatformowe, D1_1

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

Podstawy analizy danych numerycznych w języku Python

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

Rok akademicki: 2014/2015 Kod: IEL s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

SYLABUS/KARTA PRZEDMIOTU

SYLABUS/KARTA PRZEDMIOTU

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

rodzaj zajęć semestr 1 semestr 2 semestr 3 Razem Lp. Nazwa modułu E/Z Razem W I

Program szkolenia: Continuous Integration i Git

PRZEWODNIK PO PRZEDMIOCIE

Rok akademicki: 2012/2013 Kod: IET SW-s Punkty ECTS: 3. Kierunek: Elektronika i Telekomunikacja Specjalność: Systemy wbudowane

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Projekt systemu informatycznego

Program szkolenia: JavaScript Craftsmanship

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od prostych do poważnych algorytmów w C++ Symbol szkolenia: PUZC++

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

KARTA PRZEDMIOTU. Warsztaty z programowania mobilnego w Python. Python Mobile Programming Workshop

PROJEKT INŻYNIERSKI I

PRZEWODNIK PO PRZEDMIOCIE

Szkolenie: Testowanie wydajności (Performance Testing)

Gry społecznościowe. wykład 0. Joanna Kołodziejczyk. 24 lutego Joanna Kołodziejczyk Gry społecznościowe 24 lutego / 11

Język Java i technologie Web - opis przedmiotu

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

PRZEWODNIK PO PRZEDMIOCIE

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Kierunek: Informatyka rev rev jrn Niestacjonarny 1 / 5

Certified IT Manager Training (CITM ) Dni: 3. Opis:

Rok akademicki: 2012/2013 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

PRZEWODNIK PO PRZEDMIOCIE

Systemy Informatyki Przemysłowej

Kierunek: Informatyka rev rev jrn Stacjonarny 1 / 6

E-ID1S-08-s5. Informatyka. I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

PRZEWODNIK PO PRZEDMIOCIE

RADA WYDZIAŁU Elektroniki i Informatyki. Sprawozdanie z realizacji praktyk studenckich na kierunku Informatyka w roku akademickim 2017/18

2/4. informatyka" studia I stopnia. Nazwa kierunku studiów i kod. Informatyka WM-I-N-1 programu wg USOS. Tytuł zawodowy uzyskiwany przez

Michał Olejnik. 22 grudnia 2009

Usługa: Testowanie wydajności oprogramowania

PRZEWODNIK PO PRZEDMIOCIE

Zapytanie ofertowe (RFP)

Dni: 5. Opis: Adresaci szkolenia

PRZEWODNIK PO PRZEDMIOCIE

Egzamin / zaliczenie na ocenę*

APLIKACJE KLIENT-SERWER Client-Server Applications Forma studiów: Stacjonarne Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W, 2L

Departament Zakupów Centralnych ul. Żaryna 2A, Warszawa tel. (22) DZC/AS/708/12. Warszawa, dn. 27 listopada 2012 r.

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

PRZEWODNIK PO PRZEDMIOCIE

Full Stack JavaScript z Angular i Nest. Dni: 5. Opis: Adresaci szkolenia

Transkrypt:

Kod szkolenia: Tytuł szkolenia: C/ADV Zaawansowane programowanie w języku C++ Dni: 3 Opis: Uczestnicy szkolenia zapoznają się z metodami wytwarzania oprogramowania z użyciem zaawansowanych mechanizmów języka C++ oraz szablonów STL. Na zajęciach poruszamy zagadnienia związane z koncepcjami algorytmów, iteratorów i zaawansowanych struktur danych. W przykładach wykorzystywane są elementy biblioteki standardowej oraz elementy biblioteki Boost. Uczestnicy szkoleń poznają aspekty programowania wielowątkowego, uogólnionego oraz wstępnie koncepcje leżące u podstaw metaprogramowania ze szczególnym uwzględnieniem cech typów i biblioteki Boost MPL. Zajęcia uwzględniają także potrzeby testowania aplikacji tworzonych w języku C++ z użyciem narzędzi wspierających proces TDD. Jako biblioteki wspierające, wykorzystane są: cppunit oraz Boost Testing. Szczególny nacisk w trakcie zajęć kładziemy na zrozumienie aspektów wydajności oraz gospodarowaniem zasobami z użyciem wskaźników inteligentnych dostępnych w nowej wersji standardu C++11. Jako techniki tworzenia aplikacji obiektowej, prezentowane są klasy wytycznych, tradycyjne wzorce projektowe (GoF). Na zajęciach posługujemy się technologiami otwartymi z dostępem do kodu źródłowego. Zajęcia prowadzone są przez doświadczonych praktyków, którzy na co dzień stosują technologie związane z językiem C++ w rzeczywistych projektach. W trakcie zajęć używamy technologii i środowisk otwartych. Zakres szkolenia Szkolenie obejmuje: konsolidację wiedzy o elementach biblioteki standardowej, algorytmy biblioteki standardowej, tworzenie i testowanie aplikacji wielowątkowych, inteligentne wskaźniki i ich adekwatne stosowanie, klasy wytycznych. Wymagania

Od uczestników szkolenia wymaga się: posługiwania się wybranym środowiskiem IDE (Eclipse, NetBeans, vim), znajomości koncepcji programowania obiektowego, systemowego i aplikacyjnego, znajomości narzędzi do tworzenia aplikacji z rodziny gcc i binutils, umiejętności posługiwania się narzędziem debuggera, znajomości koncepcji związanych z programowaniem w języku C++ na poziomie podstawowym i średnio zaawansowanym. Dodatkowo mile widziana jest także znajomość aspektów sprzętowych platformy x86 (przydzielanie i zarządzanie pamięcią, alokacja rejestrów, konwencje wywołań, optymalizacje). Adresaci szkolenia Szkolenie adresowane jest do: Cel szkolenia programistów programujących w języku C i C++ w środowisku GNU/Linux lub MS Windows, osób znających w podstawowym zakresie system szablonów STL, programistów tworzących oprogramowanie na platformie systemowej GNU/Linux lub MS Windows, programistów tworzących aplikacje głównego nurtu oraz aplikacje sieciowe. Głównymi celami w procesie szkoleniowym są: kształcenie umiejętności rozwijania wiedzy dotyczącej tworzenia zaawansowanych rozwiązań w języku C++, osadzenie narzędzi i procesów tworzenia oprogramowania w realiach współczesnych wymagań Inżynierii Oprogramowania, dokonanie konsolidacji wiedzy i uzupełnienie braków w kompetencjach w kontekście standardu C++11. Umiejętności zdobywane podczas zajęć Uczestnicy szkolenia po jego zakończeniu zdobędą następujące umiejętności: testowania jednostkowych aplikacji w języku C++, tworzenia aplikacji wielowątkowych z użyciem Boost Threads, identyfikacji i tworzenia oprogramowania z użyciem wzorców GoF, zapoznania się ze współczesnymi bibliotekami przetwarzającymi dane. Parametry szkolenia

Szkolenie trwa 3 dni. Szkolenie obejmuje 60% wykładu i 40% ćwiczeń.

Program szkolenia: 1. Algorytmy i iteratory biblioteki standardowej. I. Przegląd dostępnych algorytmów. II. Wydajność i aspekty implementacji. III. Praktyczna implementacja z użyciem algorytmów z biblioteki standardowej. IV. Implementacja własnych algorytmów do ponownego wykorzystania. V. Złożoność obliczeniowa i zakres zastosowań. VI. Warsztat wykorzystania algorytmów. VII. Rodzaje iteratorów dostępnych w bibliotece standardowej. 2. Iteratory i programowanie uogólnione. I. Aspekty implementacji iteratorów. II. Implementacja własnych iteratorów. III. Programowanie uogólnione koncepcje i zastosowania. 3. Szablony STL wydajne stosowanie i wstęp do metaprogramowania. I. Wzorce pułapki i zastosowania. II. Konkretyzacja reguły i działanie. III. Cechy typów. IV. Metaprogramowanie podstawy. V. Algorytmy na poziomie meta. 4. Wzorce projektowe. I. Wprowadzenie wzorców projektowych. II. Strukturalne wzorce projektowe. III. Konstrukcyjne wzorce projektowe. IV. Behawioralne wzorce projektowe. V. Specyfika implementacji wzorców projektowych w języku C++. 5. Biblioteka Boost przegląd użytecznych rozwiązań. I. Biblioteki rozwijające paradygmat programowania uogólnionego. II. Biblioteki przetwarzania danych. 6. Testowanie i metodyka TDD. I. Proces TDD w pacy programisty. II. Rodzaje testów i dostępne asercje. III. Projektowanie i implementowanie testów. 7. Praca z narzędziem debuggera w języku C++. I. Dostęp do podstawowych struktur C++. II. Automatyzacja i skrypty. III. Wstęp do integracji z infrastrukturą testowania. 8. Programowanie wielowątkowe. I. Wyzwania i problemy. II. Współpraca wątków. III. Wielowątkowość z użyciem biblioteki pthreads. IV. Wielowątkowość z użyciem biblioteki Boost Threads. V. Funkcje i rodzaje blokad. VI. Sekcje krytyczne. VII. Testowanie aplikacji wielowątkowych. 9. Wzorce wielowątkowości.

Powered by TCPDF (www.tcpdf.org) I. Przegląd bibliotek i frameworków wspierających wielowątkowość w C++. II. Wzorce wielowątkowości przegląd. III. Implementacja najbardziej użytecznych wzorców wielowątkowości. IV. Zaawansowane wzorce dostępne w Boost Threads. 10. Nowości w standardzie C++11. I. Przegląd nowości wprowadzonych w C++11. II. Zarządzanie pamięcią (wskaźniki inteligentne). III. Nowe aspekty składni. IV. Funkcje lambda. V. Inne przydatne możliwości. 11. Wykładnie i nowoczesne projektowanie aplikacji. I. Zasady S.O.L.I.D. - przegląd i przypomnienie. II. Wykładnie w programowaniu obiektowym. III. Implementacja wykładni we własnych aplikacjach. 12. Tworzenie aplikacji niezawodnych. I. Aspekty wydajności obsługi wyjątków. II. Tworzenie aplikacji odpornej na błędy. III. Programowanie aspektowe.