Hardware Development and Programming
Study programme title in Est.
Riistvara arendus ja programmeerimine
Study programme title in Engl.
Hardware Development and Programming
TalTech study programme code
IACM23
MER study programme code
238543
Study programme version code
IACM23/24
Faculty / college
I - School of Information Technologies
Head of study programme/study programme manager
Peeter Ellervee
Language of instruction
Estonian
Study level
Master study
ECTS credits
120
Self-paid study programme
no
Nominal study period
4 semesters
Study programme group
Engineering, Manufacturing and Technology
Broad area of study
Engineering, Manufacturing and Construction
Study field
Engineering and engineering trades
Curriculum group
Electronics and automation
Access conditions
Bachelor degree or education of corresponding qualification in accordance with admission requirements of TalTech.
Study programme aims and objectives
The goal of Hardware Development and Programming master programme is to educate creators (specifying,
designing, producing, testing) and users (specifying, installing, tuning, operating, maintaining, deposing) of embedded and electronic systems as well of control equipment.
Typical representatives of such technical systems are control and monitoring systems in various fields, diagnostic systems, control systems of technological devices and processes, building automation, security and technical systems.
Graduates of the study programme will find work as top specialists in companies that design and manage control, electronic and computer-based complete systems, as well as the design and production of corresponding components. Thorough theoretical preparation creates good prerequisites for continuing studies at doctoral level.
Show more...
Learning outcomes of the study programme
The graduate:
- has systematic overview and broad knowledge of the concepts,

theories and research methods in the field of control, computer and electronics engineering, knows trends and continues to improve his/her knowledge;
- identifies, defines and analyzes professional problems and chooses modern methods, technologies and tools to solve them;
- assesses the security and reliability risks of solutions both in the development and operation phases, implements the necessary measures for risk management;
- plans, develops and documents professional projects following recognized methodologies, good practice and ethics;
- works both independently and as a member of the project team, knows the principles of project management and, if necessary, supervises co-workers.
Show more...
Graduation requirements
Completion of the curriculum in the required amount, and the successful defence of the graduation paper in conformity with the requirements set by the TalTech Senate.
In order to obtain Cum Laude diploma the graduation paper must be defended for the grade "5" and the weighted average grade must be at least 4,600, where all grades from diploma supplement are taken into account.
Show more...
Degrees conferred
Master of Science in Engineering
Study programme version structure :
Module type
total ECTS credits
General studies
12.0
Core studies
18.0
Special studies
54.0
Free choice courses
6.0
Graduation thesis
30.0
Total
120.0
  • +
       MAIN SPECIALITY 1: Computer and Electronics Engineering
    • +
         MODULE: General Studies 12.0 ECTS credits (General studies)
      Aims
      The aim of this module is:
      - to teach recognizing business opportunities,

      and developing, evaluating and applying business ideas in various entrepreneurship environments, incl. IT areas;
      - depending on the selection of elective courses, develop professional debating and presentation skills.
      Show more...
      Learning outcomes
      After completing this module, the student:
      - assesses business opportunities and analyzes the impact of the business environment;


      - develops business idea and writes business plan in the context of team work;
      - depending on the elective courses selected, is able to use professional debating and presentation skills.
      Show more...
      Compulsory courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Entrepreneurship and Business Planning
      TMJ3300
      6.0
      4.0
      1.0
      0.0
      3.0
      E
      SK
      Total: 6.0 ECTS credits
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Semantics and Analytical Philosophy
      ITV9070
      6.0
      3.0
      2.0
      0.0
      1.0
      E
      SK
      English for Science and Research
      MLI0010
      6.0
      4.0
      0.0
      4.0
      0.0
      E
      SK
      Critical Thinking, Ethics and Scientific Literacy
      MNF5510
      6.0
      4.0
      2.0
      0.0
      2.0
      A
      SK
      Total: at least 6.0 ECTS credits
    • +
         MODULE: Core Studies 18.0 ECTS credits (Core studies)
      Aims
      To give thorough overview of basics and work principles of systems, and about design methodologies, incl.

      - to introduce modern computer systems engineering methodologies and tools;
      - to give overview of principles of computer systems reliability and fault tolerance;
      - to teach how to design and use applied data communication and data monitoring;
      - to teach using process automation methods and tools.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - uses modern computer systems engineering methodologies and tools;


      - depending on the elective courses selected, has knowledge about systems reliability, data communication, data monitoring, and/or process automation related topics.
      Show more...
      Compulsory courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Computer Systems Engineering
      IAS0320
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Total: 6.0 ECTS credits
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Applied Data Communication
      IAS0051
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Control Instrumentation
      IAS0065
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Basics of Embedded Systems
      IAS0230
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Dependability and Fault Tolerance
      IAS0530
      6.0
      4.0
      2.0
      0.0
      2.0
      E
      K
      Large-Scale Intelligent Environmental Sensing: Theory and Practice
      ITS8055
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Engineering Mathematics
      YMX8160
      6.0
      4.0
      2.5
      0.0
      1.5
      E
      SK
      Total: at least 12.0 ECTS credits
    • +
         MODULE: Projects and Practical Training 12.0 ECTS credits (Special studies)
      Aims
      The aim of this module is to:
      - teach oral and written professional expression skills;


      - teach planning, developing, presenting and defending professional projects;
      - apply teamwork when designing devices and systems, but also to develop skills for research work.
      Show more...
      Learning outcomes
      After completing this module, the student:
      - expresses himself/herself professionally both orally and in written;


      - plans, develops, presents and defends projects to develop devices and systems;
      - is able to work both individually and in a team.
      Show more...
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Research Seminar
      IAS0470
      6.0
      4.0
      2.0
      0.0
      2.0
      H
      S
      Industrial Training (Internship)
      IAS0720
      6.0
      0.0
      0.0
      0.0
      0.0
      A
      SK
      Teaching Practice (Internship)
      IAS0730
      6.0
      0.0
      0.0
      0.0
      0.0
      A
      SK
      Prototyping
      IEP1010
      6.0
      4.0
      0.0
      4.0
      0.0
      H
      SK
      Mechatronics and Smart Systems Project
      UTT0110
      6.0
      4.0
      0.0
      4.0
      0.0
      H
      K
      Total: at least 12.0 ECTS credits
    • +
         MODULE: Computer Engineering and Electronics 24.0 ECTS credits (Special studies)
      Aims
      To give thorough overview of basics and work principles of computer and electronic hardware, and about design methodologies of modern embedded systems, incl.:

      - to develop skills for systems thinking and analysis;
      - to give overview of design, modeling, verification and prototyping processes, methods and tools of modern electronic and embedded systems;
      - to give overview of electronic and embedded systems security and reliability.
      Show more...
      Learning outcomes
      Having finished the studies, a student has knowledge about embedded systems implementation and prototyping related topics. Depending on the elective courses selected:

      - applies the corresponding methods and tools of design, modeling, verification and prototyping of modern electronic and embedded systems;
      - evaluates the security and reliability of electronic and embedded systems.
      Show more...
      Compulsory courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Embedded Systems
      IAS0330
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Total: 6.0 ECTS credits
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Reliability of Chips
      IAS0370
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Microprocessor Systems
      IAS0430
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Digital Systems Modeling and Verification
      IAS0440
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Systems-on-Chip Design
      IAS0550
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Digital Systems Design with VHDL
      IAS0600
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Hardware Security
      IAS0630
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      SK
      Sensorics
      IEE1040
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Electronics
      IEE1550
      6.0
      4.0
      2.0
      1.0
      1.0
      E
      S
      RF Electronics
      IEE2560
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Networks of Smart Things
      IEE2630
      6.0
      4.0
      2.0
      1.0
      1.0
      E
      S
      Total: at least 18.0 ECTS credits
    • +
         MODULE: Software 18.0 ECTS credits (Special studies)
      Aims
      - To give overview about programming languages suitable for embedded systems and system programming, to develop programming skills in the most common general purpose languages.

      - To give overview about the principles and design of databases.
      - To give overview of cyber-security, from technical as well as from organizational aspects.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - uses programming languages suitable for embedded systems, system programming and/or common general purpose programming languages;


      - depending on the elective courses selected, has deeper knowledge about additional topics.
      Show more...
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Machine Learning for Embedded Systems
      IAS0360
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Object Oriented Programming
      IAS0410
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Analysis of Programming Languages
      IAS0450
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Cognitronics
      IEE1570
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Software Defined Electronics
      IEE2520
      6.0
      3.5
      1.5
      2.0
      0.0
      E
      S
      Databases I
      ITI0206
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Logical Programming
      ITI0211
      6.0
      4.0
      2.0
      2.0
      0.0
      H
      S
      Foundations of Cyber Security
      ITI0216
      6.0
      4.0
      1.0
      3.0
      0.0
      E
      K
      Embedded Software Workshop
      ITS8050
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Total: at least 18.0 ECTS credits
    • +
         MODULE: Free Choice Courses 6.0 ECTS credits (Free choice courses)
      Aims
      - To be able to navigate and be acquainted both in special and wider philosophical problems and topics according to student's personal goals, needs and preferences.

      - To develop the systematic thinking, ability of analysis and synthesis.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - has broadened his/her overall worldview and through that raised his/her educational level;


      - has knowledge according to specific individual goals, interests or skills according to the planned career needs and new technology trends;
      - explains and applies the knowledge obtained during the free choice studies.
      Show more...
    • +
         MODULE: Graduation Thesis 30.0 ECTS credits (Graduation thesis)
      Aims
      - To teach designing, diagnosing, implementing and developing control, electronic and embedded systems and their hardware and software components;

      - To deepen knowledge and skills about different possibilities and technologies of systems design and development;
      - To develop the skill of formalizing, justifying and presenting projects in the field of control, electronic and embedded systems.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - uses processes and methodologies of designing,

      testing, implementing and developing of control, electronic and embedded systems and their hardware and software components;
      - understands state-of-the-art technological solutions of the information society;
      - formalizes professional projects in the areas of control, electronic and embedded systems design, computer control and/or system engineering, chooses and analyzes appropriate approaches and implementation technologies, justifies different solutions and presents results;
      - is ready to participate in teamwork towards implementation of professional projects as a member as well as a leader.
      Show more...
    • +
         STANDARD STUDY PLAN: Autumn daytime study
      • +
           1st Semester
      • +
           2nd Semester
      • +
           3rd Semester
  • +
       MAIN SPECIALITY 2: Control Systems Engineering
    • +
         MODULE: General Studies 12.0 ECTS credits (General studies)
      Aims
      The aim of this module is:
      - to teach recognizing business opportunities,

      and developing, evaluating and applying business ideas in various entrepreneurship environments, incl. IT areas;
      - depending on the selection of elective courses, develop professional debating and presentation skills.
      Show more...
      Learning outcomes
      After completing this module, the student:
      - assesses business opportunities and analyzes the impact of the business environment;


      - develops business idea and writes business plan in the context of team work;
      - depending on the elective courses selected, is able to use professional debating and presentation skills.
      Show more...
      Compulsory courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Entrepreneurship and Business Planning
      TMJ3300
      6.0
      4.0
      1.0
      0.0
      3.0
      E
      SK
      Total: 6.0 ECTS credits
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Semantics and Analytical Philosophy
      ITV9070
      6.0
      3.0
      2.0
      0.0
      1.0
      E
      SK
      English for Science and Research
      MLI0010
      6.0
      4.0
      0.0
      4.0
      0.0
      E
      SK
      Critical Thinking, Ethics and Scientific Literacy
      MNF5510
      6.0
      4.0
      2.0
      0.0
      2.0
      A
      SK
      Total: at least 6.0 ECTS credits
    • +
         MODULE: Core Studies 18.0 ECTS credits (Core studies)
      Aims
      To give thorough overview of basics and work principles of systems, and about design methodologies, incl.

      - to introduce modern computer systems engineering methodologies and tools;
      - to give overview of principles of computer systems reliability and fault tolerance;
      - to teach how to design and use applied data communication and data monitoring;
      - to teach using process automation methods and tools.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - uses modern computer systems engineering methodologies and tools;


      - depending on the elective courses selected, has knowledge about systems reliability, data communication, data monitoring, and/or process automation related topics.
      Show more...
      Compulsory courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Computer Systems Engineering
      IAS0320
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Total: 6.0 ECTS credits
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Applied Data Communication
      IAS0051
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Control Instrumentation
      IAS0065
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Basics of Embedded Systems
      IAS0230
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Dependability and Fault Tolerance
      IAS0530
      6.0
      4.0
      2.0
      0.0
      2.0
      E
      K
      Large-Scale Intelligent Environmental Sensing: Theory and Practice
      ITS8055
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Engineering Mathematics
      YMX8160
      6.0
      4.0
      2.5
      0.0
      1.5
      E
      SK
      Total: at least 12.0 ECTS credits
    • +
         MODULE: Projects and Practical Training 12.0 ECTS credits (Special studies)
      Aims
      The aim of this module is to:
      - teach oral and written professional expression skills;


      - teach planning, developing, presenting and defending professional projects;
      - apply teamwork when designing devices and systems, but also to develop skills for research work.
      Show more...
      Learning outcomes
      After completing this module, the student:
      - expresses himself/herself professionally both orally and in written;


      - plans, develops, presents and defends projects to develop devices and systems;
      - is able to work both individually and in a team.
      Show more...
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Research Seminar
      IAS0470
      6.0
      4.0
      2.0
      0.0
      2.0
      H
      S
      Industrial Training (Internship)
      IAS0720
      6.0
      0.0
      0.0
      0.0
      0.0
      A
      SK
      Teaching Practice (Internship)
      IAS0730
      6.0
      0.0
      0.0
      0.0
      0.0
      A
      SK
      Prototyping
      IEP1010
      6.0
      4.0
      0.0
      4.0
      0.0
      H
      SK
      Mechatronics and Smart Systems Project
      UTT0110
      6.0
      4.0
      0.0
      4.0
      0.0
      H
      K
      Total: at least 12.0 ECTS credits
    • +
         MODULE: Control Systems 24.0 ECTS credits (Special studies)
      Aims
      To give thorough overview of basics and work principles of control systems, and about design methodologies of modern embedded systems, incl.:

      - to develop skills for systems thinking and analysis;
      - to give an overview of process modeling and control problems;
      - to teach stating and solving problems of industrial and buildings automation, analyzing and critically evaluating different solutions;
      - to teach robot engineering applications.
      Show more...
      Learning outcomes
      Having finished the studies, a student has knowledge about control systems design, implementation and prototyping related topics. Depending on the elective courses selected:

      - knows problems and possible solution of process modeling and control problems;
      - analyzes, evaluates and justifies different control systems solutions;
      - knows construction of robots and ways of their control and can use them.
      Show more...
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Automation of Smart Buildings
      ATR0130
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Advanced Robotics
      EEM0080
      6.0
      4.0
      1.0
      3.0
      0.0
      E
      K
      Integrated Operation and Control of HVAC Systems
      EKK5090
      6.0
      4.0
      3.0
      0.0
      1.0
      E
      S
      Building Services Technology
      EKK5100
      6.0
      4.0
      3.0
      0.0
      1.0
      E
      S
      Intelligent Control Systems
      IAS0023
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Modeling and Identification
      IAS0031
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Robotics
      IAS0060
      6.0
      4.0
      1.0
      3.0
      0.0
      E
      K
      Intelligent Buildings
      IAS0190
      6.0
      4.0
      2.0
      2.0
      0.0
      A
      SK
      Embedded Systems
      IAS0330
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Sensorics
      IEE1040
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Networks of Smart Things
      IEE2630
      6.0
      4.0
      2.0
      1.0
      1.0
      E
      S
      Total: at least 24.0 ECTS credits
    • +
         MODULE: Software 18.0 ECTS credits (Special studies)
      Aims
      - To give overview about programming languages suitable for embedded systems and system programming, to develop programming skills in the most common general purpose languages.

      - To give overview about the principles and design of databases.
      - To give overview of cyber-security, from technical as well as from organizational aspects.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - uses programming languages suitable for embedded systems, system programming and/or common general purpose programming languages;


      - depending on the elective courses selected, has deeper knowledge about additional topics.
      Show more...
      Elective courses:
      Course title
      Course code
      ECTS credits
      Hours per week
      Lectures
      Practices
      Exercises
      E/P-F.Ass./ Gr.Ass.
      Teaching semester
      Machine Learning for Embedded Systems
      IAS0360
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Object Oriented Programming
      IAS0410
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Analysis of Programming Languages
      IAS0450
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      S
      Cognitronics
      IEE1570
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Software Defined Electronics
      IEE2520
      6.0
      3.5
      1.5
      2.0
      0.0
      E
      S
      Databases I
      ITI0206
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Logical Programming
      ITI0211
      6.0
      4.0
      2.0
      2.0
      0.0
      H
      S
      Foundations of Cyber Security
      ITI0216
      6.0
      4.0
      1.0
      3.0
      0.0
      E
      K
      Embedded Software Workshop
      ITS8050
      6.0
      4.0
      2.0
      2.0
      0.0
      E
      K
      Total: at least 18.0 ECTS credits
    • +
         MODULE: Free Choice Courses 6.0 ECTS credits (Free choice courses)
      Aims
      - To be able to navigate and be acquainted both in special and wider philosophical problems and topics according to student's personal goals, needs and preferences.

      - To develop the systematic thinking, ability of analysis and synthesis.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - has broadened his/her overall worldview and through that raised his/her educational level;


      - has knowledge according to specific individual goals, interests or skills according to the planned career needs and new technology trends;
      - explains and applies the knowledge obtained during the free choice studies.
      Show more...
    • +
         MODULE: Graduation Thesis 30.0 ECTS credits (Graduation thesis)
      Aims
      - To teach designing, diagnosing, implementing and developing control, electronic and embedded systems and their hardware and software components;

      - To deepen knowledge and skills about different possibilities and technologies of systems design and development;
      - To develop the skill of formalizing, justifying and presenting projects in the field of control, electronic and embedded systems.
      Show more...
      Learning outcomes
      Having finished the studies, a student:
      - uses processes and methodologies of designing,

      testing, implementing and developing of control, electronic and embedded systems and their hardware and software components;
      - understands state-of-the-art technological solutions of the information society;
      - formalizes professional projects in the areas of control, electronic and embedded systems design, computer control and/or system engineering, chooses and analyzes appropriate approaches and implementation technologies, justifies different solutions and presents results;
      - is ready to participate in teamwork towards implementation of professional projects as a member as well as a leader.
      Show more...
    • +
         STANDARD STUDY PLAN: Autumn daytime study
      • +
           1st Semester
      • +
           2nd Semester
      • +
           3rd Semester