University of Warsaw - Central Authentication System
Strona główna

Introduction to computer science I

General data

Course ID: 1000-111bWI1a
Erasmus code / ISCED: 11.1 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0541) Mathematics The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
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 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

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 2023/24" (past)

Time span: 2023-10-01 - 2024-01-28
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 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.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)