Skip to main content

Software Implementation and TestingLaajuus (5 cr)

Code: 5G00DM62

Credits

5 op

Objectives

1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student learns the motivation and basic ideas / principles of the last steps of software project that are handled in this course.

Content

Software implementation, software testing species: unit, API, functional, integration, system, acceptance, software deployment, software maintenance and evolution, dependable systems, CASE tools overview, version control, product and configuration management, continuous integration, test automation, quality management.

Prerequisites

Basic knowledge of programming

Assessment criteria, satisfactory (1-2)

Student knows about software design principles and practices. Student is able to exploit needed software implementation principles and practices in software projects with guidance. Student is able to use needed testing subspecies and techniques related to software maintenance with guidance.

Assessment criteria, good (3-4)

Student knows and understands software design principles and practices. Student is able to independently exploit some software implementation principles and practices in software projects. Student is able to use needed testing subspecies and techniques related to software maintenance.

Assessment criteria, excellent (5)

Student knows and understands in depth software design principles and practices. Student is able to independently exploit diversely software implementation principles and practices in software projects. Student is able to use various testing subspecies and techniques related to software maintenance.

Enrolment period

23.11.2023 - 07.01.2024

Timing

01.01.2024 - 05.05.2024

Credits

5 op

Virtual portion

3 op

Mode of delivery

40 % Contact teaching, 60 % Online learning

Unit

Software Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Jari Aalto
Groups
  • 21I260EA

Objectives (course unit)

1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student learns the motivation and basic ideas / principles of the last steps of software project that are handled in this course.

Content (course unit)

Software implementation, software testing species: unit, API, functional, integration, system, acceptance, software deployment, software maintenance and evolution, dependable systems, CASE tools overview, version control, product and configuration management, continuous integration, test automation, quality management.

Prerequisites (course unit)

Basic knowledge of programming

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

Student knows about software design principles and practices. Student is able to exploit needed software implementation principles and practices in software projects with guidance. Student is able to use needed testing subspecies and techniques related to software maintenance with guidance.

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

Student knows and understands software design principles and practices. Student is able to independently exploit some software implementation principles and practices in software projects. Student is able to use needed testing subspecies and techniques related to software maintenance.

Assessment criteria, excellent (5) (course unit)

Student knows and understands in depth software design principles and practices. Student is able to independently exploit diversely software implementation principles and practices in software projects. Student is able to use various testing subspecies and techniques related to software maintenance.

Location and time

See period timetable http://lukkarit.tamk.fi

Exam schedules

No exam..

Assessment methods and criteria

REQUIRED: Grade 1 mandates a mandatory report comprising 10 content pages and at least 1 book reference from the library. The report must adhere to the official TAMK thesis template, particularly regarding citations within paragraphs.

OPTIONAL: For an optional extended report spanning 20 content pages and including 2 book references, an increased grade of +1 is awarded. This extended report must adhere to the Thesis guidelines, including proper literature citations within paragraphs. Alternatively, this requirement can be fulfilled by returning the programming language exercises according to the instructions provided in the course.

OPTIONAL: Unit-testing project.
Grade +1: main class and 5 additional classes. Every class and method contains Javadoc.
Grade +2: main class and 7 additional classes. Every class and method contains Javadoc. Suite to run all tests.
Grade +3: main class and 10 additional classes. Every class and method contains Javadoc. Suite to run all tests. The tests must include 5 exception handling Unit test cases.

GRADE EXAMPLE: Mandatory report and Unit-testing project meeting +2 requirements. The final grade is 1 + 2 = 3.

DEADLINES:
2024-02-18 deadline for GitHub URL. Late URL submissions: grade is 1.
2024-03-31 deadline for submissions. Late submissions: grade is 1.

Assessment scale

0-5

Teaching methods

report
project work

Learning materials

Any Software Testing related literature (see Library). Online web pages for programming languages and framework

Student workload

See timetable https://lukkarit.tamk.fi

Content scheduling

Basics of testing
Basics of Programming Language
Basics of Unit Testing Framework

