This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Final project

Project topic

The topic of the final project is chosen by the student himself. The project must be approved by the deadline indicated on the subject's main page. We recommend one of the following two types:

  • Custom Project: Choose your own project and work on it. The project can be linked to your bachelor's or master's thesis.
  • Kaggle project: Kaggle is a popular website with publicly available datasets and competitions. Choose one competition and participate in it. Although you can choose any competition, we recommend one of the following:
    • Facial Keypoints Detection predicts keypoint positions in 96×96 pixel facial images.
    • Titanic predicts whether a passenger survived the sinking of the Titanic based on personal data.
    • HappyWhale is a challenging large dataset to recognize individual whales and dolphins from images.

For a Kaggle project, we recommend the first two datasets. There are no restrictions on how to proceed. You can try both traditional techniques and neural networks. If you are at a loss, check the highly rated solutions. The last dataset is for those who want to rise to the challenge. Form a group of up to three students and impress us with your skills.

Project approval

The project must be approved after a personal discussion with the teacher (optimally after the end of any class or at the last lecture dedicated to projects). Think of a topic and a short description (under a minute) of what you want to do. Please tell us your Github account when discussing. After the topic is approved, we will invite you to Github organization, where you will create a Project_{CVUT login} folder.

Development of the project

The structure of the final project must approximately correspond to the ImageInspector structure from the lecture. For your reference, we have created a example for this package.

The project must meet the following structural requirements:

  • The project must be versioned using Git and uploaded to Github or a similar service.
  • The root folder of the package must contain LICENSE, Project.toml and README.md with a short description written in Markdown . Including .gitignore is recommended.
  • The examples folder should contain scripts or example notebooks to run the package.
  • The src folder should contain all the source code. Individual functions should be grouped into files.
  • The tests folder should contain unit tests. Unit tests should not use external data.
  • Additional folders can be added.
  • The most important functions must contain at least a short documentation.

There are no strict guidelines for content requirements. The only requirement is that the contents of the package must be non-trivial. For example, for Kaggle competitions, it is not enough to use a package to process the data and run the classifier. The project should try to use Julia's strengths such as multiple dispatch, broadcasting or factoring the code into simple functions.

Project defense

Students apply for the defense of the project at KOS. The defense takes place through a personal consultation with one of the teachers. The student can bring his own laptop, or the defense will take place on a faculty computer. The defense will proceed in the following manner:

  • Brief explanation of the problem and its importance.
  • Showing basic results. It is recommended to present a combination of running functions and showing already obtained results.
  • Showing and running unit tests. This section will always run on a faculty computer to demonstrate portability.
  • Showing Git commit history. A project should not contain only one commit.
  • A brief description of the package structure.
  • Showing one selected function and describing its content.
courses/b0b36jul/en/project/start.txt · Last modified: 2022/10/24 14:58 by adamluk3