Study of the basics and principles of single- and multithreaded programming, creation of static and dynamic libraries, implementation of libraries operating in single-threaded and multithreaded mode
The system of equations is solved by means of pairwise algebraic addition of equations. Such coefficients are selected that, with an algebraic sum, one of the coefficients of the resulting equation turns to zero. The quadratic coefficient, linear coefficient and free term are calculated sequentially.
HW-1 is devoted to acquiring the skills of safe working with memory in C using basic data structures and establishing a basic infrastructure for automatic code verification. As a result of HW-1 is expected:
-
competent splitting of the project into files
-
using a safe programming style - checking for possible errors, correctly terminating the program if they occur and working with memory correctly
-
maximum code coverage by unit tests
-
working CI, which includes automatic project assembly, static and dynamic code analysis, passing linters and formatters, running unit tests under valgrind and sanitizers, and receiving a report on code coverage with tests
-
all automatic checks must take place on the final version, which is undergoing a review
-
The program must be implemented in C and work for arbitrary sets of input data (including erroneous ones) entered by the user from the keyboard
-
A competent decomposition into functions and files must be performed
– develop a set of unit tests that check the correct operation of implemented functions. Ensure maximum coverage of the source code with tests
– issue a task in the form of a Merge Request of a separate branch into the main branch of the project
– deploy CI, within which to automate the assembly of the project, passing unit tests under valgrind, generating a report on code coverage with tests, linter and static source code analyzer;
– after passing all the checks, you need to send the code for the review to your teacher
– the review is an iterative process. Before the deadline, you can go through several iterations, improving your score. No decisions are made after the deadline