Programming
General data
Course ID: | 1100-1F23 |
Erasmus code / ISCED: |
11.3
|
Course title: | Programming |
Name in Polish: | Programowanie |
Organizational unit: | Faculty of Physics |
Course groups: |
(in Polish) Fizyka, ścieżka standardowa; przedmioty dla I roku (in Polish) Nauczanie fizyki; przedmioty dla I roku Physics (1st level); 1st year courses |
ECTS credit allocation (and other scores): |
3.00
|
Language: | Polish |
Main fields of studies for MISMaP: | physics |
Prerequisites (description): | The course is targeted at students having no or little experience in the C++ programming. It is recommended to complete the following courses: Information and Communication Technologies 11100-1F11 or 100-1Ind12 |
Mode: | Classroom |
Short description: |
The lecture is focused on algorithms and the principles of creating the source code of computer programs based on given algorithms, the syntax of the C++ language and its basic concepts, as well as the most basic data types and structures. The laboratory workshops are devoted to solving simple computational problems with the help of the students' own programs in C++. |
Full description: |
Main topics: 1. Introduction a) C++ vs Python and other programming languages b) Algorithms, source code as a representation of an algorithm c) Source code and program, compilation and execution of a program d) How to create environment to program in C++ e) Representing numbers and characters in the computer 2. The C++ language basics a) The simplest program, the structure of a program b) Standard input and output streams c) Variables, operators and expressions d) Conditional statement and loops e) Functions f) Selected elements of syntax from new versions of C++ language 3. Simple arrays and STL containers a) One dimensional arrays and their applications b) Pointers c) Arguments of the main function d) Dynamic memory allocation e) Main STL containers, applications of vector container 4. Classes a) Constructors, private and public methods b) Functions get and set, friends c) Overloaded operators d) Class string 5. Streams a) More about standard input and output strings b) Working with files c) istringstream,ostringstream Lecture only: - basics of C++ exceptions - inheritance, virtual functions, polymorphism - make/makefiles (optional) |
Bibliography: |
B. Stroustrup, The C++ Programming Language (Addison-Wesley, 2013). |
Learning outcomes: |
(in Polish) Studenci, którzy zaliczą przedmiot, powinni: na poziomie podstawowym: --------------------------------------------- znać składnię języka C++; umieć zapisać proste algorytmy; znać podstawowe instrukcje sterujące (pętle, instrukcje warunkowe), umieć tworzyć własne funkcje, korzystać z tablic i pojemnika vector, wczytywać dane z tekstowych plików i zapisywać wyniki działania programów do plików. Powinni także umieć korzystać z internetowej bazy danych zawierajacej informacje o standardowej bibliotece C++. Na poziomie zaawansowanym dodatkowo: ---------------------------------------------------------------------- studenci powinni między innymi znać podstawy programowania obiektowego i umieć tworzyć własne klasy; umieć korzystać ze wskaźników,, używać argumentów funkcji main i różnych pojemników STL. |
Assessment methods and assessment criteria: |
(in Polish) Zasady zaliczenia 2022/2023 i 2023/2024 Na obu poziomach zaawansowania zadania będą dostosowane do poziomu grupy (= do zakresu materiału), ale elementy zaliczenia będą takie same : 1) Sześć mini-"kartkówek" przy komputerach na pierwszych 5-10 min ćwiczeń 2) Kolokwium pisane na kartkach - koniec semestru 3) Na końcowych ćwiczeniach większy projekt pisany przy komputerach Warunkiem uzyskania zaliczenia jest uzyskanie co najmniej połowy punktów z kolokwium i kartkówek (sumarycznie) i co najmniej połowy punktów za projekt. Dodatkowe punkty można otrzymać za mini-testy, które odbywają się na ostatnich pięciu minutach każdego wykładu. Zasady zaliczenia 2020/2021: 1) Sprawdzian pisany na kartkach: dwa programy + pytania testowe z wykładu. 2) 5-minutowe "kartkówki" przy komputerze na początku każdych ćwiczeń. 3) Duży program do napisania w domu + rozmowa zaliczeniowa na temat tego programu i materiału wykładowego w czasie sesji. 4) Obecność na ćwiczeniach (można mieć co najwyżej dwie nieusprawiedliwione nieobecności). Na ćwiczeniach wymagana jest znajomość materiału wykładowego z wszystkich wykładów wygłoszonych przed terminem danych ćwiczeń. Możliwe jest zaliczenie eksternistyczne. Tylko na początku semestru. |
Classes in period "Summer semester 2023/24" (in progress)
Time span: | 2024-02-19 - 2024-06-16 |
Navigate to timetable
MO WYK
CW
CW
CW
TU CW
CW
W CW
CW
TH CW
CW
CW
FR |
Type of class: |
Classes, 30 hours, 70 places
Lecture, 15 hours, 70 places
|
|
Coordinators: | Katarzyna Grzelak | |
Group instructors: | Julia Derlikiewicz, Klaudia Dilcher, Adam Gonstal, Katarzyna Grzelak, Tomasz Mikołajków, Michał Suchorowski, Mateusz Zych | |
Students list: | (inaccessible to you) | |
Examination: |
Course -
Grading
Lecture - Grading |
Copyright by University of Warsaw.