Plan-Driven and Agile Programming

Academic Semester:
Course TypeReference NumberSubprogram
Compulsory in SubprogramTheory: ΤΠ50Λ2
Lab:
Software Engineering
SemesterAcademic YearHours per week
Winter3rdTheory: 3 Lab: 2
ExamsECTSWorkload
Theory: Final written examination on the material presented during the semester (100%). The examination includes theory questions (from 3-5) and Exercises (from 1-2). Lab: The final grade is calculated by writing laboratory exercises (10%), project develo69
PrerequisitesTeaching methodTeaching Language
Lectures with parallel laboratory classesGreek, English

Academic Staff

Faculty in charge: 
nv's picture
βιδάκης νικόλαος
Vidakis Nikolaos
Associate Professor
Αναπληρωτής Καθηγητής
2810-379892

Course Outcome

The course involves modern topics & concepts of software implementation and compares new methods and practical implementation (agile programming) to traditional (procedural programming). 
The purpose of this course is the acquisition of knowledge in modern techniques and software implementation processes (agile programming, extreme programing etc.). Using paradigms of both software implementation concepts (agile and planned), the essential characteristics are presented to the students in order to improve their skills in the development of business software...
After completing the course the student will have acquired the necessary knowledge and skills to:

  • Be aware of basic terms of Plan-driven Object-oriented Software Implementation
  • Be able to implement Plan-driven Object-oriented Software
  • Be aware of the Standards and Quality Measurement in plan-driven Systems
  • Have knowledge of methods and agile programming practices
  • Compare and evaluate methods and practices of plan-driven & agile programming.
  • Compare and evaluate implementations with a plan-driven and agile development philosophy
  • Adapt methods and practices to software peculiarities

Course Syllabus

  • Introduction to Plan-driven Programming:
  • Object-oriented Plan-driven Software Implementation:
  • Principles of Object-Oriented Analysis & Design:
  • Basic Terms of Object-Oriented Programming (OOProgramming) (Java, C++, C#)
  • Software Design Patterns:
  • Quality Metrics of Plan-driven Systems:
  • Introduction to Agile Programming:
  • Scope & Perspective of Agile Programming:
  • Methodologies & Practices used in Agile Programming:
  • Methodologies Adaptation
  • Overview and comparison with other methodologies:
  • Implementation Evaluation with Agile Programming Philosophy:
  • Comparison of Plan-driven to Agile Programming

RECOMMENDED BIBLIOGRAPHY

  • Cockburn, Alistair, Agile Software Development, Addison Wesley, 2002.
  • Εισαγωγή στη Java, Γιώργος Λιακέας, Εκδόσεις Κλειδάριθµος,ISBN 9602-69-4311
  • Bruce Eckel:Thinking in Java, Prentice Hall, 1999, ISBN 0-13659-723-8

Web Sites/Web Pages:

 

Head of the Department οf Informatics Engineering
Malamos Athanasio ASSOCIATE PROFESSOR, amalamos@hmu.gr

Deputy Head of the Department οf Informatics Engineering
Marias Kostas ASSOCIATE PROFESSOR, kmarias@hmu.gr

Secretary
Address: Department of Informatics Engineering, School of EngineeringTEI of Crete, Heraklion, Crete, P.O Box: 71500
E-mail: secretariat@ie.teicrete.gr
Tel: 2810-379716, 2810-379795, 2810-379853
Fax: 2810-379717
Website: http://www.ie.teicrete.gr

Administrators
Tel: 2810-379776