Completion alternatives

Contact Lecturer.

Further information

All returns by the deadline.

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

Testing report is not returned or it does not fulfill minimum requirements.

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

See grading above.

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

See grading above.

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

See grading above.

Enrolment period

23.11.2023 - 07.01.2024

Timing

01.01.2024 - 05.05.2024

Credits

5 op

Virtual portion

3 op

Mode of delivery

40 % Contact teaching, 60 % Online learning

Unit

Software Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Jari Aalto
Groups
  • 21I260EB

Objectives (course unit)

1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student learns the motivation and basic ideas / principles of the last steps of software project that are handled in this course.

Content (course unit)

Software implementation, software testing species: unit, API, functional, integration, system, acceptance, software deployment, software maintenance and evolution, dependable systems, CASE tools overview, version control, product and configuration management, continuous integration, test automation, quality management.

Prerequisites (course unit)

Basic knowledge of programming

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

Student knows about software design principles and practices. Student is able to exploit needed software implementation principles and practices in software projects with guidance. Student is able to use needed testing subspecies and techniques related to software maintenance with guidance.

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

Student knows and understands software design principles and practices. Student is able to independently exploit some software implementation principles and practices in software projects. Student is able to use needed testing subspecies and techniques related to software maintenance.

Assessment criteria, excellent (5) (course unit)

Student knows and understands in depth software design principles and practices. Student is able to independently exploit diversely software implementation principles and practices in software projects. Student is able to use various testing subspecies and techniques related to software maintenance.

Location and time

See period timetable http://lukkarit.tamk.fi

Exam schedules

No exam.

Assessment methods and criteria

REQUIRED: Grade 1 mandates a mandatory report comprising 10 content pages and at least 1 book reference from the library. The report must adhere to the official TAMK thesis template, particularly regarding citations within paragraphs.

OPTIONAL: For an optional extended report spanning 20 content pages and including 2 book references, an increased grade of +1 is awarded. This extended report must adhere to the Thesis guidelines, including proper literature citations within paragraphs. Alternatively, this requirement can be fulfilled by returning the programming language exercises according to the instructions provided in the course.

OPTIONAL: Unit-testing project.
Grade +1: main class and 5 additional classes. Every class and method contains Javadoc.
Grade +2: main class and 7 additional classes. Every class and method contains Javadoc. Suite to run all tests.
Grade +3: main class and 10 additional classes. Every class and method contains Javadoc. Suite to run all tests. The tests must include 5 exception handling Unit test cases.

GRADE EXAMPLE: Mandatory report and Unit-testing project meeting +2 requirements. The final grade is 1 + 2 = 3.

DEADLINES:
2024-02-18 deadline for GitHub URL. Late URL submissions: grade is 1.
2024-03-31 deadline for submissions. Late submissions: grade is 1.

Assessment scale

0-5

Teaching methods

report
project work

Learning materials

Any Software Testing related literature (see Library). Online web pages for programming languages and framework

Student workload

See timetable https://lukkarit.tamk.fi

Content scheduling

Basics of testing
Basics of Programming Language
Basics of Unit Testing Framework

Completion alternatives

Contact lecturer.

Further information

All returns by the deadline.

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

Testing report is not returned or it does not fulfill minimum requirements.

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

See grading above.

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

See grading above.

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

See grading above.

Enrolment period

15.12.2022 - 31.01.2023

Timing

01.01.2023 - 07.05.2023

Credits

5 op

Virtual portion

3 op

Mode of delivery

40 % Contact teaching, 60 % Online learning

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Jari Aalto
Person in charge

Esa Kujansuu

Groups
  • 20I260E

Objectives (course unit)

1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student learns the motivation and basic ideas / principles of the last steps of software project that are handled in this course.

Content (course unit)

Software implementation, software testing species: unit, API, functional, integration, system, acceptance, software deployment, software maintenance and evolution, dependable systems, CASE tools overview, version control, product and configuration management, continuous integration, test automation, quality management.

Prerequisites (course unit)

