Daniel Ashbrook, PhD
Expectations and Advice for BSc Projects
Here are some notes and advice on how to do a BSc project with me. While the BSc project is not requried to be research (in contrast to the MSc thesis), it’s also not supposed to be creating a full product. Rather (summarizing the learning outcomes from below), the project is about
- finding a problem relevant to computer science,
- learning about how people have tried to solve it,
- solve the problem (or advance understanding of it), and
- explain what you did.
In this age of highly capable LLM coding agents, a BSc project can no longer be just a coded application: it must demonstrate the student’s grasp of the fundamental concepts of computer science. Physical interfaces (see my project ideas) might be a good way to do this currently, since LLMs can’t effectively work with the physical world (yet). But because they are immensely capable of writing the code that will be involved, the student’s role now needs to involve a good knowledge of the area in order to effectively direct the LLM and evaluate its results: the LLM will build whatever you tell it to, but that doesn’t mean it will be good.
Some tips:
It’s your project, not mine: I might provide the initial idea, and give lots of advice, but at the end of the day it’s your project. This means that you need to drive the work and ask me questions. The idea can, and should, evolve based on your background research and our discussions.
I don’t do well with administrative tasks. This means it’s your job to pay attention to deadlines, procedures, paperwork, and so on.
Learning outcomes for the bachelor’s project
This is from the studieordning for the BSc in Computer Science, translated by ChatGPT.
A student who has completed a bachelor’s project in computer science has acquired the following:
Knowledge of:
- The specific topics within the discipline set out in the project agreement.
- The evaluation of previous attempts to solve the specific problem and related problems.
- How to summarize the results obtained, their background and implications in a report that follows academic standards for referencing and integrity, and includes illustrations, formulae and tables to an extent appropriate to the problem and its solution.
Skills in:
- Formulating, analyzing and solving a problem relevant to computer science, and reflecting on its solution, clearly and coherently, using correct terminology.
- Critically evaluating, selecting with justification, combining and, where appropriate, developing new theories and methods, and using these to contribute to solving the problem or advancing its understanding.
- Providing a coherent and precise description of all significant aspects of the specific solution, with particular emphasis on their own contributions.
- Objectively and systematically assessing the solution’s strengths, weaknesses and shortcomings. Where relevant, experiments are included to support the assessment.
- Discussing the solution’s potential significance for the discipline and society.
Competencies in:
- Independently carrying out work relevant to computer science within a specified time frame.
- Orally summarizing and explaining the work, and discussing its theory, methods and results at an academic level.