Cognitive: Familiarization with basic software engineering principles, concepts and paradigmes. Knowledge of relevant methods and computer tools.
Skills: Resolving practical software engineering problems. Contribution to open source projects. Requirements specification and analysis, software testing, professional code writing.
Course Content (Syllabus)
Description and analysis of modern software industry problems. Open source code. Agile Methods. Software Processes. Software Life Cycle Models. Requirements Elicitation and Review. Analysis2 approaches and Structured Analysis. Design approaches and Structured Design. Coding and Testing. Tools and Environments for Software Engineering. Participation in an open source project either as requirements engineer, coder or tester.
Software Engineering, Software Systems, Software Life Cycle, Open Source Code, Agile Methods, Software Analysis & Design, Software Testing, Software Maintenance
Course Bibliography (Eudoxus)
1. ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΑΠΟ ΤΗ ΘΕΩΡΙΑ ΣΤΗΝ ΠΡΑΞΗ, S.L.Pfleeger, Κλειδάριθμος, 2002
2. ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ, R. Pressmanm Τζιόλας, 2013
3. ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ, Ι. Sommerville, Κλειδάριθμος, 2010