Skip to main content

Professional Software DevelopmentLaajuus (10 cr)

Code: 5G00FT07

Credits

10 op

Objectives

The student knows the requirements and practices for developing software in a long run, what different roles and responsibilities are involved in professional software development and production. The student is able to participate in software development in various roles.

Content

Conducting software development work as part of a development team. Producing and maintaining production ready software. Deploying new versions of the software to different environments. Building and developing tools and practices for continuous delivery. Creating and updating documentation. Designing and refactoring the system for better quality by applying the common software architecture styles and design patterns. Implementing and maintaining tests at different levels, integrating the tests into the automated deployment.

Before taking the course, the student is assumed to possess decent understanding and some practical skills in the most common areas of professional software development including intermediate level programming experience in one or more modern programming language, implementing software in some modern context like web, mobile, or embedded systems, implementing pipelines for continuous development and delivery and software testing. The course is meant to be one of the last courses where earlier studies or skills gained elsewhere are put together to a comprehensive modern software development process.

Assessment criteria, satisfactory (1-2)

The student knows the basics of requirements for professional software development work.
The student is able to operate in a professional software development team with guidance.

Assessment criteria, good (3-4)

The student knows the basics of requirements for professional software development work.
The student is independently able to operate in a professional software development team. The student knows the tools and technologies required and know how to use them.

Assessment criteria, excellent (5)

The student knows what is required and what different roles, responsibilities and activities exist in continuous high quality software development work. The student is successfully and independently able to operate in a professional software development team. The student knows the tools and technologies required and knows how to use them.

Enrolment period

23.11.2023 - 07.01.2024

Timing

01.01.2024 - 05.05.2024

Credits

10 op

Mode of delivery

Contact teaching

Unit

Software Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Juha Ikonen
  • Petteri Jekunen
Groups
  • 20I260E

Objectives (course unit)

The student knows the requirements and practices for developing software in a long run, what different roles and responsibilities are involved in professional software development and production. The student is able to participate in software development in various roles.

Content (course unit)

Conducting software development work as part of a development team. Producing and maintaining production ready software. Deploying new versions of the software to different environments. Building and developing tools and practices for continuous delivery. Creating and updating documentation. Designing and refactoring the system for better quality by applying the common software architecture styles and design patterns. Implementing and maintaining tests at different levels, integrating the tests into the automated deployment.

Before taking the course, the student is assumed to possess decent understanding and some practical skills in the most common areas of professional software development including intermediate level programming experience in one or more modern programming language, implementing software in some modern context like web, mobile, or embedded systems, implementing pipelines for continuous development and delivery and software testing. The course is meant to be one of the last courses where earlier studies or skills gained elsewhere are put together to a comprehensive modern software development process.

Assessment criteria, satisfactory (1-2) (course unit)

The student knows the basics of requirements for professional software development work.
The student is able to operate in a professional software development team with guidance.

Assessment criteria, good (3-4) (course unit)

The student knows the basics of requirements for professional software development work.
The student is independently able to operate in a professional software development team. The student knows the tools and technologies required and know how to use them.

Assessment criteria, excellent (5) (course unit)

The student knows what is required and what different roles, responsibilities and activities exist in continuous high quality software development work. The student is successfully and independently able to operate in a professional software development team. The student knows the tools and technologies required and knows how to use them.

Location and time

Tuesdays 2 to 5 pm online using the Teams of the course.
Thursdays from 11 to 2 pm in TAMK campus. See the calendar for exact class room.

Exam schedules

No exam in the course.

Assessment methods and criteria

Course will be split to 3 parts each of which separately assessed.​

The purpose is to provide formative feedback to the students during the course rather than giving one final grade after which it is not any more possible to affect to the grade or take any corrective actions.​

Assessment will be transparently in Moodle and consists of ​
* Attendance​
* Results/Skills performance​
* Personal and project group "professionalism"​

Evaluation is based on deliverables and outcomes of the course and quality of the project and team work skills and commitment throughout the course. The final grade will be based on project teams performance but mainly on personal contribution including
* Tangible results and outcomes
* Performing results of work during the course
* Attendance
* Working hours - amount and quality of tracking records
* Technical, documentation, project tools artifacts
* Project Work (skills, attendance, commitment, contribution, sharing information and supporting team)

Exceptional performance in any of the areas mentioned may result in a better grade than induced from the default rubrics.

Assessment scale

0-5

Teaching methods

Lectures, project meetings, project work both independently and in project teams. Visiting lectures.

Learning materials

Tools used will be: Atlassian Cloud project tools Jira and Confluence, TAMK Teams and Moodle.
For hours tracking some online tool like Clockify.

Further details will be announced during the course.

Student workload

10 cp * 27cp = 270 hours of work - includes lectures, project meetings and independent project work.

Content scheduling

The course is split to three phases for assessment.
However the content will be phased according to the tasks given by the customer for this course that is the TAMK FieldLab.

Completion alternatives

Contact the instructors and ask for permission to the Moodle space containing instructions for alternative completion of the course.

