
Software Engineering is the field of Computer Science that deals with concepts, techniques, methodologies, practices, and tools for the systematic, methodical, and quantifiable specification, architecturing, design, implementation, testing, verification and maintenance of high-quality software systems, within given budget and temporal constraints, in accordance with engineering principles. The course covers a wide range of subjects, including software specification, architectural and detailed design, implementation, verification and validation, project management, and quality assurance. Modern tools and environments are used for documentation, diagrams, code management, code generation, testing, and AI.
Students work in groups of 3 to 5 people on a semester-long project, the subject of which is given during the first lectures and is also discussed during the progress of the course. The project serves as an opportunity to apply a broad spectrum of knowledge in programming, databases, network programming, web services, security, application and service interfaces, front-end technologies and more, through modern documentation and software development environments, as well as AI tools. The project development is supported by software developmend and design tools (Visual Paradigm, PlantUML, VSCode & Jetbrains IDEs) that must be used to produce the required deliverables. Progress is monitored online using the code and project management tools offered by GitHub.
- Teacher: Βασίλειος Βεσκούκης
ECTS : 6
Language : el, en