Přístupnostní navigace
E-application
Search Search Close
Course detail
FIT-SCOAcad. year: 2024/2025
This course introduces the principles and practices of secure coding. Secure coding means writing programs in a secure manner to avoid vulnerabilities that can be exploited by attackers. It also means making appropriate and effective use of security features provided by libraries, such as authentication and encryption. A range of programming platforms will be considered, from low-level programming (e.g. Android OS), to web programming (e.g. JavaScript and Python), to large-scale high-level languages (e.g. Java). New and emerging language security mechanisms will be explored, including methods for static and dynamic analysis.
Why is the course taught
Today, it is a growing problem that, thanks to imperfections in application code, an attacker can gain access to valuable data stored on a computer, or gain control of the computer altogether. The goal of this course is to both show how such a situation can occur completely unintentionally and to demonstrate how code can be written to prevent such attacks.
Exam prerequisites
Earning at least one point from each project and earning at least 10 points during the semester. Any form of plagiarism or non-independent work will result in no credit being awarded. Credit is awarded by the instructor.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
Rules for evaluation and completion of the course
Scoring of the results of the developed projects. Interim control and evaluation of projects, final exam. In order to obtain points from the exam, the exam must be prepared in such a way that it is evaluated with more than 20 points. Otherwise, the exam will be scored 0 points.
Aims
The aim of the course is to introduce students to the basic principles of secure programming and to explain the general principles of vulnerabilities and defenses against them. To ensure that applications are correctly designed and implemented to meet security requirements, secure coding practices must be incorporated as a normal part of all phases of the software development process. A key step is to educate developers so that they know the essential basic principles of secure coding and can apply them, regardless of the environment in which they work.
Students will learn the general principles and practices of writing programs securely.
Study aids
Prerequisites and corequisites
Basic literature
Recommended reading
Elearning
Classification of course in study plans
specialization NGRI , 0 year of study, winter semester, electivespecialization NADE , 0 year of study, winter semester, electivespecialization NISD , 0 year of study, winter semester, electivespecialization NMAT , 0 year of study, winter semester, electivespecialization NSEC , 0 year of study, winter semester, electivespecialization NISY up to 2020/21 , 0 year of study, winter semester, electivespecialization NNET , 0 year of study, winter semester, electivespecialization NMAL , 0 year of study, winter semester, electivespecialization NCPS , 0 year of study, winter semester, electivespecialization NHPC , 0 year of study, winter semester, electivespecialization NVER , 0 year of study, winter semester, electivespecialization NIDE , 0 year of study, winter semester, electivespecialization NISY , 0 year of study, winter semester, electivespecialization NEMB , 0 year of study, winter semester, electivespecialization NSPE , 0 year of study, winter semester, electivespecialization NEMB , 0 year of study, winter semester, electivespecialization NBIO , 0 year of study, winter semester, electivespecialization NSEN , 0 year of study, winter semester, electivespecialization NVIZ , 0 year of study, winter semester, elective
Lecture
Teacher / Lecturer
Syllabus
Project
Individual projects solved independently by each student without any further collaboration.