Skip to main content

Advanced Programming ProjectLaajuus (5 cr)

Code: TTC8860

Credits

5 op

Teaching language

  • English

Responsible person

  • Jani Immonen

Objective

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Assessment criteria, satisfactory (1)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Assessment criteria, good (3)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Assessment criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Materials

Basics in programming, Data structures and algorithms, Object-oriented Programming.

Enrollment

18.11.2024 - 09.01.2025

Timing

13.01.2025 - 30.04.2025

Number of ECTS credits allocated

5 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Jani Immonen
Groups
  • TTV22S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S3
    Tieto- ja viestintätekniikka (AMK)
  • TIC22S1
    Bachelor's Degree Programme in Information and Communications Technology
  • TTV22S1
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S4
    Tieto- ja viestintätekniikka (AMK)

Objectives

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Practical training and working life connections

- projects

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- exercises 15 h
- assignment 40 h
- independent study 30 h
Total 135 h

Further information for students

Compulsory attendance to the lessons. Part of the assessment is based on attendance.

Helping other students with their assignments earns extra points for the grade.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Enrollment

01.08.2024 - 22.08.2024

Timing

26.08.2024 - 18.12.2024

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Online learning

Unit

School of Technology

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Jani Immonen
Groups
  • TTV22S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S3
    Tieto- ja viestintätekniikka (AMK)
  • TIC22S1
    Bachelor's Degree Programme in Information and Communications Technology
  • TTV22S1
    Tieto- ja viestintätekniikka (AMK)
  • TTV22SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV22S4
    Tieto- ja viestintätekniikka (AMK)
  • TTV22SM2
    Tieto- ja viestintätekniikka (AMK)

Objectives

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Practical training and working life connections

- projects

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- exercises 15 h
- assignment 40 h
- independent study 30 h
Total 135 h

Further information for students

Course is graded based on project presentations.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Enrollment

20.11.2023 - 04.01.2024

Timing

08.01.2024 - 30.04.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Face-to-face

Unit

School of Technology

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Jani Immonen
Groups
  • TTV21S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S5
    Tieto- ja viestintätekniikka (AMK)
  • TIC21S1
    Bachelor's Degree Programme in Information and Communications Technology
  • TTV21S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S1
    Tieto- ja viestintätekniikka (AMK)

Objectives

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Practical training and working life connections

- projects

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- exercises 15 h
- assignment 40 h
- independent study 30 h
Total 135 h

Further information for students

Compulsory attendance to the lessons. Part of the assessment is based on attendance.

Helping other students with their assignments earns extra points for the grade.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Enrollment

01.08.2023 - 24.08.2023

Timing

28.08.2023 - 19.12.2023

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Online learning

Unit

School of Technology

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Jani Immonen
Groups
  • TTV21S3
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S5
    Tieto- ja viestintätekniikka (AMK)
  • TTV21SM
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S2
    Tieto- ja viestintätekniikka (AMK)
  • TTV21S1
    Tieto- ja viestintätekniikka (AMK)

Objectives

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Practical training and working life connections

- projects

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- exercises 15 h
- assignment 40 h
- independent study 30 h
Total 135 h

Further information for students

Course is graded based on project presentations.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Enrollment

01.11.2022 - 05.01.2023

Timing

09.01.2023 - 28.04.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Face-to-face

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Seats

0 - 30

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Jani Immonen

Objectives

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Practical training and working life connections

- projects

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- exercises 15 h
- assignment 40 h
- independent study 30 h
Total 135 h

Further information for students

Course is graded based on project presentations.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.

Enrollment

01.08.2022 - 25.08.2022

Timing

29.08.2022 - 16.12.2022

Number of ECTS credits allocated

5 op

Virtual portion

5 op

Mode of delivery

Online learning

Unit

School of Technology

Campus

Lutakko Campus

Teaching languages
  • English
Seats

0 - 70

Degree programmes
  • Bachelor's Degree Programme in Information and Communications Technology
Teachers
  • Jani Immonen

Objectives

Purpose:
In the Advanced Programming Project course, you will learn about the various stages of the software development process, including project initiation, feasibility study, and requirements gathering. The course aims to provide students with a comprehensive understanding of the software development lifecycle, including the various stages involved in taking a software project from concept to release.

Throughout the course, you will learn how to manage the software development process, including how to conduct feasibility studies, develop SRS documents, and create high-level software architectures. You will also learn how to apply modern software development practices such as DevOps, CI/CD pipelines, and version control systems to your software projects.

EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Engineering practice
Investigations and information retrieval

Learning outcomes:
Throughout the course, you will work on various assignments and projects, applying the knowledge and skills you have learned to real-world scenarios. By the end of the course, you will have a deep understanding of the software development process as a whole and the skills needed to manage a software project from concept to release using modern software development practices.

Content

The course will cover entire life span of software project, using modern project management and communication tools.
- Project idea and its refinement procedures
- Usage of project management and communication tools.
- Application/service technical design.
- Software development cycles.
- Automated testing.
- Software release.

Learning materials and recommended literature

Materials in the e-learning environment.

Teaching methods

- lectures
- independent study
- distance learning
- small group learning
- exercises
- learning tasks

Practical training and working life connections

- projects

Exam dates and retake possibilities

The possible date and method of the exam will be announced in the course opening.

Alternative completion methods

The admission procedures are described in the degree rule and the study guide. The teacher of the course will give you more information on possible specific course practices.

Student workload

One credit (1 Cr) corresponds to an average of 27 hours of work.

- lectures 50 h
- exercises 15 h
- assignment 40 h
- independent study 30 h
Total 135 h

Further information for students

Course is graded based on project presentations.

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Fail 0: The student does not meet the minimum criteria set for the course.

Sufficient (1): The student is familiar with the basic topics discussed during the course. The student
is able to write a working program with assistance and employ example code.

Satisfactory (2): The student understands the most basic topics discussed during the course,
however, he/she struggles to utilize this knowledge. The student is not able to search for relevant
information independently. The student is able to write programs, but uses mostly
existing example code.

Evaluation criteria, good (3-4)

Good (3): The student understands the most important topics discussed during the course and is
able to utilize this knowledge in the most basic cases. The student is able to utilize information about
the discussed topics. The student is able to write simple programs utilizing topics discussed during the course.

Very good (4): The student understands the most important topics discussed during the course and
is able to utilize this knowledge in most common cases. The student is able to search and
understand information about the discussed topics. The student is able to write programs utilizing topics discussed during the course.

Evaluation criteria, excellent (5)

Excellent (5): The student understands all topics discussed during the course and is able to use
them in an innovative manner even in complex and challenging situations. The student is able to search and
utilize information about the discussed topics independently. The student is fluent in writing programs
using topics covered in the course.