PB173 Tematicky zaměřený vývoj aplikací

Fakulta informatiky
jaro 2024
Rozsah
0/2/0. 2 kr. (plus ukončení). Ukončení: k.
Vyučující
doc. RNDr. Petr Švenda, Ph.D. (pomocník)
Bc. Kristína Hanicová (přednášející)
Lukasz Michal Chmielewski, PhD (přednášející)
Ing. Michal Prívozník (přednášející)
RNDr. Martin Ukrop, Ph.D. (přednášející)
Jan Fiala (cvičící)
Mgr. Gabriela Fialová (cvičící)
Ing. Šárka Jana Janderková (cvičící)
Mgr. Milan Šorf (cvičící)
Garance
doc. RNDr. Petr Švenda, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh seminárních/paralelních skupin
PB173/SideChannels: St 8:00–9:50 A218, L. Chmielewski, M. Šorf
PB173/TechWriting: Út 10:00–11:50 S505, J. Fiala, G. Fialová, Š. Janderková
PB173/Virtualizace: St 10:00–11:50 S505, K. Hanicová, M. Prívozník
Předpoklady
PB071 Principy nízkoúr. prog. || SOUHLAS
Předpokládá se znalost programovacího jazyka a operačního systému dle konkrétní skupiny. Povinnou prerekvizitou je absolvování předmětu PB071 nebo výjimka udělená přednášejícím.
• PB173/TechWriting (Technical writing): the class will be delivered in English, no other prerequisites
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 70 stud.
Momentální stav registrace a zápisu: zapsáno: 29/70, pouze zareg.: 0/70, pouze zareg. s předností (mateřské obory): 0/70
Mateřské obory/plány
předmět má 75 mateřských oborů, zobrazit
Cíle předmětu
Rozvinout schopnost programovat v daném programovacím jazyce na základě vybrané konkrétní aplikační domény.
1. PB173/TechWriting (Technical writing)
• Give students an overview of the technical writing industry, acquire knowledge and skills that are required for a technical writer job role.
• Prepare students to work with technical writers if they are working as developers.
• Prepare students to write better documentation for their future projects.
• Train purposeful, minimalist writing and clear communication.
Výstupy z učení
Obecným cílem předmětu je prohloubení znalostí programovacího jazyku v konkrétní oblasti dle vybrané seminární skupiny. Každá skupina si definuje své vlastní specifické cíle.
1. PB173/TechWriting (Technical writing)
• Understand technical writing principles, goals, and audience.
• Participate actively in writing activities. Students will be able to produce a set of documents related to technology.
• Understand how to analyze data from research and incorporate it into assigned writing clearly, concisely, and logically.
• Edit documents with peer exchange according to professional guidelines.
• Get an overview of tools that are used in technical writing and learn more about cross-team collaboration.
Osnova
  • Konkrétní obsah kurzu je závislý na tematických skupinách, které jsou uvedeny v sekci informace učitele.
  • 1. PB173/TechWriting (Technical writing):
    • Introduction to technical writing (definition and purpose of technical writing, comparison between different writing styles, a day in the life of a technical writer, types of technical documentation and their specifics, target audience)
    • Style (accessibility, minimalism, modularity and structure, user focus and information flow, style guides)
    • Soft skills (empathy, ethics, cultural awareness, communication skills, curiosity, proactivity, editorial skills, time management)
    • Hard skills (definition of hard skills in technical writing, why we need them, product knowledge, engagement with the development team. Understanding user personas, teamwork across QE, product owners, engineers, support teams, planning for tech writing, how to create technical content, content strategy)
    • Tools (introducing single sourced and modular documentation, advantages of using markup languages with the ability to set attributes and use conditions, overview of text editors, version control systems, and publishing tools, creating and generating documentation using AsciiDoc and AsciiDoctor)
    • Usability (usability of documented products, 10 usability heuristics, usability of documentation deliverables)
Literatura
  • Literatura dle tématické skupiny.
Výukové metody
Výuka probíhá formou praktických dvouhodinových cvičení, doplněných samostatnými domácími programátorskými úlohami procvičujícími aktuálně probíranou látku. Cvičení obsahují nutný teoretický úvod do problematiky, zbylá část je věnována programování a používání souvisejících vývojových nástrojů u praktických úloh.
1. PB173/TechWriting (Technical writing):
• Lecture - instructor presenting material and answering student questions (demonstration, slideshows)
• Interactive parts of the lecture for students activities (solving a problem, correct the error, compare and contrast, paraphrase the idea)
• Project based learning - students apply course knowledge to produce their own portfolio
Metody hodnocení
Student během celého semestru vypracovává domácí úkoly a/nebo se podílí na projektu. Konkrétní rozsah domácích úkolů a pravidla hodnocení si stanoví každá tematická skupina samostatně.
1. PB173/TechWriting (Technical writing):
• Written work to display writing skills, and to show application and evaluation capabilities
• Portfolio of student work to encourage student self-reflection and to determine student learning over time
• Performance and activity during the lectures - demonstration of acquired skills, and the ability to work collaboratively
Informace učitele

Konkrétní skupiny/témata pro daný semestr budou rozeslány hromadným mailem před začátkem zápisu seminárních skupin a budou doplněny i na tuto stránku.


Aktuálně víme pro jaro 2024 o následujících tématech:

  • 1. Technical writing (Red Hat, English) – The group will cover basics of technical writing for proper documentation and support of development projects. The teaching is spread over the whole semester (2 hours/week).
    More information at https://github.com/rh-writers/technical-writing-course-brno
  • 2. Virtualizace (Red Hat, čeština) – hlavním cílem skupiny je poskytnout vhled do problematiky virtualizace, použitých principů, praktického připravení virtualizačního prostředí a efektivního využití. Výuká probíhá standardně v průběhu celého semestru (2 hodiny týdně)
  • 3. Programming Side-Channel Attacks (teaching in English, Lukasz Chmielewski) - in computer security, a side-channel attack is any attack based on extra information that can be gathered using an unintended channel (e.g., power consumption) because of the fundamental way a computer protocol or algorithm is implemented, rather than flaws in the design of the protocol or algorithm itself. In this seminar group, you will learn principles of side-channel analysis and you will learn how to program various stages of a side-channel attack.


Příklady témat z minulých let: Perl, Zpracování obrazu, Aplikovaná kryptografie a bezpečné programování, Systémové programování Linux, Implementace interpretu v C++, Efektivní programování, Implementace jádra operačního systému, Analýza binárek a implementace disassembleru.

Další komentáře
Studijní materiály
Předmět je vyučován každý semestr.
Předmět je zařazen také v obdobích podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, jaro 2016, podzim 2016, jaro 2017, podzim 2017, jaro 2018, podzim 2018, jaro 2019, podzim 2019, jaro 2020, podzim 2020, jaro 2021, podzim 2021, jaro 2022, podzim 2022, jaro 2023, podzim 2023, podzim 2024, jaro 2025.