Conclusion (including information about exam)

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

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 only a year ago 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.

Qt Creator has not been installed in Exam computers, but they have CodeBlocks, which you can use to write, test, and run C++ programs. On the other hand, the programs required in exam need not be fully working, but small syntax errors and such will be ignored. Therefore consider carefully, if it is reasonable to use time (in vain) in testing and finishing your programs. You can also write your codes directly in answer boxes.

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

There will be three exam instances:

  • 22.4-20.5.2024
  • 27.5-10.6.2024
  • 30.7-16.9.2024.

Announcements about exams will be given in Plussa news and sent as Sisu messages.

Highly important

There will be three exam instances in the course. For each exam that you will take, you must separately enroll in Sisu. Enrollment in Sisu expires on the same date when the exam window in Exam system will be closed. If you miss enrollment in Sisu, you cannot get a grade from the course.

If your aim is to pass the course without an exam, you must enroll in that option in Sisu. Otherwise, no grade will appear in Sisu. You can enroll in this option (and it is recommended) for safety’s sake, just in case you fail in the exam. Anyway, the best grade remains in force.

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.

Continuation courses of this course are the courses ”Data structures and algorithms 1” and ”Programming 3: Interfaces and techniques”. After the current course, you can also continue your studies directly to other programming courses, such as ”Concurrency”.

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!