Aim of the course
The course aims: to introduce basic concepts related to information technology, learning procedural programming language, representation of the construct and architecture of computer, and basic information about operating systems, programming languages.
Computer science and its scope. Concepts: information, algorithm, programming language, syntax, and its semantics. Procedural language and its mechanisms: structural contsructs. Simple and structural data types in programming languages. Procedures and functions. Top-down and bottom-up approaches in programming.Recursions in programming. Problems solved with recursion. Pointer type and examples of its usage, memory allocation. Fixed- and floating point numbers in computer: representations, operations. Von Neuman model. The architecture of a simple computer. Programming paradigms. Operating System. Models of computation. Basic concepts of computational complexity. Examples of algorithms.
Overview of the course elements
The primary objective of classes is to allow students to gain the ability to create algorithms and write them in a procedural programming language. The exercises are also consolidating the knowledge taught at lectures and to develop programming skills. Mastering the material is checked with tests.
1. D. Harel, F.Yishai „Rzecz o istocie informatyki - algorytmika” , WNT, 2008
2. N. Wirth „Algorytmy + struktury danych = programy”, WNT, 2004
3. J.G. Brookshear „Informatyka w ogólnym zarysie”, WNT, 2003
4. J. Bentley „Perełki oprogramowania” , WNT, 2001
5. E.W. Dijkstra „Umiejętność programowania”, WNT, 1978