Subject · Information security

Fundamentals of programming

İF-2204y6 creditsAutumn semesterMandatory1

About this subject

Credits

6

Workload

120hours

Semester

Autumn

Academic year

1

Description

The subject provides students with the formation of theoretical knowledge and practical skills on the basic concepts and principles of programming. data types, condition and cycle operators, arrays, pointers, functions, recursion and structures are studied within the subject. students are introduced to the concepts of class and object, as well as the basic principles of object-oriented programming. the application of data structures and algorithms, their runtime and memory usage analysis are among the main directions of the subject. skills in using programming environments, program compilation, error detection, code testing and version control are also developed. the subject focuses on the application of acquired knowledge in solving practical problems such as processing and analyzing structured data and automating certain tasks.

Course learning outcomes

  1. CLO 1: Able to write programs freely in any programming language, knows the concepts of condition, period, function, object, class in programming. understands data types and how they are located in memory. the compilation process figures out what bytecode is machine code.

  2. CLO 2: It knows data structures such as array, linkedlist, stack, queue, graph, tree, classical algorithms on those data structures, it is able to execute the listed data structures and algorithms in any programming language.

  3. CLO 3: It can analyze the running time of algorithms and the memory they use. it is able to make the right decisions about which algorithm to apply, taking into account the capabilities and limitations of the system.

  4. CLO 4: Is familiar with one of the environments used for professional writing of programs, is able to compile the program in that environment, "debug" process, manage versions of program codes (for example, with the "git" system).

  5. CLO 5: He knows the methods of testing software modules and is able to write test scenarios. must be aware of software readability and quality criteria.

  6. CLO 6: Using the learned knowledge, he should be able to create converters between different file formats, different parsers, programs for analyzing logs, extracting data using interfaces of different systems.