University of Warsaw - Central Authentication SystemYou are not logged in | log in
course directory - help

Introduction to computer science I

General data

Course ID: 1000-111bWI1a Erasmus code / ISCED: 11.1 / (0541) Mathematics
Course title: Introduction to computer science I Name in Polish: Wstęp do informatyki (potok I)
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: Obligatory courses for 1st grade JSEM
Obligatory courses for 1st grade Mathematics
ECTS credit allocation (and other scores): 5.50
view allocation of credits
Language: Polish
Type of course:

obligatory courses

Short description:

The purpose of the course is to introduce students to the principles of solving problems with computers and to teach them practical programming.

Full description:

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)

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.

Learning outcomes: (in Polish)

Zna materiał wyłożony w trakcie wykładu i utrwalony na ćwiczeniach oraz laboratorium. Potrafi wykorzystać zdobytą wiedzę do rozwiązywania zadań.

W szczególności:

  • Zna podstawowe pojęcia informatyczne: zadania, danych, wyniku i algorytmu.
  • Rozpoznaje problemy, które można rozwiązać algorytmicznie i potrafi podać ich specyfikację.
  • Potrafi opracować i podać zrozumiały opis słowny algorytmu lub w pseudokodzie, a także zaimplementować go w omawianym na wykładzie języku programowania imperatywnego.
  • Rozróżnia kod źródłowy, kompilację i program wykonywalny.
  • Umie napisać, uruchomić, testować i poprawić program komputerowy w omawianym na wykładzie języku programowania imperatywnego, wykorzystując w programie m.in. konstrukcje iteracyjne i warunkowe, instrukcje wejścia-wyjścia, operacje i funkcje logiczne i matematyczne, wskaźniki oraz dynamiczną alokację pamięci.
  • Zna podstawowe techniki programowania.
  • Zna podstawowe pojęcia i fakty dotyczące arytmetyki zmiennopozycyjnej, a także jej główne ograniczenia.
  • Potrafi opracować i zaimplementować algorytmy dla prostych zadań, w tym obliczeniowych (np. sumowania, obliczania wartości wielomianu, mnożenia macierzy) oraz opartych na zależnościach funkcyjnych.
  • Zna i potrafi wykorzystać w praktyce rekurencję oraz zasadę "dziel i rządź".
  • Zna klasyczne algorytmy, m.in. Euklidesa, sortowania, wyszukiwania binarnego.
  • Rozumie i docenia znaczenie poznanych technologii oraz niebezpieczeństwa związane z ich niewłaściwym wykorzystaniem.
Assessment methods and assessment criteria: (in Polish)

Zaliczenie przedmiotu odbywa się na podstawie zdobytych punktów.

5 punktów - zadania pisemne

10 punktów - program semestralny

40 punktów - kolokwium (4 zadania pisemne po 10 punktów)

80 punktów - egzamin (4 zadania pisemne po 20 punktów)

Zasady zaliczenia programu semestralnego zostaną podane na ćwiczeniach.

By zostać dopuszczonym do egzaminu trzeba zgromadzić łącznie z zadań pisemnych, programu, i kolokwium co najmniej 18 punktów. By uzyskać pozytywną ocenę z przedmiotu, należy uzyskać w sumie co najmniej 52 punkty.

Punkty z zadań, programu i kolokwium liczą się w obu terminach egzaminu.

Classes in period "Winter semester 2021/22" (past)

Time span: 2021-10-01 - 2022-02-20
Choosen plan division:


magnify
see course schedule
Type of class: Class, 30 hours more information
Lecture, 30 hours more information
Coordinators: Marek Zawadowski
Group instructors: Bartosz Bieganowski, Łukasz Bożyk, Łukasz Kozłowski, Ewa Madalińska-Bugaj, Przemysław Rutka, Mateusz Rychlicki, Marek Zawadowski
Students list: (inaccessible to you)
Examination: Examination

Classes in period "Winter semester 2022/23" (future)

Time span: 2022-10-01 - 2023-01-29
Choosen plan division:


magnify
see course schedule
Type of class: Class, 30 hours more information
Lecture, 30 hours more information
Coordinators: Marek Zawadowski
Group instructors: Łukasz Kozłowski, Ewa Madalińska-Bugaj, Marcin Szczuka, Marek Zawadowski
Students list: (inaccessible to you)
Examination: Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.