Students study foundations and basic concepts of Software Engineering. At least one methodology and supporting techniques and tools are taught. Student is trained on practical problem solving in various areas of Software Engineering, like requirements writing, analysis, testing, etc.
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. ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ, Γιακουμάκης, Εκδ. Σταμούλης, 2009
3. ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ, Ι. Sommerville, Κλειδάριθμος, 2010