bachelor in artificial intelligence and data science la salle campus barcelona

Bachelor in Artificial Intelligence and Data Science

Software methodology

Description: 

Students are introduced to the field of Software Methodology, covering the different Software Development Life Cycles (SDLC) that can be applied during software project development. The course begins with the study of design patterns that must be considered when producing an Object-Oriented Design. It then focuses on the use of Agile methodologies, introducing the fundamental concepts of Scrum and its advantages over other software development methodologies. Different approaches to Agile adoption within organizations are analysed, together with the characteristics and values required for successful implementation. Finally, students study a range of techniques for achieving continuous improvement in both the software product and the development project.

Type Subject
Obligatoria no de Primer
Semester
First
Course
3
Credits
3.00
Previous Knowledge: 

No prior knowledge is required.

Objectives: 


Upon successful completion of the course, students will be able to:


  • Understand the fundamental principles of software methodology and the different software development life cycles.
  • Understand the fundamentals of Agile methodologies for software project management.
  • Understand the Scrum framework, including its roles, events, and artifacts, as well as its advantages over other software development methodologies.
  • Plan and manage product development using Scrum throughout the software development life cycle.
  • Understand Kanban and other Agile methodologies, identifying their appropriate application contexts.
  • Analyze different strategies for implementing Agile methodologies within an organization, identifying the key success factors and values required for their successful adoption.
  • Apply continuous improvement techniques to enhance both the product and the software development process.
  • Analyze practical case studies and select the most appropriate methodologies and tools according to the project's context, objectives, and constraints.

Contents: 

  • 1. Introduction to Software Methodology.
  • 2. Software Lifecycle and Project Requirements Management.
  • 3. Artificial Intelligence Project Development. AI Systems Lifecycle, Reproducibility, Version Control, Documentation, and Best Practices.
  • 4. Agile Project Management Methodologies: Scrum and Kanban.
  • 5. Product Management and Change Management.
  • 6. Practical Case Studies.

Methodology: 

Teaching Methodology

The course is structured into two main modules: Software Methodology and Agile Methodologies.

Both modules combine lectures with practical activities aimed at applying the concepts covered in class.

Students engage in practical case studies, problem-solving exercises, individual assignments, and collaborative team activities. During the Agile (Scrum)-based projects, they assume different roles and responsibilities, simulating real-world software development environments.

The learning activities promote active participation, decision-making, teamwork, and critical reflection on the proposed solutions.

Team-based activities are also included as part of the course assessment.

Evaluation: 










Assessment


The final course grade is based on the marks obtained throughout the semester. It takes into account the results achieved in the assessments corresponding to each module, as well as the grade obtained for the final practical assignment.

Module 1: Software Development Methodology

  • 100% Fundamentals Module
    • Activity 1 (100% of the Fundamentals Module grade)

Module 2: Agile Methodologies

  • 30% Scrum Practical Assignment
  • 40% Final Exam
  • 30% Participation

The final course grade is calculated as follows:


FinalGrade = 50% * Bloc1_Grade[MET DES] + 50% * Bloc2_Grade [AGILE]


Para poder aplicar la fórmula anterior es imprescindible:

Final Grade = 50% × Module 1 Grade (Software Development Methodology) + 50% × Module 2 Grade (Agile Methodologies)

To be eligible for the final grade calculation, students must meet the following requirements:

  1. Pass all required assessments in each module.
  2. Attend at least 80% of the classes.

Failure to meet these requirements will result in a final grade of NP (Not Presented) if any required assignment or practical activity has not been completed.

Assignment Submission


Students should take the following into consideration when submitting coursework:

  1. All assignments must be submitted through eStudy. Submissions by email will not be accepted.
  2. The official submission time is the timestamp recorded by eStudy when the file is uploaded to the designated submission area.
  3. Submitted files must follow the required naming convention, which will be clearly specified in the submission instructions for each assignment or practical activity.









Resit Assessment


Students who do not pass one or more assessment activities will have the opportunity to complete a resit assessment during the extraordinary assessment period.

The resit may consist of:

  • Resubmitting the practical assignments that were not successfully completed, incorporating the improvements indicated by the instructor.
  • Completing, where applicable, a specific assessment covering the learning outcomes that were not achieved.
  • Meeting the submission deadline published on the course's virtual learning environment.

The maximum grade that can be obtained for a successfully recovered assessment is 7.0/10.

Assessment components related to participation or attendance are not eligible for resit.

Use of Generative Artificial Intelligence


This course adopts the AIAS (Artificial Intelligence Assessment Scale) to regulate the use of generative AI in assessment activities:

  • Level 1: The use of generative AI is not permitted.
  • Level 4: The use of generative AI is permitted for specific parts of an assignment, provided that students critically evaluate the generated output and appropriately acknowledge and document its use.




 










 





Evaluation Criteria: 


The following aspects will be assessed:


  • Understanding of the fundamentals of software methodology, the different software development life cycles, and the criteria for selecting the most appropriate methodology according to the project context.
  • Understanding of the principles, values, and practices of Agile methodologies, particularly Scrum and Kanban, as well as their application to software project planning and management.
  • Ability to manage product development using Agile methodologies, participating in the different phases of a project and applying Scrum roles, practices, and artifacts.
  • Ability to analyze different strategies for implementing Agile methodologies within an organization, identifying success factors and the main challenges associated with organizational change.
  • Ability to apply continuous improvement techniques to enhance product quality and increase the efficiency of the software development process.
  • Ability to organize, manage, and present technical information in a structured manner, as well as to work collaboratively in software development projects.
  • Ability to analyze and solve practical case studies, justifying methodological decisions according to the project's objectives, constraints, and requirements.

Basic Bibliography: 

  • Sommerville, I. (2016). Software Engineering (10th ed.). Pearson.
  • Burkov, A. (2020). Machine Learning Engineering. True Positive Inc.
  • Huyen, C. (2022). Designing Machine Learning Systems. O'Reilly Media.
  • Rubin, K. S. (2012). Essential Scrum. Addison-Wesley.

Additional Material: 

  • Sommerville, I. (2016). Software Engineering (10th ed.). Pearson.
  • Burkov, A. (2020). Machine Learning Engineering. True Positive Inc.
  • Huyen, C. (2022). Designing Machine Learning Systems. O'Reilly Media.
  • Rubin, K. S. (2012). Essential Scrum. Addison-Wesley.