Conclusion (including information about exam)

You have now seen all the assignments. We have gone through the course at least somehow in spite of corona.

At this point, it is good to stop for a minute to think about all you have learned. The learning goal of this course was to learn how to independently design and implement small programs. The students who created their first Hello World program at the end of August have made huge progress in programming during just one year. The same is naturally true with all who finished the course.

Instructions for exam

The exam will be electronic. The exam material includes all the Plussa material including the weekly assignments. Therefore, the exam is the same for all and does not change depending on how many projects you have submitted.

You are not allowed to have any course material with you in the exam, but the questions will include code snippets and other material that shows you, for example, the necessary syntax and other things that would require memorizing. The point is not to memorize things that you could check in manuals, websites, etc. when programming. Instead, the purpose of the exam is to test your ability to understand the relevant concepts and to master the thinking style of a programmer.

The exam will include programming exercises, exercises requiring reading/understanding code, open questions, and a multiple choice question.

There will be three exams:

  • 26.4-23.5.2021
  • 9.8-5.9.2021 (1. re-exam)
  • 27.9-17.10.2021 (2. and last re-exam).

About Git

For version control, we have used the GitLab service provided by the university. The central repositories created for this course will be deleted six months after the course has ended. If you wish to save your assignments, please remember to store them in your own computer or elsewhere before they are deleted.

If you intend to learn more about programming, it is advisable to get to know other Git central data repository providers, such as GitHub, where you can create both private and public repositories. You have to sign in to GitHub, and when signing in, you should state that you are a student. This allows you to access more features. The book Pro Git that we recommended in the section about version control will be useful when you learn to use GitHub.

The teachers who mentor the software engineering students have often stressed the importance of having something to demonstrate your abilities when you apply for a job in programming. GitHub is a great place for putting together a ”portfolio” style package of your knowledge and abilities. You now have all the information you need on Git to start a portfolio.

However, it is good to remember that it is not recommended to publish just any assignments from your programming courses, but rather to carefully select the published projects so that they demonstrate your best abilities. The purpose of the last assignments of the course was to inspire the students to try their own ways and to complete projects of their own.

If you continue developing the programs you have started on this course, and the final product is so good that it is worth publishing, please remember that the program is not completely of your own doing if you have started working on it with a program code template from this course. On such occasions, you have to have the permission of all the writers of the code if you want to publish it.

Your ”programming portfolio” will certainly look better if you have invented your project on your own, but the course projects can hopefully help you advance by giving you new ideas.

For the future

Our wish is that every student who has completed this course will give feedback. This course is still under ongoing development, and it is very important to get feedback so that we will know what to improve on next implementations.

The course ”Programming 3: Interfaces and techniques” is a continuation of this course. After the current course (”Programming 2: Basics”), you can continue your studies directly to other programming courses, such as ”Data structures and algorithms 1” or ”Concurrency”. (From next autumn on, ”Data structures and algorithms 1” will be held in the autumn, and ”Programming 3” in the spring.)

A minor subject in software engineering is a great combination with almost any major. We hope that many of you are interested in continuing your studies of software engineering!