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

Programming

General data

Course ID: 1100-1F23
Erasmus code / ISCED: 11.3 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. / (unknown)
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 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.
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
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours, 70 places more information
Lecture, 15 hours, 70 places more information
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
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)