Praktyczne warsztaty programistyczne. Idea. Warsztaty



Podobne dokumenty
ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Program szkolenia: Continuous Integration i Git

Oferta szkoleń firmy Code Sprinters

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Open Source w służbie developerom

Wymagania: umiejętność modelowania systemów informatycznych z wykorzystaniem UML. umiejętność definiowania i kreatywnego rozwiązywania problemów

Tworzenie oprogramowania

Programowanie zespołowe

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Program szkolenia: Jenkins - Continuous Integration

[Junior Developer - pierwsza praca jako programista - JavaDevMatt] 1. Sponsorzy Partnerzy projektu O czym i dla kogo jest ta książka?

E-learning w pracy nauczyciela bibliotekarza warsztaty metodyczne w Pedagogicznej Bibliotece Wojewódzkiej im. KEN w Lublinie

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

PRZEWODNIK PO PRZEDMIOCIE

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Projekt zespołowy D1_10

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

Referat Pracy Dyplomowej

KARTA PRZEDMIOTU. Projekt zespołowy D1_10

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Zespołowy projekt informatyczny. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

REFERAT PRACY DYPLOMOWEJ

Zaawansowane programowanie w języku C++

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Egzamin / zaliczenie na ocenę*

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

Praktyka testowania dla początkujących testerów

Piotr Bubacz Cloud Computing

Nowocześnie zaprojektowana e-usługa - studium przypadku


KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Programowanie obiektowe. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: II/4

Wykorzystanie platformy e-learningowej moodle do szkoleń i zarządzania

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Wprowadzenie do narzędzia MAVEN

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

MODUŁ E-learning nauczanie przez Internet

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

KARTA PRZEDMIOTU. Programowanie wieloplatformowe, D1_1

Inżynieria oprogramowania - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych

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

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

Korporacyjna Magistrala Usług na przykładzie Mule ESB

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

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

KARTA PRZEDMIOTU. Warsztaty z Ruby on Rails. Ruby on Rails Workshop

INFORMATYKA P L AN S T U DIÓW ST AC J O N AR N Y C H ( W UKŁAD Z I E S EMESTR AL N Y M ) Podstawy programowania

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Architektura mikroserwisów na platformie Spring IO

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

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

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

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

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

PRZEWODNIK PO PRZEDMIOCIE

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Temat: Zwinne Zarządzanie Projektami IT (Agile / Scrum) Data: marca 2014 r. (2 dni, czwartek-piątek), godz. 9-16

Nowoczesne metody nauczania przedmiotów ścisłych

Kurs MATURA Z INFORMATYKI

Internetowa ogólnopolska baza informatycznych projektów badawczych otwartej innowacji Platforma współpracy SPINACZ 1/46

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

Zajęcia komputerowe, informatyka, TIK

Technikum informatyczne SCI. ul. Mazowiecka Szczecin. Zawód - informatyk. Wojciech Połowniak

CC1 Cracow Cloud One

Techniki efektywnego testowania kodu dla programistów Java (Spock

JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]

SZKOLENIE TWORZENIE SYSTEMÓW

Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle

Zaliczenie. Zaliczenie na ocenę Dla grupy kursów zaznaczyć X kurs końcowy (X) Liczba punktów ECTS 3 w tym liczba punktów ECTS

