Semester: 8
ECTS: 6
Lectures: 30
Practice sessions: 30
Independent work: 120
Module Code: 24-121-0151
Semester: 8
ECTS: 6
Lectures: 30
Practice sessions: 30
Independent work: 120
Module Code: 24-121-0151
Module title:
Advanced programming paradigms
Lecturers and associates:
Module overview:
This module introduces students to the basics of testing programming products and implementing the advanced programming paradigms.
This module is intended for students who wish to learn advanced paradigms in object-oriented programming. The skills acquired by this module will contribute significantly to students’ development as professionals in the respective fields.
The module is taught in Java and C# programming languages. The module assessment is based on individual student projects. In these projects, students must create a software solution to the given specifications.
Students will learn:
How to test and improve software solutions, which is a valuable skill for their future challenges as software architects.
How to design testing concepts of programming solutions.
How to improve programming solutions by reducing coupled code, using the aspect-oriented approach, and implementing programming metrics.
Literature:
Required readings:
1. Kaner, C., Bach, J. and Pettichord, B. (2008) Lessons learned in software testing. Hoboken: John Wiley and Sons.
2. Martin, R.C. (2009) Clean code: a handbook of agile software craftsmanship. London: Pearson Education.
3. McLaughlin, B., Pollice, G. and West, D. (2006) Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOAandD. Sebastopol: O´Reilly Media, Inc.
Supplementary readings:
1. Mancuso, S. (2014) The software craftsman: Professionalism, Pragmatism, Pride. London: Pearson Education.