Skip to content

Surviving DACS

This guide combines opinions and experience from several DACS students. Different contributors sometimes favor different approaches; use the ideas that fit your workload, goals, and wellbeing. The advice represents its contributors, not an official position of MSV Incognito or Maastricht University.

  • Start by understanding the problem domain and checking the literature before writing code. A relevant textbook or survey can save weeks of avoidable experimentation.
  • Write intermediate results to disk while long experiments run. A process that fails near the end should not erase days of useful output.
  • Share technical work across the group. Depending on one person for all programming may get a project through an early milestone, but it prevents everyone else from developing skills needed for later individual assignments.
  • Use version control from the first day. Commit small, meaningful changes before risky edits and before major deadlines.
  • Record dependencies, parameters, random seeds, data preparation, and execution instructions so another group member can reproduce the result.
  • Learn enough LaTeX or another agreed writing workflow to contribute effectively to the report.
  • Attend project examinations and preparation meetings; they are part of understanding how your work will be assessed.
  • Start with the Maastricht University Library while signed in with your UM account.
  • Check the current course literature with the coordinator before buying a book or relying on an older edition.
  • Search the library early. If a title is unavailable, consider legal digital access, interlibrary options, or a second-hand copy.
  • Keep citation details while reading instead of reconstructing the bibliography shortly before a deadline.
  • Plan around the entire course period. Project deadlines and exam preparation often collide near the end, so beginning exam review earlier creates breathing room.
  • Do not rely on the last-minute habits that may have worked in secondary school. Later courses build directly on earlier mathematics, programming, and theory.
  • Attempt bonus and practice exercises when they are offered; they reveal misunderstandings before the exam.
  • If distractions are a problem, change the environment. Work in a library or study space, silence notifications, and use focused intervals with planned breaks.
  • Attend actively. Lectures and tutorials often contain project hints, course-specific techniques, and assessment expectations that generic online material will not cover.
  • Study with other students, but make sure you can solve and explain the material independently.
  • Begin review before the final project rush.
  • Practise with past or sample exams under realistic conditions and without notes at least once.
  • Review difficult topics with a group and explain solutions to each other.
  • During the exam, show reasoning and justify answers. If you cannot finish a calculation, explaining the correct method may still demonstrate understanding.
  • Bring permitted supplies, water, and quiet snacks, and check the examination rules in advance.

Learning to program means learning three things at once: a language and its libraries, a way to translate problems into programs, and a method for debugging those programs. Treat them as separate skills when deciding what to practise.

  • Build small programs and projects that genuinely interest you.
  • Read error messages carefully and reduce a failing program to the smallest reproducible case.
  • Learn to use your debugger, tests, formatter, version-control diff, and documentation search.
  • Keep a short record of errors you have solved and the reasoning that led to the fix.
  • Ask precise questions: include the goal, minimal code, actual output, expected output, and what you already tried.
  • Work through exercises; watching explanations is not a substitute for solving problems yourself.
  • Compare your reasoning with worked solutions and ask for feedback when you cannot identify your own mistake.
  • Organize review groups that separate problem-solving sessions from theory explanations.
  • Teaching a concept to someone else is an effective test of whether you understand it.
  • Visual explanations can make abstract topics more intuitive. Useful starting points include Khan Academy, MIT OpenCourseWare, and Setosa’s interactive explanations of eigenvectors and Markov chains.

Online resources supplement the course; follow the definitions, methods, and notation expected by your instructor.

  • Choose a topic whose core result is achievable within the available time, then treat ambitious extensions as optional.
  • Identify dependencies you do not control: hardware reliability, participant recruitment, data quality, compute availability, external APIs, and supervisor feedback.
  • Validate the riskiest assumption early. A small experiment in the first weeks is more valuable than discovering near the deadline that the dataset or system cannot support the idea.
  • Keep raw data, transformations, code, and results traceable and reproducible.
  • Negative or inconclusive findings can be valuable when the method is sound and limitations are explained. Never invent, omit, or alter results to make a story look better.

Grades are feedback and can matter for some opportunities, but they are not a useful measure of your worth or intelligence. Focus first on learning the foundations, completing the programme sustainably, and asking for help when you need it.

Avoid comparing grading systems or individual results too literally. Expectations differ between programmes, courses, and countries. If an application requires a conversion, use the method specified by the receiving institution.