Practical training and working life cooperation

Visiting lectures from working life representatives.

International connections

Through the project partners of FieldLab.

Further information

This course does not officially mandatory prerequisites. However recommendation is that following courses have been completed before joining this course:
* Web Software Production
* Full Stack Web Development
* Server Technologies
* Software Architectures and Design
* Software Implementation and Testing
* Software Requirements and Application Prototyping
* Software Project

This is the last course of the degree programme. Students are assumed to be equipped with the overall competence gained by completing the majority of the degree programme.

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas not in approved level.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas in satisfactory level.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas in good level.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas in excellent level: The student produces professional level outcomes in the course. These can be technical results like code or configurations and setups or project work artifacts. Student participates actively to project meetings and to the work of the project teams and is committed to produce quality results in the course. Student records working hours as required and the amount of hours matches the size of the course. Students understands the versatile requirements for professional level software development and shows active attitude and concrete actions to support and improve both the results and working practices to reach high quality working standard.

Enrolment period

01.11.2022 - 15.01.2023

Timing

01.01.2023 - 30.04.2023

Credits

10 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Juha Ikonen
  • Petteri Jekunen
Person in charge

Petteri Jekunen

Groups
  • 19I260E

Objectives (course unit)

The student knows the requirements and practices for developing software in a long run, what different roles and responsibilities are involved in professional software development and production. The student is able to participate in software development in various roles.

Content (course unit)

Conducting software development work as part of a development team. Producing and maintaining production ready software. Deploying new versions of the software to different environments. Building and developing tools and practices for continuous delivery. Creating and updating documentation. Designing and refactoring the system for better quality by applying the common software architecture styles and design patterns. Implementing and maintaining tests at different levels, integrating the tests into the automated deployment.

Before taking the course, the student is assumed to possess decent understanding and some practical skills in the most common areas of professional software development including intermediate level programming experience in one or more modern programming language, implementing software in some modern context like web, mobile, or embedded systems, implementing pipelines for continuous development and delivery and software testing. The course is meant to be one of the last courses where earlier studies or skills gained elsewhere are put together to a comprehensive modern software development process.

Assessment criteria, satisfactory (1-2) (course unit)

The student knows the basics of requirements for professional software development work.
The student is able to operate in a professional software development team with guidance.

Assessment criteria, good (3-4) (course unit)

The student knows the basics of requirements for professional software development work.
The student is independently able to operate in a professional software development team. The student knows the tools and technologies required and know how to use them.

Assessment criteria, excellent (5) (course unit)

The student knows what is required and what different roles, responsibilities and activities exist in continuous high quality software development work. The student is successfully and independently able to operate in a professional software development team. The student knows the tools and technologies required and knows how to use them.

Location and time

Tuesdays 2 to 5 pm online using the Teams Space of the course.

Exam schedules

No exam in the course.

Assessment methods and criteria

Evaluation is based on deliverables and outcomes of the course and quality of the project and team work skills and commitment throughout the course. The final grade will be based on team performance (40%)​ and personal contribution (60%​).

The factors that affect to the grade are
* Personal tangible results and outcomes
* Outcomes of the team
* Working hours - amount and quality of tracking records
* Technical, documentation, project tools artifacts
* Project Work (skills, attendance, commitment, contribution, sharing information and supporting team)

Exceptional performance in any of the areas mentioned may result in a better grade than induced from the default rubrics.

Assessment scale

0-5

Teaching methods

Lectures, project meetings, project work both independently and in project teams.

Learning materials

Thursdays from 2 to 5 pm hybrid: class room B2-20 for joining in TAMK campus.

Student workload

10 cp * 27cp = 270 hours of work - includes lectures, project meetings and independent project work.

Content scheduling

The course is split to two main parts:
1) Defining and implementing a professional level sw development process for the services and products chosen.
2) Applying the process defined in part 1 for developing the functionalities of the services.

Completion alternatives

Contact the instructors and ask for permission to the Moodle space containing instructions for alternative completion of the course.

Practical training and working life cooperation

Visiting lectures from working life representatives.

International connections

n/a

Further information

This course does not have mandatory prerequisites. However recommendation is that following courses have been completed before joining this course:
* Web Software Production
* Full Stack Web Development
* Server Technologies
* Software Architectures and Design
* Software Implementation and Testing
* Software Requirements and Application Prototyping
* Software Project

This is the last course of the degree programme. Students are assumed to be equipped with the overall competence gained by completing the majority of the degree programme.

The services and products used as starting point for this course are the ones that were started and brought to MVP level in the Software Project course during fall 2022.

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas not in approved level.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas in satisfactory level.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas in good level.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

Performance in the evaluation criteria areas in excellent level: The student produces professional level outcomes in the course. These can be technical results like code or configurations and setups or project work artifacts. Student participates actively to project meetings and to the work of the project teams and is committed to produce quality results in the course. Student records working hours as required and the amount of hours matches the size of the course. Students understands the versatile requirements for professional level software development and shows active attitude and concrete actions to support and improve both the results and working practices to reach high quality working standard.