Thursday, February 27, 2020

Introduction to Computer Science is both lecture and conversation class.

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

TBA

## Conversation classess

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

### The grade is computed as follows:

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

### Presentation of an algorithmic problem - app. 15-20 min.(S), app. 8-10 min.(NS)

1. 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.)
2. Block diagram - presentation of the algorithm as a block diagram build form following brics: procedures, data, operations and decision nodes.
3. 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).
4. 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.

#### Presentation topics (2 person per topic)

• Calculation of the largest common divisor (LCD) and least common multiple (LCM).
• Calculating the sum of digits of an integer.
• 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.

### Test

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

### Miniproject

1. The topic of the project should be in the scope of the studies field.
2. 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.
3. The form is as follows:
• oen A4 page
• multimedia presentation.
4. the oral presentation during the class should take approximately 5 minutes

### How to submit your project?

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