PB173 Domain specific development

Faculty of Informatics
Spring 2024
Extent and Intensity
0/2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: k (colloquium).
Taught in person.
Teacher(s)
doc. RNDr. Petr Švenda, Ph.D. (assistant)
Bc. Kristína Hanicová (lecturer)
Lukasz Michal Chmielewski, PhD (lecturer)
Ing. Michal Prívozník (lecturer)
RNDr. Martin Ukrop, Ph.D. (lecturer)
Jan Fiala (seminar tutor)
Mgr. Gabriela Fialová (seminar tutor)
Ing. Šárka Jana Janderková (seminar tutor)
Mgr. Milan Šorf (seminar tutor)
Guaranteed by
doc. RNDr. Petr Švenda, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable of Seminar Groups
PB173/SideChannels: Wed 8:00–9:50 A218, L. Chmielewski, M. Šorf
PB173/TechWriting: Tue 10:00–11:50 S505, J. Fiala, G. Fialová, Š. Janderková
PB173/Virtualizace: Wed 10:00–11:50 S505, K. Hanicová, M. Prívozník
Prerequisites
PB071 Principles of low-level prog. || SOUHLAS
We expect you to have knowledge of appropriate programming language and operating system based on your desired seminar group. A mandatory prerequisite is passing the PB071 course or exemption given by the lecturer.
• PB173/TechWriting (Technical writing): the class will be delivered in English, no other prerequisites
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
The capacity limit for the course is 70 student(s).
Current registration and enrolment status: enrolled: 38/70, only registered: 0/70, only registered with preference (fields directly associated with the programme): 0/70
fields of study / plans the course is directly associated with
there are 75 fields of study the course is directly associated with, display
Course objectives
Enhance your programming capabilities in the language appropriate for the particular selected application domain.
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.
Learning outcomes
The general goal of this course is extension of knowledge of a programming language in a particular area of expertise based on the particular seminar group. Each seminar group will define its own specific learning goals.
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.
Syllabus
  • The concrete content of the course depends on the individual thematic groups which are listed in Teacher's information area.
  • 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)
Literature
  • Literatura dle tématické skupiny.
Teaching methods
In lectures, the students create programs in given area, usually one per week, finishing it as individual work. Lectures contains necessary theoretical introduction. Remaining time is devoted to solve practical programming problems with employment of related development tools.
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
Assessment methods
During the whole semester, student will undertake several programming homework and/or a project. The amount of homework and final evaluation criteria are specified by each tematic group.
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
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught each semester.
Teacher's information

The groups/topics for a given semester will be announced via email before the start of seminar group enrollment and they will be filled to this page.

Currently, we know of the following topics for spring 2024:

  • 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. Virtualization (Red Hat, Czech) – the main goal is to demonstrate basics of virtualization technology, practical preparation of virtualization environment and its effective usage. The teaching is spread over the whole semester (2 hours/week).
  • 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.

Example topics: Binary exploitation, Perl, Image processing, Applied cryptography and secure programming, Systems programming in Linux, Implementing an interpreter in C++, Efficient programming, Implementing a small OS kernel, Binary analysis and disassembly.

The course is also listed under the following terms Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Spring 2016, Autumn 2016, Spring 2017, Autumn 2017, Spring 2018, Autumn 2018, Spring 2019, Autumn 2019, Spring 2020, Autumn 2020, Spring 2021, Autumn 2021, Spring 2022, Autumn 2022, Spring 2023, Autumn 2023, Autumn 2024, Spring 2025.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2024/PB173