Hide menu
This page was automatically translated from Swedish using Qwen3.5-27B-IQ4_XS. The Swedish version is considered authoritative.

TDDD83 Computer Engineering - Bachelor Project

Course Information


1. Objectives of the course TDDD83 Bachelor's Project in Computer Engineering

According to the course syllabus and the course objectives, students are expected to demonstrate competence in four areas upon completion of the course:

  1. Subject-specific knowledge
    • systematically integrate knowledge acquired during their studies, primarily in software development and industrial economics
    • apply methodological and subject-specific knowledge in computer engineering.
    • engage with relevant professional literature and relate their work to it
  2. Individual and professional skills
    • formulate research questions by deriving requirements that correspond to the real needs of customers and the market, and define a project within given timeframes
    • search for and evaluate scientific literature
  3. Work in groups and communicate
    • plan, execute, and present an independent project by taking on a programming assignment in a project group of at least six members (plan, execute, and present an independent project in a group setting)
    • express themselves professionally in writing and orally
    • critically review and discuss an independent project presented orally and in writing
  4. CDIO professionalism
    • create, analyze, and/or evaluate technical solutions
    • make judgments considering relevant scientific, societal, and ethical aspects
Students in previous years have carried out exciting projects in this course, some of which have even been commercialized, such as Yta.se – a newly launched marketplace for commercial properties. Seize the opportunity and lay the foundation for a commercial web application!

2. Course Structure

The bachelor's thesis requires students to write a bachelor's report in a group and an experience summary individually, both based on a development project. The course includes two assessment components (UPG4 and PRA2), and to pass the course, each student must present their work and individually meet the course requirements.

The course is divided into four sprints with continuous reporting. Deadlines are listed on the sprints page and in TimeEdit.

3. Principles for the Bachelor's Thesis

The following principles apply to the course:
  1. Everyone, including supervisors and examiners, treats each other with respect and strives to ensure the work progresses in a positive and constructive spirit. Developmental feedback is given openly and honestly without personal attacks.
  2. The bachelor's thesis is conducted in a group, but the assessment is individual.
  3. The entire group shares collective responsibility for the project. There is no designated project manager to drive the project.
  4. A key learning objective of the bachelor's thesis is to plan, execute, and present an independent project, which entails:
    • Students must be proactive and plan their work. More information is available on the sprints page.
    • Each student and group is responsible for tracking hours and reporting time continuously by using the template available in Lisam.
    • All group members must work on all parts of the project, including both backend and frontend implementation; responsibility should not be placed solely on the most skilled programmer. All group members must also contribute to the report. Furthermore, there must be an equitable distribution of work among group members; for instance, members are expected to contribute equally to the implementation.
  5. All information required for the course is available on the course website. If you have questions, check the course website first.
  6. A significant portion of all development work typically involves self-education. You are responsible for educating yourselves in necessary and relevant techniques and methods. The labs are provided as support to get you started.
  7. Figuring out what needs to be done and independently searching for information, for example by using Google, is a course requirement. You have considerable freedom to structure your work as long as you can justify the quality of your output. You may receive tips and feedback on your decisions from your supervisor, but you are expected to drive the work process.
  8. When emailing course instructors, always include the course code TDDD83 in the subject line; this increases the likelihood that your email will be noticed among others and that you will receive a response more quickly.

4. Course Administration

Communication

  • Current course information is always published on the course homepage. Clarifications, corrections, and updates are also posted there. You are required to keep a reasonable watch on news and changes published on the course homepage.
  • Information will also be sent via email. You are required to keep a reasonable watch on email notifications.
  • When contacting course instructors via email, always include the course code (TDDD83) in the subject line and always use the email address provided by the university.

WebReg

WebReg will be used in the course to report results. Each student needs to register at the following four locations before the respective deadlines listed in the schedule in TimeEdit:


WebReg link

Information about the component

Assessment component
1. Opposition and auscultation
Information about opposition and auscultation is available here.
UPG3: 0.5 credits
2. Bachelor's thesis
All students must register in their project groups
PRA2: 17.5 credits
3. Presentation
Information about the presentation is available here.
PRA2: 17.5 credits
4. Labs:
All students register for the labs according to the instructions here.
PRA2: 17.5 credits
 

Lisam

All written submissions for the course are made in the TDDD83 course room in Lisam according to instructions under the Bachelor's thesis tabs. Deadlines for all submissions are listed in the schedule in TimeEdit. Each group creates its own folder under "Collaboration Space" named Group 01, Group 02, Group 03, etc., and includes the following subfolders: Sprint 1, Sprint 2, Sprint 3, Sprint 4, Report. If you cannot access the course room in Lisam, check that you are registered for the course. If you are not registered, contact the academic advisor. Also, contact the course administrator and ask her to add you manually. If you need technical support, contact the IT department's help desk via email or 013-28 58 98.

