Introduction to computer science I 1000-111bWI1a
1. What is computer science - a brief history. The notion of a problem, data, result and algorithm. Computer anatomy. Operating system and its purposes. Computer resources. Graphical user interface. (1 lecture)
2. From problems to programs. Problems and algorithms. Verbal description of algorithms. Examples (e.g. sorting). Source code, compilation, executable code. (2 lectures)
3. Computer representation of numbers: floating-point arithmetic. The IEEE-754 standard. Simple numerical algorithms (e.g. summing, Horner scheme, matrix multiplication). Rounding errors. (2 lectures)
4. Introduction to programming: basic constructs of an imperative language (C recommended). Simple data types, declarations of variables. Assignment statement, conditional statement, compound statement. Iterations: for and while statements. Composite data types. Procedures and functions, parameters, local and global declarations, visibility scope. Files. Input/output procedures. Program correctness (partial and complete, method of invariants). (5 lectures)
5. Recursion: simple recursive algorithms. `Divide and conquer' method, dynamical programing greedy algorithms. (5 lectures)
Type of course
1. D. Harel, Algorithmics. The Spirit of Computing. Addison-Wesley Longman, Inc.
2. L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych. WNT, Warszawa 2002. Textbook for the selected programming language.
3. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C.: Introduction to Algorithms, The MIT Press, Cambridge Massachusetts, 1989.
Information on level of this course, year of study and semester when the course unit is delivered, types and amount of class hours - can be found in course structure diagrams of apropriate study programmes. This course is related to the following study programmes:
- Double Degree Program in Economics and Mathematics (first cycle)
- Bachelor's degree, first cycle programme, Mathematics
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: