KUKA.Sim – oprogramowanie do symulacji

Szybko, łatwo i efektywnie z KUKA.Sim

Dzięki intuicyjnemu interfejsowi oraz licznym funkcjom i modułom KUKA.Sim stanowi optymalne rozwiązanie, zapewniające maksymalną wydajność podczas programowania offline. Prosty i wydajny edytor KRL (KUKA Robot Language) oferuje dwa widoki: dla ekspertów i dla początkujących. Dzięki temu wizualne drzewo programu umożliwia programowanie nawet bez znajomości KRL. Stwórz optymalne schematy dla instalacji produkcyjnych już we wczesnej fazie projektowej. Przesuń inteligentne komponenty metodą „przeciągnij i upuść” z obszernej biblioteki w żądane miejsce. Sprawdź alternatywy i zweryfikuj koncepcje wymagające minimalnego nakładu środków. A ponieważ ruch jest wykonywany w czasie rzeczywistym, można dokładnie obliczyć czasy cyklów. Na końcu można udostępnić symulacje w różnych formatach dla niemal każdego urządzenia: od aplikacji mobilnych po pulpitowe, od 2D do 3D.

Programowanie w języku C++ Instytut Informatyki

Wprowadzenie

Języki C i C++ od wielu lat są jednymi z najczęściej stosowanych zarówno w przemyśle IT, jak i w instytucjach naukowo-badawczych. Szczególną rolę spełniają od dawna m.in. w telekomunikacji, przemyśle motoryzacyjnym i w produkcji gier, a ostatnio również w systemach "Internetu rzeczy" (IoT). Dlatego zapotrzebowanie na programistów znających C++ jest ciągle ogromne.

Kurs jest wprowadzeniem do programowania w C++. Obejmuje elementy programowania proceduralnego, obiektowego, generycznego i funkcyjnego istotne z punktu widzenia współczesnych zastosowań języka. Jego nauka odbywa się w kontekście zagadnień kluczowych dla każdego programisty, a dotyczących m.in. architektury komputera, zarządzania pamięcią, projektowania i analizy algorytmów oraz struktur danych, a także wzorców projektowych i testowania oprogramowania.

Adresaci kursu

Osoby bez kierunkowego wykształcenia zarówno już związane z branżą IT, jak również poszukujące takiej pracy. Kurs umożliwi uczestnikom uzupełnienie i uporządkowanie posiadanej wiedzy z zakresu nie tylko języka C++, ale także podstaw programowania ułatwiających dalszą naukę (także innych języków).

Wymagania wobec kandydatów

Kandydaci na kurs powinni znać podstawy programowania w dowolnym języku.

Atuty kursu

zakres materiału odpowiadający kursom przygotowawczym prowadzonym przez firmy z branży IT dla kandydatów do pracy,

nastawienie na zrozumienie kluczowych zagadnień dla każdego programisty, ułatwiających dalszą naukę (także innych języków),

kadra z wieloletnim doświadczeniem zarówno dydaktycznym (prowadzenie zajęć na studiach, w tym podyplomowych, i kursach realizowanych na zamówienie dla firm z branży IT), jak również w przemyśle IT (role programisty i architekta oprogramowania, prowadzenie rozmów rekrutacyjnych),

świadectwo ukończenia.

Zakres tematyczny kursu

Pojęcia podstawowe:

pliki vs. .h (nagłówkowe); proces kompilacji: kompilacja vs. interpretacja, kod źródłowy, kod maszynowy/asembler, narzędzia qmake i cmake; preprocesor/makra/kompilacja warunkowa,

Programowanie proceduralne:

deklaracja/definicja/inicjalizacja, zasięg nazw, typedef vs. deklaracja "using", wnioskowanie typu (auto/decltype), typy i rozmiary danych, konwersje typów/rzutowanie, wejście/wyjście (C vs. C++), funkcje, struktury sterujące, operatory bitowe, organizacja pamięci programu, zarządzanie pamięcią, stałe/zmienne lokalne/globalne, statyczne, dynamiczne; tablice, wskaźniki (w tym do funkcji) i referencje, struktury, unie, pola bitowe; const vs. constexpr; moduły, przestrzenie nazw, dyrektywa "using",

Programowanie obiektowe:

