FoIT Autumn Courses

Basics of computer science

6 ECTS

CODE: DatZB045

COURSE DESCRIPTION

Within the framework of the course, the student learns the essence and basic principles of computer science, examines the implementation of abstract computing machines in a physical device. The student learns the basics of algorithm design and the implementation of simple algorithms in the Python programming language. 
The Python programming language is widely used in programming and at the same time the Python syntax is simple and quick to learn, allowing the focus to be on solving the problem rather than on the syntax problems of the language. Python has functions and language constructs that significantly reduce the number of lines of code, making it a suitable language for learning the basics of programming. 
At the end of the course, the student applies the skills and competences acquired to the implementation of the underlying algorithms.

CONTENT

1. Introduction to algorithm theory. History of the term algorithm
2. Definition of Algorithm 1. Leibniz problem. Definition of Algorithm 2. Definition of Algorithm 3
3. Structure and operation of a Turing machine. Definition of Algorithm 4
4. Post–Turing machine construction and operation
5. PM emulation with TM. TM emulation by PM
6. Abstract computing machines and real computers
7. Construction and operation of the Von Neumann architecture machine
8. The Von Neumann architecture machine cycle
9. Introduction to computer design and architecture
10. Field-effect MDP transistor. Dynamic memory element. Component transistor pair. Trigger. Static memory element. Switch. Decryptor. Integral memory circuit
11. An arithmetically-logical device. Processor
12. Markov algorithm. MA stopping conditions.MA examples
13. Theorem on the algorithmic intractability of the Normal MA self adaptivity recognition problem
14. Basic concept of data structure. Types of algorithms. Search and sort algorithms
15. Sorting files. Basic merge procedure. Direct file merging
16. Recursive algorithms. Linear lists. Trees(data structures)
17. Overview and trends of the most popular programming languages. Overview of Python, comparison with other programming languages
18. Python programming environments. Python versions. The main partsof a Python program
19. Python fundamentals
20. Branching. Logical expressions. Exception catching using try and except
21. Loops
22. Python strings - class str. String operations, functions and methods
23. Python lists - class list. List operations, functions and methods. List comprehensions
24. Functions. Python's built-in functions. Modules and functions (modules: random, time, etc.). Random number generation
25. Defining and using functions. Passing arguments to a function and returning values. Defining recursive functions
26. Other Python container classes (tuple, dictionary, set). Mutable and immutable objects. Main operations, functions and methods
27. Text files. Reading from a file. Writing in a file

Share by: