Life-Long Education programsLife-Long Education programs(version: 170)
 
   Login via CAS
Basic Programming Course (10936)
Basic information
Charles University
Basic Programming Course
admission procedure in progress
Presential
Czech
Basic Programming Course
Basic course of programming, algorithms and data-structures that are a must know of each programmer.

Integrated Course Documented by a Microcertificate
This integrated course consists of three subjects from the first year of the Bachelor's program in Informatics (B0613A140006). Students first concurrently complete the courses NPRG030 and NPRG062, both taught in the winter semester. These courses are followed by NPRG031, taught in the summer semester.

NPRG030 Programming 1, Winter Semester, 5 Credits, Co-requisite: NPRG062
NPRG062 Introduction to Algorithms , Winter Semester, 4 Credits, Co-requisite: NPRG030
NPRG031 Programming 2, Summer Semester, 5 Credits, Co-requisite: NPRG030
Subject of the courses Introduction to Algorithms and Programming 1 and 2 is awareness of particular basic algorithms, data structures and the ability of practical programming in Python and C# programming languages, including of the ability to implement the algorithms discussed in the course of Introduction to Algorithms. The study consists of lectures where theoretical topics, as well as practical demonstrations are presented. As well, both courses are conducted by practical (tutorials), where the students are expected to be able to individually design and implement algorithms solving particular assigned problems. One of the obligations required for credit in Programming 2 is a semester project that consists of at least 1 000 lines long debugged program, including a written documentation.
Students admitted to the course will be those accepted for study at the Faculty of Mathematics and Physics, Charles University, or at a collaborating university, in accordance with the admission requirements for the Informatics program at the Faculty of Mathematics and Physics, Charles University.
The student is able to explain basic algorithms, data structures, and programming techniques.
The student is able to discuss the suitability and efficiency of these algorithms and techniques with respect to the data arrangement and size of the input data.
The student is able to use the acquired theoretical knowledge to solve an assigned task.
This includes:
• Designing an efficient algorithm with respect to the assigned task and properties of the input data.
• Choosing suitable data structures for storing and manipulating data.
• Writing a program in a specific programming language.
• Composing appropriate tests, debugging, and modifying the program according to the test results.

The student is able to document their work. They are able to justify their decisions regarding the algorithm, data structures, and implementation with respect to the size and arrangement of the input data.
The student is able to use the acquired knowledge and skills in different contexts of different programming languages.
This means that the student is able to:
• Understand the principles of algorithms and data structures regardless of the programming language chosen.
• Apply their knowledge and skills to solve problems in various programming languages.
• Quickly learn a new programming language using existing knowledge.

In addition to the above knowledge and skills, the student also demonstrates knowledge and understanding of the principles of object-oriented programming.
• The student knows the basic concepts of OOP, such as classes, objects, inheritance, encapsulation, and polymorphism.
• They are able to define and use classes and objects in program code.
• They understand the principle of inheritance and are able to apply it in practice.
• They are able to implement data encapsulation in objects.
• They are able to use polymorphism to simplify and streamline code.
• They are able to justify the use of OOP depending on the type and complexity of the program.
• They are able to design and implement object-oriented programs with an emphasis on their modularity.

Guarantor Phone number E-mail
RNDr. Martin Pergel, Ph.D. 951554194 martin.pergel@mff.cuni.cz
Accreditation
11000 - Univerzita Karlova
251/24
29.5.2024
29.5.2034
Further detailed information
14
143 (total number of hours)
143 hodin přímé výuky, 353 hodin studijní zátěže celkem
2
Software and applications development and analysis (0613)
Written examination
Project work
Continuous evaluation
Oral examination
Level Knowledge Responsibility and autonomy Qualifications
Level 4 Factual and theoretical knowledge in broad contexts within a field of work or study A range of cognitive and practical skills required to generate solutions to specific problems in a field of work or study Exercise self-management within the guidelines of work or study contexts that are usually predictable, but are subject to change; supervise the routine work of others, taking some responsibility for the evaluation and improvement of work or study activities
30.9.2024
26.9.2025
Institutional Quality Assurance
Ensured by CU’s IEB as a part of the internal quality assurance process
Ensured by CU’s IEB as a part of the internal quality assurance process
Date and venue of the course
30.09.2024
26.9.2025
2024/2025
winter semester
Malostranské náměstí 25, 118 00 Praha
Information for applicants
0 Kč / course
Mgr. Lenka Forstová, tel: 951554110
forstova@ksvi.mff.cuni.cz
Enrolment information
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html