Reuse and second-hand markets can reduce both cost and waste. Walking, cycling, public transport, repair, and sharing seldom-used items are often practical choices in Maastricht.

Begin searching early, use several channels, and verify the advertiser, property, total cost, and contract before transferring money. See the Housing Guide for a fuller checklist.

  • Cooking with housemates can save time and money and is an easy social activity.
  • Keep a few quick, nutritious meals available for deadline weeks.
  • Plan groceries before shopping and compare unit prices rather than relying only on promotions.
  • Markets, discount supermarkets, and end-of-day offers can be useful, but opening times and prices change.

Budget Bytes is one source of inexpensive recipe ideas.

  • Get some regular movement. A walk, cycle, sports club, or gym session can improve energy during long study weeks.
  • Use a screen’s night-light feature if you prefer warmer colors in the evening, but do not treat it as a replacement for breaks or sleep.
  • Keep rain protection, working bicycle lights, and a reliable lock ready.
  • Learn basic bicycle checks before buying second hand: brakes, tires, wheels, chain, lights, and gears.

Cycling is convenient in Maastricht. When buying a second-hand bicycle, check that the seller can reasonably account for ownership and that essential components work. Use a strong lock, park legally, and do not leave an apparently abandoned bicycle in one place for a long period.

For trains, buses, and shared bicycles, compare the current ticketing and subscription options offered by NS and OVpay.

DACS students from different years often share advice, course experience, and interests. Incognito activities, committees, study groups, sports, board games, and local events are ways to meet people beyond your immediate project group.

Ask current Incognito members where active interest groups communicate rather than relying on old invitation links. Explore Maastricht as well: Carnival, the city walls, and Sint Pietersberg are good starting points.

Technical ability matters, but organizing, communicating, mentoring, and working with people are also valuable. Possible ways to build experience include:

  • helping organize an Incognito event, career day, hackathon, LAN party, or meetup;
  • joining or starting a reading group;
  • creating a personal or open-source project;
  • helping another student understand a topic;
  • taking a part-time role, internship, research opportunity, or committee position that fits your available time.

Do not pursue every opportunity at once. A smaller number of commitments completed well is more useful than a crowded schedule that damages your studies or health.

Honours and work-study programmes can provide research or industry experience, but they also require substantial time and may affect options such as studying abroad. Check current eligibility, structure, compensation, and commitments with the official programme before applying.

Compare:

  • the subject and whether it genuinely interests you;
  • supervision and expectations;
  • duration and summer commitments;
  • freedom to choose a thesis topic;
  • compensation and employment conditions;
  • opportunities to publish, attend events, or work with a company;
  • what happens if the project or partner organization changes.

Summer periods can be short, but part-time, remote, or carefully timed internships may still fit. Begin searching early and ask programme staff how an internship interacts with courses, examinations, and residence or work-permit conditions.

Open-source programmes such as Google Summer of Code can combine mentored technical work with practical experience.

A mentor can broaden your view of research, industry, and career paths. Good mentoring is specific: agree on what you want to learn, how often you will meet, and what preparation each meeting requires.

Early IT roles are easier to obtain when you can show experience through projects, open-source contributions, internships, or previous work. Keep a small portfolio that explains the problem, your contribution, the technical decisions, and what you learned.

If you need income, look for work whose schedule is compatible with projects and exams. Clarify hours, flexibility, pay, tax treatment, and employment conditions directly with the employer.

Sleep supports memory, mood, and problem-solving. Begin studying several days before an assessment so your brain has multiple nights to consolidate the material. When you are stuck late at night, stopping and returning rested can be more productive than another exhausted hour.

Small rooms can become stuffy during long work sessions. Air the room regularly and take breaks outside. If you use an air-quality or carbon-dioxide monitor, treat it as a prompt to ventilate—not as a medical diagnostic device.

  • Raise the screen so you are not bending your neck for hours.
  • Use an external keyboard and pointing device when a laptop stand makes the built-in controls uncomfortable.
  • Change posture and take movement breaks; no single posture is ideal all day.
  • Adjust lighting and text size so you are not leaning toward the screen.

Keep one trusted list of tasks and review it regularly. Break large assignments into visible next actions, note deadlines and dependencies, and decide what not to do. Tools such as Todoist or Habitica can help, but a simple notebook works too.

Commuting, cooking, cleaning, and shopping can be good times for audiobooks or podcasts. LibriVox provides free recordings of public-domain books created by volunteers.