LearnIT project PL/08/LLP-LdV/TOI/140001

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

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

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH I-go STOPNIA (W UKŁADZIE SEMESTRALNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Oferta dla III sektora

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

INŻYNIERIA OPROGRAMOWANIA

System wspomagający organizację konferencji MARBLE PROJECT

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

ZARZĄDZANIE PROJEKTAMI

SYLABUS/KARTA PRZEDMIOTU

PROGRAM ZAJĘĆ REALIZOWANYCH W RAMACH PROJEKTU

SYLABUS/KARTA PRZEDMIOTU

Oferta szkoleniowa Warszawa 2018

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

ANGULARJS TWORZENIE APLIKACJI INTERNETOWYCH

Leszek Dziubiński Damian Joniec Elżbieta Gęborek. Computer Plus Kraków S.A.

Projektowanie oprogramowania. Termin zajęć: poniedziałek, a podstawie materiału ze strony.

Witryny i aplikacje internetowe - rozkład godzin dla technikum informatycznego

Transkrypt:

Idea Szczecińska Grupa Użytkowników Linuksa / Uniksa oraz Szczecińskia Grupy Użytkowników Javy zaprasza na warsztaty przyszłych profesjonalistów branży informatycznej. Warsztaty będą prowadzone przez zawodowych programistów i są całkowicie darmowe. Mają na celu symulację pracy nad rzeczywistymi projektami programistycznymi. Warsztaty Zapraszamy na cykl warszatów wprowadzających do programowania aplikacji Wolnego i Otwartego Oprogramowania (WiOO); z użyciem systemu operacyjnego Linux i licznych narzędzi wspomagających, w wieloosobowym środowisku i kulturze WiOO. Mamy nadzieję, że każdy znajdzie coś interesującego dla siebie. 1. Warsztat 1 - praktyczny kurs Gita oraz GitHuba. Git będzie używany jako system kontroli wersji we wszystkich następnych warsztatach. Prowadzący: Tomasz Muras. Czas trwania: 3 godziny (w przeciągu jednego dnia). Plan: 40 minutowy wykład, dwugodzinna praktyczna sesja. 2. Warsztat 2 C pod Linux: Tworzenie filtrów graficznych dla programu graficznego TuxPaint Prowadzący: Adam Rakowski. Czas trwania: Wykład : 1 godzina 20 minut, spotkania praktyczne: 1.5 h + 1 h (dwa różne dni) 3. Warsztat 3 - PHP, Moodle. Prowadzący: Tomasz Muras. Czas trwania: 3 tygodnie Plan: 3 spotkania, zadania realizowane w formie pracy zdalnej 4. Warsztat 4 - Java, Jenkins. Prowadzący: Marcin Kawelski & JUG Czas trwania: 6 tygodni

Wymagania wspólne Praktyczne warsztaty programistyczne O ile to możliwe, każdy z uczestników powinien posiadać własnego laptopa z modułem sieci bezprzewodowej i zainstalowanym systemem Linux (może być wirtualizacja). Organizator dostarczy dostęp do sieci bezprzewodowej. Dowolna, w miarę nowoczesna dystrybucja będzie odpowiednia. Jeżeli posiadasz własnego laptopa, ale potrzebujesz pomocy w instalacji Linuksa, zarejestruj się na liście SzLUUGa ( http:/ /lists.szluug.org/listinfo/szluug ) i napisz do nas. Wystarczy, że przyjdziesz spotkanie SzLUUGa, a pomożemy Ci z instalacją. Jeżeli nie posiadasz własnego sprzętu - daj nam znać. Wymagana jest co najmniej średniozaawansowana znajomość języka programowania, w którym realizowane są wybrane przez Ciebie warsztaty. Żadne spotkanie nie będzie kursem języka programowania. Narzędzia używane przy budowaniu aplikacji, interfejs programisty (API) i sposób konfiguracji środowiska programistycznego będzie omawiany podczas wykładów i ćwiczeń praktycznych. Jak dołączyć Wyślij e-mail na warsztaty@szluug.org i napisz nam: Imię i nazwisko Czy jesteś w stanie przyjść na warsztat z własnym laptopem, z zainstalowanym systemem Linux? Jeżeli nie, napisz z czym możemy Ci pomóc.

Warsztat 1 - git Opis Celem pierwszego warsztatu będzie zapoznanie się z systemem kontroli wersji Git oraz serwisem GitHub. Git będzie używany jako system kontroli wersji w pozostałych spotkaniach. Warsztat koncentruje się na praktycznym wykorzystaniu Gita. Plan Spotkanie zacznie się od 40-minutowego wykładu. Po krótkiej przerwie przejdziemy do części praktycznej z użyciem komputerów.

Warsztat 2 - C Opis Praktyczne warsztaty programistyczne Wykład wprowadza do programowania w Linux z użyciem języka C. Celem jest skonfigurowanie środowiska programistycznego programu TuxPaint, zapoznanie z bibliotekami i API używanymi w projekcie, przedstawienie sposobu dokumentowania projektu i zasad komunikacji ze społecznością. Pobocznym celem jest zapoznanie z podstawowymi narzędziami programistycznymi dla języka C, które są używane w świecie Wolnego i Otwartego Oprogramowania. W efekcie zostanie utworzony zestaw niewielkich wtyczek-filtrów graficznych rozszerzających możliwości TuxPainta. O prowadzącym Adam jest programistą zaangażowanym w rozwój Wolnego i Otwartego Oprogramowania. Na codzień pisze w C++ i Python. Zawodowo zajmuje się integracją aplikacji i szkoleniami. TuxPaint Program TuxPaint jest prostym programem graficznym dla dzieci tworzonym przez wolontariuszy organizacji Tux4Kids. Inspiracją Tux4Kids jest utworzenie darmowej, otwartej i wolnej platformy programów edukacyjnych dla dzieci, która wspiera kreatywność, zdolności językowe i uczy interakcji z komputerem. Aplikacje tworzone przez Tux4Kids są wieloplatformowe a dodatkowo spełniają bardzo restrykcyjne wymogi szybkości działania, przez co mogą być używane nawet na bardzo starym sprzęcie. Wymagania Wykład opiera się na wiedzy przekazanej podczas szkolenia z GitHub. Wymagana jest co najmniej średniozaawansowana znajomość języka C (wskaźniki są koniecznością).

Ramy czasowe Praktyczne warsztaty programistyczne Wykład planowany jest na 80 minut. Po krótkiej przerwie przejdziemy do pierwszej części praktycznej (1.5 h). Na zakończenie uczestnicy otrzymają zadanie do wykonania samodzielnego + zdalne wsparcie. Podczas drugiego, jednogodzinnego spotkania, dokonany zostanie przegląd utworzonych przez uczestników kodów, wykonane zostaną testy, a kod utworzony przez uczestników zostanie zgłoszony do organizacji Tux4Kids, opiekuna projektu TuxPaint. Agenda wykładu Hello Linux! - czyli jak to skompilować? Makefile - dlaczego kompilacja z ręki nie jest dobra Skąd się biorą Makefile - czym jest Autotools i bootstrap Narzędzia niezbędne do kompilacji, uruchomienia i testowanie Bibloteka SDL Zarządzanie zależnościami pkg-config oraz apt-get Tworzenie lokalnego repozytorium kodu i kompilacja Wstęp do TuxPaint, czyli narysuj mi Kłapouszka TuxPaint architektura, modularność, API pluginów Jak napisać prosty filtr moje pierwsze narzędzie dla TuxPaint Testowanie i kontrola pamięci Społeczność TuxPaint gdzie zgłaszać błędy, skąd brać wsparcie

Warsztat 3 - PHP Opis Praktyczne warsztaty programistyczne Celem tej serii warsztatów jest symulacja prawdziwej programistycznej roboty - zbliżonej do pierwszej pracy w IT. Pracując jako zawodowy programista będziesz miał do czynienia z wyzwaniami, których nie miałeś okazji rozwiązywać podczas studiów. Chcemy zapoznać Ciebie z powszechnie stosowanymi narzędziami i technikami pracy. Omówimy między innymi: systemy kontroli wersji workflow (tryb pracy) wspópraca z licznym zespołem programistów recenzje/przeglądy kodu kolegów praca z testerami standardy jakości Nie będzie to projekt typu hello world. Dołączysz do projektu który: posiada ponad 1 milion linii kodu jest współtworzony przez ponad 300 programistów posiada zdefiniowane standardykodu oraz cykl życia Projekt Moodle (http://moodle.org) jest aplikacją typu LMS (Learning Management System) z otwartym kodem źródłowem. Warsztat jest dla Ciebie, nawet jeżeli nie jesteś zainteresowany systemami typu LMS - skupimy się na technicznej stronie programowania. Nauczysz się jak: rozpocząć pracę nad dużym projektem pisać wysokiej jakości kod używać systemu Git do zarządzania kodem używać bugtrackera Pokażemy Ci w jaki sposób przebiega praca nad dużym projektem od momentu zgłoszenia błędu, poprzez programowanie, testowanie, QA oraz integrację. Będziemy pracować nad małymi błędami i poprawkami, które to poprawki pod koniec warsztatów zostaną włączone do głównego projektu (a Ty zostaniesz jednym z współtwórców aplikacji i zaistniejesz na stronie https://moodle.org/dev). Technologie, którymi będziemy się posługiwać to: Linux, Apache, MySQL, PHP Netbeans Git

Jira Warsztaty będą trwały 3 tygodnie, w tym czasie spotkamy się 2 razy na zajeciach praktycznych. Poza tym będziesz musiał wykonać zadania w ramach pracy zdalnej, we własnym czasie. Warsztat jest przeznaczony dla programistów ale zadania programistyczne będą proste - studenci wszelkich specjalizacji są mile widziani. Przez cały czas trwania warsztatu będziemy Ci udzielać wszelkiej niezbędnej pomocy. O prowadzącym Tomek Muras jest jednym z developerów Moodla oraz fanem Linuksa, Otwartego Oprogramowania i Otwartych Standardów. Zawodowo pracuje jako lider grupy programistów. Wymagania Linux z zainstalowanym Apachem, PHP oraz MySQLem - przyjdź na spotkanie SzLUUGa ze swoim laptopem jeżeli potrzebujesz pomocy w instalacji systemu. Agenda Warsztat 1 Na pierwszych zajęciach przedstawimy Ci podstawy aplikacji, nad którą będziesz pracował, ustawimy środowisko programistyczne i rozwiążemy pierwszy problem. Zadanie 1 Po pierwszych zajęciach otrzymasz do rozwiązania pierwszy problem (małe usprawnienie albo błąd). Będziesz miał 2 tygodnie na imlpementację oraz zatwierdzenie Twojego kodu. Warsztat 2 Na drugim warsztacie nauczymy się używać Gita oraz Githuba wg procedur projektu. Porozmawiamy również o tworzeniu kodu wysokiej jakości. Zadanie 2 Pod koniec drugiego warsztatu otrzymasz kolejne zadanie. Kod, który napiszesz, samodzielnie wyślesz do projektu. Będziesz wpółpracował z testerami oraz innymi programistami. Będziesz miał 3 tygodnie na wykonanie zadania.

Warsztat 4 - Java Cel: 1. poszerzenie horyzontów młodych ludzi (studentów) uczących się programowania poza wiedzę akademicką, w szczególności o wiedzę praktyczną jaką mogą spotkać w pracy komercyjnej i niekomercyjnej, 2. promocja szczecińskich organizacji non-profit JUG i Szluug wśród młodych ludzi. Założenia: 1. Organizacja 4-6 tyg intensywnych (2x w tyg po min 2h) warsztatów z zakresu: 1. rozwój istniejącego projektu (jenkins.org) opartego o technologie java, 2. narzędzia do wersjonowania - cvs/svn/git, 3. narzędzia i podejście do budowania (CI), 4. narzędzia do testowania, 5. narzędzia do zarządzania zadaniami i workflow (jira / github), 6. metodyki kooperacji (agile/scrum)? 1. Przynajmniej jedno spotkanie się w ramach regularnych spotkań JUG i Szluug aby umożliwić zapoznanie się uczestników warsztatów z członkami naszych organizacji i klimatem spotkań. 2. Zapisanie do listy dyskusyjnej w celu uzyskania pomocy. 3. Konkurs w trakcie kursu z nagrodami: np. książki, bilety na konferencje, może staże w firmach sponsorujących w przerwie wakacyjnej? (do tej części przydałby się sponsoring firm). 4. Promocja warsztatów poprzez akcje wewnątrz uczelni (np kilka krótkich prezentacji podczas wykładów) oraz na zewnątrz przy wsparciu mediów i social marketing. 5. Warsztaty prawie dla każdego. Wymagana minimalna wiedza o inżynierii oprogramowania i technikach programowania jako takich. Warsztaty mają na celu zaciekawić, pokazać narzędzia, sposoby i drogi do samokształcenia. Start na konferencji DevCrowd 20.04.2013 r Plan warsztatów: 1) Wykład wprowadzający - workflow 1-2h - omówienie czym będziemy się zajmować na warsztatach - omówienie jak wygląda potencjalny workflow w projekcie - omówienie http://jenkins-ci.org/ i ogólnie CI - omówienie JIRA - omówienie GitHub - omówienie Git-a - omówienie metodologi Scrum

2) warsztat 1 - szybki skok do kodu - 2h - tworzymy backlog - planujemy sprint - zakładamy konto na jenkins jira - szukamy i przypisujemy buga - zakładamy konto na GitHub - fork-ujemy projekt Jenkins - checkout projektu do workspace - instalujemy Eclipse/Intelij Idea - importujemy projekt - zadanie - poczytać kod i spróbować zlokalizować buga 3) wykład / warsztat 2 - uczymy się narzędzi - 2h - scrum i aktualizujemy backlog - JIRA - zmiana statusu buga - omówienie narzędzia eclipse/intelij Idea - kilka przydatnych skrótów/opcji - wstęp do Software Crafmanship i code refactoring - maven - podstawy używania - budujemy Jenkins i odpalamy testy - próbujemy odpalić Budowanie Jenkins jako Job Jenkins na własnej maszynie - zadanie - sciągnąc dowolny mavenowy projekt i dodać job-a do jenkins 4) warsztat 3 - uczymy się rozwiązywać problemy używając TDD - 2h - scrum i backlog - uczymy sie TDD i pracy w parach - poznajemy mock-i - próbujemy napisać test dla buga - poprawiamy buga - budujemy Jenkins i odpalamy testy 5) wykład - spotkanie w ramach Szczecin JUG 6) wykład / warsztat 4 - wypychamy zmiany - scrum i backlog - przypominamy sobie GIT-a - uczymy sie cvs/svn, porównanie z GIT - commit/push - pull request - omówienie github code review - zadanie - zrobić odgałęzienie branch projektu, zrobić zmiany, łączenie z HEAD 6) warsztat i konkurs - scrum i backlog - kończymy sprint - konkurs niespodzianka - rozdanie nagród - pożegnanie