Dr. Attila Házy
Our goal in this MeMOOC course is to study fundamental definitions and techniques of how to make algorithms, procedures or structured programs. We will introduce you to some basic knowledge of informatics and we hope it will be very interesting for you. This course consists of ten lessons. The first part of this course deals with the following topics: fundamental techniques for problem solving that are relevant to most areas of computer science, both theoretical and applied. Some examples are representing numbers, data structures (arrays, lists, stacks and so on). We cover algorithms for sorting (Bubble, Heap, Quick, Bin and Radix), algorithms for searching (Sequantial, binary, trees, red-black trees), and algorithms for graph problems (minimum spanning tree, Dijkstra, Floyd-Warshall and Bellman-Ford). Later, in the five further lessons we will investigate program graphs, structured programs (like structured box charts) and their cyclic complexity. This means we will need a few, but not a lot of definitions, notations and certainly theorems. We will use these theorems to characterize the properties of structured programs. In these five lessons we will give you a lot of examples. In these examples we drew a lot of flowcharts or structograms. These diagrams are very useful to understand the mechanism of making good programs. Of course we show how to make bad and wrong working programs, too. We know that everybody has to understand our pseudocode, but we hope that it will be easy to use for making your own programs. At the end of all of these lessons there are a few questions for checking your knowledge.
Maths and physics teacher, technical informatics (logistics).