Thursday, January 23, 2020

** Introduction to Computer Science** is both lecture and conversation class.

- Basic algorithmic problems are discussed and solved in class.
- Attendance at classes is obligatory. You can have
**one**absence during class.

TBA

- The main thematic scope of the classes are algorithms, computational issues and computer systems.
- The attendance is obligatory. There is a possibility to miss at most
**one**class.

- presentation of an algorithmic problem - 20%
- short and easy test - 60%
- miniproject - 20%

**Presentation of the problem**- short and enjoyable introduction to the problem presenting what is an*input*of the algorithm, and what is the desirable*outcome*: description of data structures used (natural numbers, real numbers, vectors, martrix, grpahs, etc.)**Block diagram**- presentation of the algorithm as a block diagram build form following brics: procedures, data, operations and decision nodes.**Algorithm as a pseudocode**- the algorithm should be presented in a text form, that describes the flow of the algorithm by the use of such constructs as: variable assignements, mathematic opeartions, logic instructions, control instruction (conditions, loops).**Example**- the very concrite presentation of how the algorithms works for a given*input*, i.e. what is the*outcome*of the algorithm for a given*input*

**Disclaimer!** Student should be able to understand presented algorithm and conduct the example for the input paramiters provided by the teacher.

- Calculation of the largest common divisor (LCD) and least common multiple (LCM).
- Calculating the sum of digits of an integer.
- Solving quadratic equation.
- Designation of the elements occurring in the most and the least frequently.
- Search for the largest (maximum) and smallest (minimum) element in a series of numbers.
- Calculation of the arithmetic mean and standard deviation for a given series of numbers.
- Calculation of the _n_th word of the Fibonacci sequence (iterative and recursive approach).
- Checking if the given string is a palindrome.
- Number conversion between the decimal system and the positional system based on
*m*and vice versa. - Calculating the number of string elements larger than the average string elements.
- Finding prime numbers between
*n*and*m*. - Print all zero-one strings of length
*n*. - Sorting a given string of numbers using a bubble sorting algorithm.
- Sorting a given string of numbers using a sorting algorithm by inserting.
- Sorting a given string of numbers using a sorting algorithm by selection.
- Binary search in sorted ascending order.
- Listing all permutations of the set
*{1, 2, 3, ..., n}*. - Listing all pairs of numbers
*(a, b)*from the set*{1, 2, 3, ..., n}*such that*a <b*.

The scope of the test will not go beyond the algorithms problems presented at the classes

- The topic of the project should be in the scope of the studies field.
- The preparation of the project should be similar to that for the class presentation, ie. it should include _inputs- and
*outcomes*, block diagram, pseudocode notation and an example. - The form is as follows:
- oen A4 page
- multimedia presentation.

- the oral presentation during the class should take approximately 5 minutes

- All projects should be collected by one designated
**group representative**. - All project in PDF form from the
**whole group**are send by the representative to the teacher befor the date agreed at the class. - Submittion of the project in any other date is
**not possible**. - Multimedia presentations are collected by the representative and compiled into one uniform presentation.
- Representative is responsible for technical preparations of the actual presentation.

Components: *Presentation*, *Miniprojekt*, *Colloquium*, are standardized elements of the assessment, according to the assumed 20%, 20%, 60% respectively.

The rooms can be checked in the calendar.