klasy (konkretne i abstrakcyjne), obiekty, metody, kontrola dostępu (w tym funkcje/klasy zaprzyjaźnione), konstruktory, destruktory; dziedziczenie vs. agregacja/kompozycja, inicjalizacja, polimorfizm inkluzyjny/"podtypowanie" i funkcje wirtualne, operatory definiowane przez użytkownika; wyjątki, noexcept, poziomy "exception safety",

Elementy programowania uogólnionego:

programowanie generyczne vs. generatywne, polimorfizm parametryczny, szablony funkcji i klas, elementy biblioteki standardowej (kolekcje i algorytmy),

Elementy programowania funkcyjnego:

cechy stylu (paradygmatu) funkcyjnego; funkcje wyższego rzędu, anonimowe obiekty funkcyjne/wyrażenia lambda,

Zarządzanie zasobami:

idiom RAII, "rule of three" vs. "rule of five", wskaźniki "unique_ptr" i "shared_ptr", semantyka przenoszenia ("move semantics"), idiom "copy-and-swap", typy "move-only",

Podstawy programowania aplikacji w Qt, testy jednostkowe,

Architektura komputera (podstawy, perspektywa programisty):

struktura procesu, zarządzanie pamięcią, reprezentacja liczb,

Elementy algorytmiki i wybrane struktury danych:

rekursja (w tym strukturalna), złożoność obliczeniowa (czasowa, pamięciowa); wybrane struktury danych - tablice, zbiory, mapy, stosy, kolejki, listy; drzewa (poszukiwań binarnych), grafy; wybrane algorytmy - wyszukiwanie, sortowanie, najkrótsze ścieżki w grafie.

Organizacja kursu

Czas trwania: 20 spotkań 4-godzinnych (od 17.45 do 21.00)

Forma zajęć: mini wykłady, ćwiczenia laboratoryjne/warsztaty

Liczba uczestników: min. 12, maks. 16

Język wykładowy: polski

Forma i warunek zaliczenia: uzyskanie pozytywniej oceny z testu końcowego

Polecane materiały pomocnicze:

Bjarne Stroustrup: Język C++ Kompendium Wiedzy, Helion 2014

Stephen Prata: Język C++. Szkoła programowania, Helion 2012

Jerzy Grębosz: Opus Magnum C++11, Helion 2017

Kierownik kursu: dr inż. Roman Dębski

Szczegółowe informacje o procesie rekrutacji otrzymają Państwo na adres e-mail podany w zgłoszeniu uczenictwa

C/Zintegrowane środowisko programistyczne

Podczas programowania warto ułatwić sobie życie korzystając z zintegrowanego środowiska programistycznego ( ang. IDE )

IDE jest zestawem wszystkich programów, których potrzebuje programista, najczęściej z interfejsem graficznym. IDE zawiera :

kompilator,

linker

edytor

debugger ( zwykle )

Dzięki niemu otrzymujemy :

Kolorowanie składni

Automatyczne formatowanie kodu

Inteligentne uzupełnianie kodu

Wsparcie dla debuggera

Przeglądanie kodu

Możliwość rozszerzenia IDE (własne snippety, generację kodu)[1]

Jest wiele programów tego typu: [2]

wieloplatformowe : VSCode Oracle Studio Code::Blocks dla Windows jak i Linux, Eclipse oparte na Javie, (współpracuje z MinGW i GCC), Emacs Geany dla systemów Windows i Linux; współpracuje z MinGW i GCC, NetBeans multiplatformowy, darmowy do ściągnięcia na stronie, Vim

tylko dla Windows: Microsoft Visual C++ (MS VC++), w wersji komercyjnej lub darmowej; Borland C++ Builder dostępny za darmo do użytku prywatnego, Dev-C++ dla Windows, ma dwie wersje: zawierającą kompilator GCC i druga bez niego. wxDev-C++ dla Windows, nowsza wersja Dev-C++ Pelles C,

tylko dla Linuksa: KDevelop (Linux) dla KDE, Anjuta dla Gnome

tylko dla Mac: Xcode dla Mac OS X 10.2.8 i nowszy kompatybilny z procesorami PowerPC i Intel (możliwość stworzenia Universal Binary),

Istnieją również specjlistyczne programy do analizy kodu, np. Frama C

Jarosław Kułak
Jarosław Kułak

Leave a Comment