Programming I 390-FS1-1PRO1
Study profile: general academic
Form of studies: full-time
Module: computer science tools
Level of education: first-cycle studies
Year of study / semester: 1st year / 1st semester
ECTS credits: 4
Prerequisites: ability to use a computer and basic applications in Windows and/or Linux environments, knowledge of mathematics at secondary school level
Student workload balance:
- participation in lectures (15 hours),
- participation in laboratory classes (45 hours),
- participation in consultations (15 hours),
- independent work at home (25 hours).
Quantitative indicators:
- student workload related to classes requiring direct teacher involvement – 3 ECTS;
- student workload related to independent work – 1 ECTS.
Rules for the use of artificial intelligence (AI):
During classes, the use of AI systems is permitted within the following scope:
1. Machine translation of source texts from foreign languages.
2. Searching for and organizing scientific sources.
3. Creating simulations and models of physical phenomena discussed in the lectures.
In the event of violations of the above rules, the student may be held accountable under separate disciplinary regulations.
Course program (lecture):
- Introduction to the course.
Basic programming concepts.
Software and tools.
Working in the Linux terminal and the Windows command line.
First program in C++.
Basic data types.
Thestdnamespace.
Input from keyboard and output to screen (input/output streams).
Basic arithmetic, relational, and logical operations.
Conditional statementif...else. - Control loops (
for,while,do...while).
Keywordscontinueandbreak.
Multi-branch selection statementswitch...case.
Generation of integer and floating-point pseudorandom numbers.
Measuring program execution time. - One-dimensional arrays.
Reading from and writing to text files.
Composite data types I: strings (string). - Functions: definition and structure, examples of use.
Passing arrays to functions.
Default parameter values.
Function overloading.
Data type suffixes.
Scope and variable shadowing.
Recursion. - Pointers.
Stack and heap concepts.
Dynamic memory allocation and deallocation.
Dynamically allocated arrays.
Pointer arithmetic (increment and decrement).
Dynamic allocation of multidimensional arrays. - Composite data types II: structures (
struct). - Basics of data visualization using one of the libraries: Dislin, PLplot, or MathGL.
Course program (laboratory):
- Computer programs implementing topics and algorithms presented in the lecture will be written and analyzed.
|
Term 2024:
Educational profile: general academic Programme of classes (lecture and laboratory): |
Type of course
Prerequisites (description)
Course coordinators
Term 2024: | Term 2025: |
Requirements
Prerequisites
Mode
Term 2024: Blended learning (in Polish) w sali (in Polish) zdalnie | Term 2025: Blended learning (in Polish) w sali (in Polish) zdalnie | General: (in Polish) w sali |
Learning outcomes
Knowledge, the graduate knows and understands:
KP6_WG7 at an advanced level, the principles of occupational health and safety enabling safe participation in didactic activities in physics laboratories and workshops.
Skills, the graduate is able to:
KP6_UW6 learn independently by finding necessary information in professional literature, databases, and other sources, and by critically evaluating information originating from unverified sources;
KP6_U01 organize their own work as well as the work of a team;
KP6_UU1 engage in lifelong learning and inspire and organize the learning process of other people.
Social competences, the graduate is ready to:
KP6_KK1 critically evaluate their own knowledge and received content;
KP6_KK2 recognize the importance of knowledge in solving cognitive and practical problems;
KP6_KK3 cooperate with experts in cases of difficulty in solving problems independently;
KP6_KO1 fulfill social obligations and counteract disinformation within the scope of acquired knowledge.
Assessment criteria
Laboratory assessment: a written test assessing practical programming skills or a computer-based practical test
Lecture assessment: oral examination
During assessments, the use of electronic communication devices and artificial intelligence (AI) tools is prohibited.
Depending on the applicable regulations, the possibility of conducting the final assessment or final examination using electronic communication tools is reserved.
Students are awarded grades according to the following scale:
<0;50)% – 2.0
<51;60)% – 3.0
<61;70)% – 3.5
<71;80)% – 4.0
<8190)% – 4.5
<91;100>% – 5.0
Bibliography
[1] Programming: Principles and Practice Using C++, B. Stroustrup, Addison-Wesley
[2] The C++ Programming Language, B. Stroustrup, Addison-Wesley
[3] C++ Primer, S. B. Lippman, J. Lajoie, B. E. Moo, Addison-Wesley
[4] Accelerated C++: Practical Programming by Example, A. Koenig, B. E. Moo, Addison-Wesley
[5] Internet resources
|
Term 2024:
[1] W. Porębski, Język C++ : wprowadzenie do programowania, wyd. 2, Komputerowa Oficyna Wydawnicza "Help", Warszawa 1999. |
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: