Practical Matters

Programming 3: Techniques follows Programming 2: Basics, which is a prerequisite for taking the course. The overarching topic of the course is working in a software team. Completing the course gives you the basic skills to work as a programmer as a part of a modern software project. This implementation of the course is based on online self study. There is limited amount of contact teaching available!

Learning Outcomes

Main outcome is to extend programming skills and use of tools to working in a software team of several people. More specifically this means that the course focuses on gaining knowledge so that after the course you:

  • know how to use commonly used tools used in softawre projects.
  • know how to program modules that interact with their environment through predefined interfaces.
  • are able to interpret interface documentation
  • understand the principles of design by contract.
  • know more programming language constructs and how to use them in your programs.
  • understand the concepts of inheritance and know how to use them in your programs.

This means that you will no longer code alone. Instead, you’ll have a team in which you are an active member. In the team you have your own responsibilities the other members have theirs. In practice, the team consists of you, you project partner and the course staff. The project is implemented with the help of defined interfaces and project tools during the course.

Taking the Course

The course consists of:

  • Period 1:
    • teaching videos and recordings: published each week on Wednesday by noon in Panopto.
    • weekly exercises: Each week there are compulsory tasks in the exercises. Each week help with the exercises is available in Zoom:
      • Wednesday 12-14, Zoom
  • Periods 1 and 2:
    • exercises: in addition to the compulsory exercises, you can collect bonus points that will add 0-3 points to your exam points.
    • project work: The project takes the entire duration of the course but the majority of the work is done during the second period. During the second period TAs will help students in Zoom.

Grading

The grade of the course consists of the weekly tasks, weekly exercises, the project and the exam.

The project is graded 0-5 as follows:

  • The minimun requirement implementation gives the grade 1.
  • The basic requirement implementation is graded up to the grade 3.
  • Implementing additional features gives extra 0.5 grades per feature up to the grade 5.

In addition:

  • The compulsory tasks in the exercises need to be submitted.
  • At least one mid point submission (a so called raw submission) of the project must be made.
  • Peer review must be done.

The final grade is formed as follows:

  1. The compulsory exercise tasks, a mid-point submission and the peer-review are done:
  2. The final grade is the grade of the project reduced by one (1). This means you can pass the course with a course project implementation with the grade 2 or better. A project with the grade 5 renders 4 as the final grade.
  3. The final grade 1-5 can be achieved by taking the exam. Then the grade will be given as the mean of the exam and the project grade. In addition both need to be passed.

Note, the exam is not compulsory but it is needed with minimum requirement projects.

Communication

The course is team work both between the students and the students and the course staff. Your project partner is the most important person of this course to you. Get to know them in the beginning of the course and keep eachother up to date as the course progresses. Choose the most important person carefully. The best partnership is created when both students have similar goals and are similarly commited to taking the course.

During the course, communication is handled as follows:

  • Plussa: general information and all material needed to take the course.
  • Programming 3 Teams: TUNI Group : A channel for course discussion and peer support. The course staff is on the channel and helps during working hours.
  • Course email: prog3@tuni.fi
  • With questions about your personal studies on the course, e.g. illnesses, contact the lecturer directly by email.

Lecture 1

Luento 1

Published Wednesday 14.1. by noon.
Posting submission...