Skip to main content

Advanced Programming Techniques (5 cr)

Code: 5G00EU62-3004

General information


Enrolment period
22.11.2023 - 05.01.2024
Registration for the implementation has ended.
Timing
01.01.2024 - 05.05.2024
Implementation has ended.
Credits
5 cr
Mode of delivery
Contact learning
Unit
ICT Engineering
Campus
TAMK Main Campus
Teaching languages
Finnish
Degree programmes
Degree Programme in ICT Engineering
Teachers
Jere Käpyaho
Person in charge
Jere Käpyaho
Tags
CONTACT
Course
5G00EU62

Objectives (course unit)

The student knows the principles of programming techniques described in the content, implementation principles of the most common software design models and implementation in selected programming languages. The student is able to utilize the things mentioned in the content in practical problem solving. Students are familiar with the most common areas of utilization of the topics described in the content in different software projects.

Content (course unit)

Inheritance, virtual functions, static methods and data members, models, most common programming architectural solutions, lambda and functionality, software framework concept and practical examples. Getting to know the topics from the perspective of different programming languages.

Prerequisites (course unit)

Ohjelmonnin perustet, Ohjelmoinnin edistyneet piirteet

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

Student
- understands the concepts of deeper knowledge of programming described in the content
- can solve programming problems on the basis of code examples and model solutions independently
- Generates a working program code
- Perform tasks within the given schedules

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

Student
- understands the concepts of deeper knowledge of programming described in the content
-Is able to utilize the above-mentioned issues to solve practical programming problems in a versatile and justified manner
- Generates good and clear program code
- Is able to identify alternative ways of implementation
- Perform tasks within the given schedules

Assessment criteria, excellent (5) (course unit)

Student
- understands the concepts of programming deeper in the content of the course
can solve the practical programming problems of the subject area in an inventive and versatile manner
can use good and optimal programming structures
- Produces good and clear program code
- Is able to identify alternative ways of implementation
- can evaluate and analyze your own programming work critically
- Perform tasks within the given schedules

Location and time

Kts. kurssin Moodle-sivut

Exam schedules

Ei tenttiä

Assessment methods and criteria

Kurssi suoritetaan viikkoharjoituksilla sekä projektityöllä. Katso tarkempi kuvaus arviointimenetelmistä kurssin Moodle-sivulta.

Assessment scale

0-5

Teaching methods

Lähiopetus, teoriaa ja harjoittelua

Learning materials

John Ousterhout, A Philosophy of Software Design
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns
Paul Deitel, Harvey Deitel, C++20 for Programmers
Nick Samoylov, Learn Java 17 Programming Second Edition
Joseph Albahari, C# 10 in a Nutshell
Steve Klabnik, Carol Nichols, The Rust Programming Language

Student workload

Kurssi vastaa laskennallisesti 5 x 27,5 h opiskelijan työtä, mistä lähiopetuksen osuus on 45 h. Kurssilla on viikottaiset harjoitustehtävät ja projektityö.

Content scheduling

Kts. kurssin Moodle-sivu

Completion alternatives

Kts. kurssin Moodle-sivut

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

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

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

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

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

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

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

Katso tarkemmat arviointikriteerit kurssin Moodle-sivulta.

Go back to top of page