Translated using DeepL

Machine-translated page for increased accessibility for English questioners.

N-SWE Software Engineering Questions

Common Core Program

  1. Programming and software development. Development of software solutions, specifics of implementing web-based information systems. Tools and environments for software development of large-scale systems. Basic concepts of software architectures from an implementation perspective. Multilayer architecture of modern information systems, model-view-controller architecture. Persistence, ORM. Practical examples for all of the above. (PA165 || PV179)
  2. Code quality. Quality in software systems development, quality attributes and software metrics. Tactics for quality assurance at the level of individual quality attributes. Clean Code and SOLID principles, code refactoring. Code testing, unit tests, integration tests, user and acceptance tests. Debugging and performance testing. Quality management process in software systems development. Practical examples for all of the above. (PV260, PA017, PA103)
  3. Software Engineering. Software life cycle, software development process and software development management. (Rational) Unified Process (UP, RUP), agile methodologies and principles of agile software development. Deployment and operation of software systems. Maintenance of software systems, reusability. Practical examples for all of the above. (PA017)
  4. Project Management. Planning, risk management, role of models in project management. Gantt charts, network analysis, critical path method (CPM), Program Evaluation and Review Technique (PERT). International standards and methodologies for project management (PMI Project Management Body of Knowledge, PRINCE 2). Practical examples for all of the above (PA179).
  5. Databases. Principles of data storage, databases and file systems. Data encoding and compression. Architecture of relational databases, SQL query language and its parts (definitions, manipulation, transactions). Data schema definition language, DDL. Data manipulation language, DML. Relational algebra, integrity constraints, transaction control. Indexing, hashing. Practical examples for all of the above. (PV003 || PV062)
  6. Computer networks. Concepts, principles, architectures. ISO/OSI and TCP/IP model, IP protocol, transport protocols (TCP, UDP). Network layer protocols, IPv4 features, advanced IPv6 features. Peer-to-peer (P2P) networks, ad-hoc/sensor networks, high-speed networks, computer networks and multimedia. Practical examples for all of the above (PA159, PA191).
  7. Distributed Systems. Basic concepts, principles. Difference between centralized and distributed system architecture, disadvantages of both and how to overcome them. Replication, data sharing. Service-oriented architecture (SOA), web services. Examples of existing technologies and their use. Practical examples for all of the above. (PA053)

Specialization DEV - Design and development of software systems

  1. Analysis and design of systems. Object-oriented methods of information systems design. Requirements specification and management. Software architectures, component systems. Design and architectural patterns. Component interfaces, interface level contracts, OCL. Software system models, UML. Practical examples for all of the above. (PA103, PV167, PV258)
  2. Data processing. Basic concepts and principles of data warehousing, data analytics and business intelligence. Data warehouse lifecycle. Big data analytics, languages for implementing analytic tasks, database-level analytics. Advanced data processing techniques, performance aspects of big data processing. Practical examples for all of the above. (PA220, PA036)
  3. Secure Code. Authentication and access control methods. Biometric authentication methods, their implications and problems. Electronic signature and its use. Authentication of machines and applications. Principles and principles of secure code. Typical code-level security vulnerabilities, concurrency, input treatment. Security vulnerability detection, penetration testing. Practical examples for all of the above. (PV157, PA193, PV276)
  4. User interfaces. Principles of user interface design and development in modern software systems, including web, mobile. User interface development process and quality principles. User experience (UX), interaction design, prototyping, wireframing, user research, usability testing. Technologies and tools. Practical examples for all of the above. (PV182 || PV247 || PV278)

OPS specialisation - Deployment and operation of software systems

  1. Secure infrastructure. Aspects affecting system security at the level of its infrastructure, network security. Cybersecurity threats and examples of attacks. Design of security mechanisms, vulnerability detection, penetration testing, analysis of security attacks. Practical examples for all of the above. (PA018 || PV276 || PA211)
  2. Cloud computing. IaaS, PaaS, SaaS cloud. Concepts and principles of designing and developing applications for deployment in the cloud. Cloud services in the context of PaaS cloud, data storage services. Quality assurance of applications in the cloud environment, performance, scalability, availability, security. Practical examples for all of the above. (PA200)
  3. Operating Systems (statewide Fall 2023 and Spring 2024). UNIX operating system, kernel operation, memory and device management by the kernel. Basic configuration, user management, network services. Principles of UNIX development and development environment, working with processes, files, input/output operations. Practical examples for all of the above. (PV065, PV077)
  4. Operating Systems (statewide starting Fall 2024). UNIX operating system, kernel operation, memory and device management by the kernel. Basic configuration, user management, network services. Principles of development and development environment in UNIX, working with processes, files, input/output operations. MS Windows operating system, basic configuration, user management, NTFS file system, HW devices and drivers, basic scripting. Practical examples for all of the above. (PV065, PV077, PV175)
  5. NoSQL databases. Principles and taxonomy of NoSQL databases. Distributed databases, ensuring consistency. Architectures and basic characteristics of the main representatives of NoSQL databases (key-value stores, document databases, column-family stores, graph databases). Practical examples for all of the above. (PA195)