|
| Software Development IICourse DescriptionΒest
practices for clean software development (naming, documentation, code
organization, error handling), refactoring techniques (composing
methods, simplifying conditional & methods, moving features,
generalizations), introduction to design patterns. The course’s lab
aims at training the students in the use of integrated development
environments and refactoring tools that will be employed for the
developments of the course's project. The lab further focuses on issues
related
to the different phases of the project (development phase, refactoring
phase).
Learning Objectives & Expected OutcomesThe
study and application of best practices, patterns and refactoring
techniques that allow to avoid issues of poor software
design/implementation. The main outcomes of the course is that the
students will be capable to:
- Identify issues of poor software design/implementation.
- Improve
the quality of software that suffers from issues of poor software
design/implementation by applying design patterns and refactoring
techniques.
Literature and Study MaterialThe main textbooks for the course are:
- OO Design: UML, principles, patterns and rules, Α. Xatzigeorgiou, ISBN 960-209-882-1
- Program Development in Java, B. Liskov and J. Guttag, ISBN 978-960-461-063-1
- Clean Code - A Handbook of Agile Software Craftsmanship, R. C. Martin
- Refactoring - Improving the Design of Existing, M.Fowler
Apart from the above textbooks you can download the course's and labs lecture notes (ppt, pdf) from the following git hub repo: github.com/zarras/mye004-slides.
ProjectThe
project is developed by groups of 2 students. The goal is to refactor a
given program that has been developed by other students. - Deliverables - Deadline 23-12-2026 23.59
- You
can find all the neccessary material (requirements, source code of legacy application, deliverables specs, etc.) here (WILL BE AVAILABLE SOON).
- For the delivery of the project you will have to provide the URL of a Git repository. For more details please follow the guidelines provided along with the project material in the backlog document.
- turnin deliverables@mye004 <your-project>.zip, where your-project is a zip file of your Eclipse refactored project.
Announcements
- NEW !! Grades SEPT 2026 here.
- NEW !! To register your project group for the project of 2025-2026 , fill this form - Deadline 27/10/2026.
- NEW !! For the 2026-2027 course join the MS Teams group pljg1tq of the course to receive announcements and other useful comments about the lectures and the course project!!!
- In the final exam you can bring with you an A4 cheat sheet with your personal notes.
- The overall grades for June 2026 can be found here.
- Project grades 2026 are here.
- The review of the project will take place via MS TEAMS on MON 12/1, TUE 13/1. The detailed schedule is HERE. You have to join the team group of the course u9iwwzg and have the project ready to run at your PC. The groups that will not be present at the review will not be graded!!
Useful Links |