Faculty of Information Technology, BUT

Course details

Practical Aspects of Software Design

IVS Acad. year 2018/2019 Summer semester 5 credits

Fundamentals of unix philosophy and their use in programming, the role of code testing and the test-driven development, component-oriented code, performance issues, profiling, distributed version management, parallel computing, big data, practical experience of software teams.

Guarantor

Deputy Guarantor

Language of instruction

Czech

Completion

Classified Credit (written)

Time span

26 hrs lectures, 26 hrs projects

Assessment points

30 half-term test, 70 projects

Department

Lecturer

Dytrych Jaroslav, Ing., Ph.D. (DCGM FIT BUT)
Grochol David, Ing. (DCSY FIT BUT)
Smrž Pavel, doc. RNDr., Ph.D. (DCGM FIT BUT)
Vaverka Filip, Ing. (DCSY FIT BUT)
Wiglasz Michal, Ing. (DCSY FIT BUT)

Instructor

Bartl Vojtěch, Ing. (DCGM FIT BUT)
Doležal Jan, Ing. (DCGM FIT BUT)
Dytrych Jaroslav, Ing., Ph.D. (DCGM FIT BUT)
Fajčík Martin, Ing. (DCGM FIT BUT)
Kadlubiak Kristián, Ing. (DCSY FIT BUT)
Kukliš Filip, Ing. (DCSY FIT BUT)
Vaverka Filip, Ing. (DCSY FIT BUT)
Veigend Petr, Ing. (DITS FIT BUT)
Wiglasz Michal, Ing. (DCSY FIT BUT)

Course Web Pages

Subject specific learning outcomes and competences

Students will get acquainted with modern approaches to software development, having successfully completed the course, students will be able to take part in teams developing shared code, will know the tools helping the development of efficient and well-documented code as well as applications better reflecting the users needs.

Generic learning outcomes and competences

Students will learn to work on projects. They will also improve their knowledge on modern development and documenting tools.

Learning objectives

To understand the process of software development in teams and to get acquaint with real applications that help creating and documenting component-based projects, to learn how to easily prototype graphical user interfaces, what are preconditions of successful free software and usability measurement.

Why is the course taught

The course IVS was established as a preparatory course for student collaboration on research at the FIT. It provides students with insight into the entire process of SW development from planning, design, implementation and testing to final product deployment in the customers company. The graduate will know what each stage of SW development involves and what tools are used in it, which will allows him / her to be better oriented when choosing his / her specialization and other elective courses. An essential part of the course is the preparation of students for teamwork on SW development and familiarization with version control systems, as these are basic knowledge and skills for developing any larger SW.

Prerequisites

Study literature

  • Ken Schwaber and Mike Beedle Agile Software Development with Scrum Addision-Wesley, 2002
  • S. A. Babkin The Practice of Parallel Programming Create Space, 2010. https://www.createspace.com/3438465
  • BATH, Graham a Judy MCKAY. The software test engineer's handbook. Santa Barbara: Rocky Nook, 2008, xviii, 397 s. ISBN 978-1-933952-24-6.
  • STEPHENS, Matt a Doug, ROSENBERG. Design Driven Testing. 2010. ISBN 978-1-4302-2944-5.

Fundamental literature

Syllabus of lectures

  1. Introduction, practical rules for writing of sustainable code and effective usage of IDE
  2. Software testing, TDD (Test-Driven Development) and its usage in team development
  3. Team work, communication, team data sharing, basics of project design and planning
  4. Distributed version contol, GIT
  5. Documentation types, system documentation generated from the code, Component-based development and cross-platform libraries
  6. Code assembling, Make, Cmake a Qmake.
  7. User interfaces
  8. Issue tracking, debugging, bugtracking and QA
  9. Mid-term test
  10. Program deployment
  11. Algorithm optimization, paralelization and profiling
  12. Programming languages and paradigms, SWIG and integration of legacy code
  13. Invited experts from companies

Syllabus - others, projects and individual work of students

  1. Test definition (18 points)
  2. Project focused to team development (52 points)

Progress assessment

  • Mid-term test (30 points)
  • Projects (70 points in total)

Exam prerequisites

At least 50 points.

Schedule

DayTypeWeeksRoomStartEndLect.grpGroupsInfo
Monother2019-05-06 E112 12:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Moncomp.lab2019-04-29 N205 13:0018:50instalace u zákazníka
Tuelecturelectures D105 08:0009:50 1BIA 1BIB 2BIA 2BIB 3BIT xx
Tueother2019-05-07 E112 12:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Tuecomp.lab2019-04-30 N204 N205 18:0019:50instalace u zákazníka
Wedexam2019-04-10 A112 09:0011:50 1BIA Půlsemestrální zkouška
Wedexam2019-04-10 L314 10:0014:50 1BIA Půlsemestrální zkouška
Wedexam2019-04-10 D0206 D105 E105 12:0013:50 1BIA 1BIB 2BIA 2BIB 3BIT Půlsemestrální zkouška
Wedexam2019-04-10 L304 13:0014:50 1BIA Půlsemestrální zkouška
Thuother2019-05-09 D0207 15:0017:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Thuother2019-05-09 E112 17:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Thucomp.lab2019-05-02 N203 N204 17:0019:50instalace u zákazníka
Fricomp.lab2019-05-03 N105 09:0011:50instalace u zákazníka
Friother2019-05-10 E112 11:0018:50 1BIA 1BIB 2BIA 2BIB 3BIT Obhajoby projektů
Fricomp.lab2019-05-03 N105 13:0014:50instalace u zákazníka

Course inclusion in study plans

  • Programme BIT, 1st year of study, Elective
  • Programme IT-BC-3, field BIT, 1st year of study, Elective
Back to top