Basic knowledge of programming

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

Student knows about software design principles and practices. Student is able to exploit needed software implementation principles and practices in software projects with guidance. Student is able to use needed testing subspecies and techniques related to software maintenance with guidance.

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

Student knows and understands software design principles and practices. Student is able to independently exploit some software implementation principles and practices in software projects. Student is able to use needed testing subspecies and techniques related to software maintenance.

Assessment criteria, excellent (5) (course unit)

Student knows and understands in depth software design principles and practices. Student is able to independently exploit diversely software implementation principles and practices in software projects. Student is able to use various testing subspecies and techniques related to software maintenance.

Location and time

See period timetable.

Exam schedules

No exam..

Assessment methods and criteria

Deadline 2023-03-31. All returns after deadline are graded 1.
Grading consists of mandatory report and optional testing project work. The report must be written using official TAMK report template.
--
Grades 1-2: mandatory report with page count 10 or 20.
--
Additional grade increades are awarded by implementing Unit-testing.
Grade +1: main class and 5 additional classes.
Grade +2: main class and 7 additional classes. Every class and method contains Javadoc. Suite to run all tests.
Grade +3: main class and 10 additional classes. Every class and method contains Javadoc. Suite to run all tests. The tests must include 5 exception handling Unit test cases.
--
AN EXMAPLE: Report 10 pages and Testing project according to +2. Final grade is 1 + 2 = 3.

Assessment scale

0-5

Teaching methods

report
project work

Learning materials

Any Software Testing related literature (see Library). Online web pages for programming languages and framework

Student workload

See period timetable.

Content scheduling

Basics of testing
Basics of Programming Language
Basics of Unit Testing Framework

Completion alternatives

Contact Lecturer.

Further information

All returns are at the end of deadline.

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

Testing report is not returned or it does not fulfill minimum requirements.

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

See grading above.

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

See grading above.

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

See grading above.

Enrolment period

15.11.2021 - 09.01.2022

Timing

12.01.2022 - 27.04.2022

Credits

5 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages
  • English
Seats

0 - 62

Degree programmes
  • Bachelor's Degree Programme in Software Engineering
Teachers
  • Juha Ikonen
  • Tietotekniikka Virtuaalihenkilö
Person in charge

Juha Ikonen

Groups
  • 19I260E

Objectives (course unit)

1. Student understands the ideas and principles of all main topics of the course.
2. Student can apply the previous information in typical daily tasks of a software engineer.
3. Student develops to an attitude of continuous learning of Software Engineering topics and applying this new information in her/his tasks.
4. Student learns the motivation and basic ideas / principles of the last steps of software project that are handled in this course.

Content (course unit)

Software implementation, software testing species: unit, API, functional, integration, system, acceptance, software deployment, software maintenance and evolution, dependable systems, CASE tools overview, version control, product and configuration management, continuous integration, test automation, quality management.

Prerequisites (course unit)

Basic knowledge of programming

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

Student knows about software design principles and practices. Student is able to exploit needed software implementation principles and practices in software projects with guidance. Student is able to use needed testing subspecies and techniques related to software maintenance with guidance.

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

Student knows and understands software design principles and practices. Student is able to independently exploit some software implementation principles and practices in software projects. Student is able to use needed testing subspecies and techniques related to software maintenance.

Assessment criteria, excellent (5) (course unit)

Student knows and understands in depth software design principles and practices. Student is able to independently exploit diversely software implementation principles and practices in software projects. Student is able to use various testing subspecies and techniques related to software maintenance.

Location and time

Online in Zoom and optionally on campus - see https://lukkarit.tamk.fi for details.

Exam schedules

The course does not have an exam by default.
For completion options consult the instructor.

Assessment scale

0-5

Teaching methods

Contact sessions and activities: exercises, reports, group work, case studies

Learning materials

Reference to online materials and tools provided during the course in Moodle.

Student workload

Lecture attendance, weekly exercises, project work.
Altogether about 80-120 hours.
Effort distributed evenly to the time of the implementation.