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)
Course coordinators
Type of course
Bibliography
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.