Advanced topics in object-oriented programming 1000-2D03PO
Topics presented during this seminar:
- various kinds of object-oriented programming,
- object-oriented programming languages,
- modern IDE's for object-oriented programming (e.g. NetBeans, Visual Studio, ...),
- meaning of programs (studies on the semantics of selected constructs of object-oriented
programming languages and underlying virtual machines),
- problems of compiling object-oriented programming languages (effective implementation of nested classes, multi-inheritance, polymorphism, flexible type systems),
- impact of object-oriented tools on software engineering, effective use of object-oriented tools, design patterns, object -oriented design, UML,
- formal (axiomatic) description of object-oriented languages,
- others.
The expected master thesis may be
- implementational one (eg. compiler or an editor for specifying programs), or
- theoretical one (eg. formulation of a complete axiomatic specification of a certain data structure, like SymbolTable).
During our meetings we will also discuss new topics in literature.
Type of course
Course coordinators
Learning outcomes
Knowledge
1. Knows problems, techniques and tools related to the construction of compilers for object-oriented programming languages.
2. Has substantial knowledge regarding object-oriented analysis, design and programming.
Skills
1. Has substantial skill in preparing oral presentations, both in Polish and English, in the area of pure computer science or application of it (K_U11).
2. Can describe selected topics from computer science and their solutions in a way understandable for nonprofessionals. Is capable of preparing presentation or article with the use of software tools (K_U12).
3. Can prepare (also in English) a dissertation from selected area of computer science (K_U13).
4. Has language skills in the area of computer science at least at the B2+ language level of CEFR - Common European Framework of Reference for Languages (K_U14).
5. Can decide of the further path of learning and proceed with self-teaching (K_U15).
Competence
1. Knows limits of own knowledge and understand the need of further education, including knowledge from other ares of science (K_K01).
2. Can precisely formulate questions which lead to better understanding given subject (also when communicating with nonprofessionals) or find missing elements of reasoning (K_K02).
3. Can work in teams, also in interdisciplinary ones; understands the need of continuous work on long-term projects of every kind (K_K03).
4. Can formulate opinions on fundamental computer science issues (K_K06).
5. Understands the need of continuous reading of scientific and scientific for the general public journals as a tool for deepening and widening own knowledge (K_K08).
Assessment criteria
Presentations during seminars and sending their (possibly corrected according to a feadback received) electronic verrsions and conspects.
Satisfying formal requirements (1st year: approved topic of the M.Sc. thesis, 2nd year: submission of the M.Sc. thesis).
Bibliography
Modern scientific literature of the subject, including scientific journals and conference proceedings. More specific information is presented at the first meeting.
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: