NIE-SI
Software Engineering
topics are valid since SFE in June 2024
Label | Topic | Course |
---|---|---|
NIE-SI-1 | Basic principles of object-oriented design (DRY, KISS, YAGNI, SRP, OCP, LSP, ISP, DIP). | NIE-ADP |
NIE-SI-2 | Creational design patterns (Factories, Builder, Prototype, Singleton). | NIE-ADP |
NIE-SI-3 | Structural design patterns (Adapter, Bridge, Composite, Decorator, Facade, Proxy). | NIE-ADP |
NIE-SI-4 | Behavioral design patterns (Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template method, Visitor). | NIE-ADP |
NIE-SI-5 | Architectural patterns (Layered, Broker, MVC, Pipe and Filter, Client-Server, Peer-to-Peer, Publish-subscribe, Map-reduce, Autonomic, Heterogeneous) | NIE-ADP |
NIE-SI-6 | Specification of program correctness, writing specifications in predicate logic, axiomatic modeling of data structures | NIE-FME |
NIE-SI-7 | Correctness proofs of programs: assertions, verification conditions, loop invariants, termination proofs | NIE-FME |
NIE-SI-8 | Automation of proofs of program correctness: principles, possibilities, limitations | NIE-FME |
NIE-SI-9 | System architecture, service and its characteristics. REST (characteristics, resource, comparision with SOAP). HTTP protocol optimization (latency, keep-alive, pipelining) | NIE-AM1 |
NIE-SI-10 | Integration design patterns, synchronous and asynchronous communication, blocking and non-blocking I/O. | NIE-AM1 |
NIE-SI-11 | Theoretical foundations of evolvable software systems: principles and laws, system stability, normalized systems, combinatorial effect, the topic of modularity. History of evolvable software system approaches. | NIE-NSS |
NIE-SI-12 | Ensuring software evolvability using NSS: principles, design patterns, architecture, code generation. Other application domains of NSS other than software systems domain. | NIE-NSS |
NIE-SI-13 | Human sensory systems: sensory buffers, short-term memory, long-term memory, memory capacities, human eye description,yellow spot, what is a complementary color | NIE-NUR |
NIE-SI-14 | UI design process: UI Design steps, WireFrames term, goal oriented design, HI-FI prototype, LO-FI prototype | NIE-NUR |
NIE-SI-15 | Usability, usability testing: explain the term “Usability”,“Usability testing”, what is “Qualitative Usability Testing”, Heuristic evaluation description, Cognitive walkthrough description, UI Lab description, | NIE-NUR |
NIE-SI-16 | Evaluation and optimization of SQL: execution plans, cost-based optimization, database objects statistics, access methods and their cost, join evaluation methods and their cost. | NIE-PDB |
NIE-SI-17 | Database models: relational, object-relational, document, XML, column, key-value, graph; their specifics, suitable application domains. Query languages: SQL, XQuery, CYPHER; their typical constructions and limitations. | NIE-PDB |
NIE-SI-18 | CAP theorem and NoSQL databases. Classification of NoSQL databases from point of view of CAP, examples of particular databases and their architecture; horizontal vs. vertical scaling, replication, sharding. Concepts BASE vs. ACID. | NIE-PDB |
NIE-SI-19 | OLTP vs. OLAP databases. Complex benchmarks (TPC-C, TPC-E, TPC-H): principle, metrics. | NIE-PDB |
NIE-SI-20 | Architectures of information systems - distributed systems in client-server architecture and centralized systems in three-tier architecture with light client, usage of Cloud computing. | NIE-PIS |
NIE-SI-21 | Managing input and output data of information systems - consolidation, normalization, aggregation. Management information systems (key performance indicators). | NIE-PIS |
📄 The table is available also in CSV (semicolon-separated values). 🔙 History of changes is on GitLab.