Git

Git is a distributed version control system. To learn Git, visit Learn git branching, which teaches Git in a visual and interactive way.

Trello 

Each team needs to organize their work, and Trello should be used for this purpose. Trello is a free web-based system not tied to any specific development methodology. It is a simple form of whiteboard with sticky notes. Trello is expected to be used:

  • as a physical Scrum board where both the product backlog and sprint backlog are managed
  • during daily Scrum meetings
  • during sprint planning meetings
  • to assign tasks to individuals

5. Course Evaluation and Changes from the Previous Year

The following improvements were made in 2022/2023 to make the course even better:

  1. The report is written in English. The program committee wants you to use more English; furthermore, we struggle to find staff who understand Swedish well enough to review reports; finally, we all primarily learn English writing conventions (the examiner must even look up various Swedish writing rules to ensure the report looks correct).
  2. Extra guest workshop: GIT.
  3. A cheat sheet for the marketing plan will be added (during the course in 2023).

The following improvements were made in 2021 to make the course even better:

  1. Students participating in a free-mover exchange cannot take the course simultaneously.
  2. Changed the requirements for the report submitted during sprint 2.
  3. Added the requirement to update the bachelor's thesis report version 1 and submit version 2 during sprint 3.
  4. Simplified the procedure for report publication.
  5. Updated the instructions for the bachelor's thesis report.
  6. The course page has been restructured and the information updated.
  7. Added a workshop on writing the bachelor's thesis report.
  8. Moved the submission deadline for the project plan forward.
  9. Introduced two resource sessions during sprint 1: A Q&A on programming.
  10. Developed a new template for time reporting.
  11. Adapted the course for distance learning.

6. Tips

The following tips are from Isak Stigson, who completed his bachelor's thesis in 2015

Thorough Preliminary Study
Invest energy in conducting a well-thought-out preliminary study. The study lays the foundation for the entire project; with its help, you will establish a clear narrative thread and be able to justify the design and functionality of the web application. Create a survey that truly yields useful insights and that you can refer to when making decisions about what should be included in the web application.


Maintain Motivation
Reward yourself to keep your motivation high. Seeing progress is motivating. Make sure you have a list of activities or tasks to complete during the day and check them off to feel that you are moving forward. Alternatively, reward yourself after completing goals, tasks, or activities with breaks, walks, watching a funny video clip, or an episode of a series, provided you can stick to just one and continue studying afterward: "after I have studied for 30 minutes, I will have a cup of coffee" or "after I have gone through these tasks, I will go outside for five minutes."


Spread Out the Work
It is difficult to work 80 hours per week at the end, so keep track of how much time you need to invest and spread the workload over the semester.



Process-Related Methods
Working agilely (e.g., with Scrum) is intended to be flexible and not take time away from the project itself and development. However, at the beginning, it takes time to get up to speed with the process, and some methods may seem unnecessary, making it easy to neglect doing certain things fully. It is strongly recommended, however, to invest time in adopting the agile working method, as it will ultimately be both enjoyable and help the project enormously.


Group Work
To the greatest possible extent, it is recommended to sit together as a group, even if you are working on different parts of the project. This makes it easier to make quick decisions, correct minor errors, and communicate with one another.



Internal Workshops
Regardless of prior knowledge, it helps to have joint reviews of specific topics, led by a person in the group. This could involve environment setup, version control, the content of a marketing plan, or cooking good tacos. Who leads the workshop can be based on knowledge but also interest or opportunity.

Activities Outside School
Have fun and meet up outside of school; everything becomes more enjoyable and flows better.



Focus on the Group, Not the Individual
Maintain open communication and reward personal responsibility. If something goes wrong, it is the group's problem and not necessarily the individual's.


Quality Over Quantity
A well-functioning and clean web application is always better than a web application with lots of functionality that does not work.


Clear Report Structure
Last year's reports, together with appendices, were approximately 130 pages long. Just as with the preliminary study before development, it facilitates the process enormously to create a clear plan for the report before writing it. A tip could be to create headings with many levels, write a sentence about what each section should contain, and then decide on a standard for how the report should be written before starting. It is easier to remove heading levels afterward than to edit long text paragraphs.


Be Positive and Have Fun!
That is the most important thing of all!


Page responsible: Martin Sjölund
Last updated: 2026-03-12