SylabUZ
Nazwa przedmiotu | Object oriented programming |
Kod przedmiotu | 13.2-WF-FizP-OP-S17 |
Wydział | Wydział Nauk Ścisłych i Przyrodniczych |
Kierunek | WFiA - oferta ERASMUS |
Profil | - |
Rodzaj studiów | Program Erasmus |
Semestr rozpoczęcia | semestr zimowy 2023/2024 |
Semestr | 1 |
Liczba punktów ECTS do zdobycia | 6 |
Typ przedmiotu | obowiązkowy |
Język nauczania | angielski |
Sylabus opracował |
|
Forma zajęć | Liczba godzin w semestrze (stacjonarne) | Liczba godzin w tygodniu (stacjonarne) | Liczba godzin w semestrze (niestacjonarne) | Liczba godzin w tygodniu (niestacjonarne) | Forma zaliczenia |
Wykład | 15 | 1 | - | - | Egzamin |
Laboratorium | 45 | 3 | - | - | Zaliczenie na ocenę |
The aim of this course is to introduce the Object Oriented Programming techniques required to develop and create modern applications related to the „every day” and science problems. This is an active course where students solve realistic problems from beginning. Students learn how to analyse problem in the object oriented way and how to implement code according to the standards.
The efficient use of the Linux system (both in the terminal and in the graphical environment), knowledge of the basics of programming including procedural programming.
1. Introduction
- object and procedural programming
- class, object and methods
- constructor and destructor
- encapsulation
- special methods
2. Inheritance, polymorphism
- inheritance
- polymorphism
- abstraction
3. Organization of the code
- code naming and formatting standards
- modules and packages
- namespaces
- code documentation
- version control systems
4. Object-oriented modeling and programming
- problem analysis and construction of its model
- software development process
- UML diagrams
5. Design patterns
- the concept of design patterns
- creative patterns
- structural patterns
- functional patterns
6. Frameworks
- the concept of framework and application
- a selected example of a framework
Lecture:
Convencional lecture, work with problems, discusiion, workshop
Laboratory:
Laboratory exercise, project, work in group, presentation, work with documentation, independed work, brain storm
Opis efektu | Symbole efektów | Metody weryfikacji | Forma zajęć |
Lecture:
A practical exam consisting in solving a given problem (chosen from the list of problems). Final evaluation is subject to problem analysis, presentation of problem solving algorithms, source code as well as evaluation and verification of obtained results
Laboratory:
The final grade consists of: average marks obtained during laboratories with activity and short tests to check learning progress (50% of final grade), semester project assessment (50% of final grade). The condition for passing the semester project is its implementation, preparation and delivery of the project report and its presentation within the prescribed period. Before taking the exam the student must get a pass from the exercises.
Final grade: weighted average of exam grades (60%) and exercises (40%).
1. "Zaawansowany Python. Jasne, zwięzłe i efektywne programowanie", R.Luciano, APN Promise
2. "Learning Python. Powerful Object-Oriented Programming. 5th Edition", M.Lutz, Helion
3. "Python 3 Object-Oriented Programming" D.Philips, Helion
4. "Clean Code in Python" M.Anaya, Helio
5. Steve Holzner, Design patterns for dummies, Willey Publishing Ing. Indianapolis 2006.
[1] Internet
The lecture should take place in a room with Internet access. Computer laboratories should take place in groups enabling independent work at the computer of every student and not more than 12 people.
Zmodyfikowane przez dr Marcin Kośmider (ostatnia modyfikacja: 06-02-2023 22:48)