<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://teaching.healthtech.dtu.dk:443/22116/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop</id>
	<title>22116 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://teaching.healthtech.dtu.dk:443/22116/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop"/>
	<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php/Special:Contributions/WikiSysop"/>
	<updated>2026-07-04T04:36:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=AI_guidelines_for_the_course&amp;diff=329</id>
		<title>AI guidelines for the course</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=AI_guidelines_for_the_course&amp;diff=329"/>
		<updated>2026-06-24T13:30:24Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
It is strongly preferred that you do &#039;&#039;&#039;not&#039;&#039;&#039; use AI in the course. The skills you need to acquire are best acquired by your own effort or perhaps in a discussion with a fellow student or TA/teacher.&amp;lt;br&amp;gt;&lt;br /&gt;
However, a proper responsible use of AI can to some extent replace a discussion with a fellow human.&lt;br /&gt;
&lt;br /&gt;
The purpose of AI in the course is to help you learn - not to solve your problems for you - possibly (likely) in a way you do not understand.&amp;lt;br&amp;gt;&lt;br /&gt;
DTU&#039;s honour code is to be followed in all DTU activities; courses and exams among them. The honour code has little or no influence if you are employing &amp;quot;good use&amp;quot; of AI, but upon employing &amp;quot;bad use&amp;quot; of AI, you have to cite your source every time.&lt;br /&gt;
&lt;br /&gt;
A simple way for yourself to determine if you have used AI wrong is: &lt;br /&gt;
* Can you explain how your solution works?&lt;br /&gt;
* Do you think &#039;&#039;&#039;I&#039;&#039;&#039; (the teacher) will be happy with the explanation? (a bit subjective)&lt;br /&gt;
* Have functions/methods been used which were not intended for the lesson?&lt;br /&gt;
&lt;br /&gt;
== Good use ==&lt;br /&gt;
Query the AI for knowledge:&lt;br /&gt;
Asking questions like &amp;quot;how does this function/method work?&amp;quot;, &amp;quot;what is the significance of this?&amp;quot;, &amp;quot;explain that&amp;quot; &amp;quot;why is this a good/bad idea&amp;quot; are good types of questions. They help you learn.&lt;br /&gt;
* Critical thinking&lt;br /&gt;
* Judgement&lt;br /&gt;
* Analysis&lt;br /&gt;
&lt;br /&gt;
== Bad use ==&lt;br /&gt;
Query the AI for solutions: Asking questions like &amp;quot;how do I do this?&amp;quot;, &amp;quot;can you make python code that does this?&amp;quot; simply solves a problem for you - maybe in a way that is not intended in the course progression and you do not really understand, because it is either outside or too early in the curriculum.&amp;lt;br&amp;gt;&lt;br /&gt;
* Copy/paste behavior&lt;br /&gt;
* Potential for over-reliance - not developing problem-solving skills&lt;br /&gt;
&lt;br /&gt;
== Enforcement ==&lt;br /&gt;
* AI is not allowed at exam&lt;br /&gt;
* Exercises made by AI are voided&lt;br /&gt;
How will exercises be recognized as AI generated?&amp;lt;br&amp;gt;&lt;br /&gt;
As AI is trained on &amp;quot;the code available on the internet&amp;quot; almost all AI generated code will contain elements not in the curriculum or not yet gone through in the course progression. Any code that contains these elements is therefore voided.&amp;lt;br&amp;gt;&lt;br /&gt;
This may as a side effect hit advanced students who know more python than expected. If you want to use these elements to show your skill, fine. But do ALSO make a solution without the elements. If you can not do that, maybe you need to study the subject some more and think a bit better.&lt;br /&gt;
&lt;br /&gt;
== Consideration ==&lt;br /&gt;
The exam will evaluate how good your programming skills are.&amp;lt;br&amp;gt;&lt;br /&gt;
Not how good your skills are in making the AI code for you.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=328</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=328"/>
		<updated>2026-06-24T12:30:06Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:yellow&amp;quot;&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=327</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=327"/>
		<updated>2026-06-24T12:19:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* How much is required to pass? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You must take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you have to think your way through.&lt;br /&gt;
&lt;br /&gt;
You can read these American studies showing how the use of AI damages your thinking:&lt;br /&gt;
[https://www.microsoft.com/en-us/research/wp-content/uploads/2025/01/lee_2025_ai_critical_thinking_survey.pdf The Impact of Generative AI on Critical Thinking: Self-Reported Reductions in Cognitive Effort and Confidence Effects From a Survey of Knowledge Workers] and [https://arxiv.org/abs/2506.08872 Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task].&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in. You are required to have worked on all assignments to pass - no matter the weight of the assignments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=326</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=326"/>
		<updated>2026-06-24T12:11:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Requirements for taking the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You must take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you have to think your way through.&lt;br /&gt;
&lt;br /&gt;
You can read these American studies showing how the use of AI damages your thinking:&lt;br /&gt;
[https://www.microsoft.com/en-us/research/wp-content/uploads/2025/01/lee_2025_ai_critical_thinking_survey.pdf The Impact of Generative AI on Critical Thinking: Self-Reported Reductions in Cognitive Effort and Confidence Effects From a Survey of Knowledge Workers] and [https://arxiv.org/abs/2506.08872 Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task].&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=325</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=325"/>
		<updated>2026-06-24T11:40:59Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:yellow&amp;quot;&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=324</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=324"/>
		<updated>2026-06-24T11:40:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;bgcolor:yellow&amp;quot;&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=323</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=323"/>
		<updated>2026-06-24T11:39:04Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=322</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=322"/>
		<updated>2026-06-24T11:38:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=321</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=321"/>
		<updated>2026-06-24T11:37:37Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font bgcolor=&amp;quot;#00ffff&amp;quot;&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=320</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=320"/>
		<updated>2026-06-24T11:37:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font bgcolor=&amp;quot;yellow&amp;quot;&amp;gt;&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=319</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=319"/>
		<updated>2026-06-23T09:13:18Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Competences */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
Using AI can actively prevent you from acquiring the skills.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=318</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=318"/>
		<updated>2026-06-23T09:09:56Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=317</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=317"/>
		<updated>2026-06-23T09:09:36Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Prerequisites:&#039;&#039;&#039; Course 02002: It is &#039;&#039;&#039;STRONGLY&#039;&#039;&#039; recommended to test yourself against the [https://02002.compute.dtu.dk/additional/previous_exams.html#previous-exams exams of 02002] before taking this course, if you come from abroad.&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Programme&amp;diff=316</id>
		<title>Programme</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Programme&amp;diff=316"/>
		<updated>2026-06-23T09:03:30Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Collection of files]]&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;used in the exercises and lessons&amp;lt;/font&amp;gt; - all gathered here.&lt;br /&gt;
&lt;br /&gt;
* 31/08 Lesson 1: [[Python recap]]&lt;br /&gt;
* 07/09 Lesson 2: [[The path and simple file reading]]&lt;br /&gt;
* 14/09 Lesson 3: [[Pseudocode and comments]]&lt;br /&gt;
* 21/09 Lesson 4: [[String manipulation]]&lt;br /&gt;
* 28/09 Lesson 5: [[Exceptions and bug handling]]&lt;br /&gt;
* 05/10 Lesson 6: [[Stateful parsing]], [https://evaluering.dtu.dk/ Midterm evaluation] - part 1&lt;br /&gt;
* Fall holidays&lt;br /&gt;
* 19/10 Lesson 7 [[List manipulation]], [https://evaluering.dtu.dk/ Midterm evaluation] - part 2&lt;br /&gt;
* 26/10 Lesson 8: [[Functions]]&lt;br /&gt;
* 02/11 Lesson 9: [[Simple pattern matching]]&lt;br /&gt;
* 09/11 Lesson 10: [[Set techniques]]&lt;br /&gt;
* 16/11 Lesson 11: [[Dict techniques]]&lt;br /&gt;
* 23/11 Lesson 12: [[Regular expressions]]&lt;br /&gt;
* 30/11 Lesson 13: [[Python object model]]&lt;br /&gt;
* 09/12 Exam - [http://eksamensplan.dtu.dk/ the official DTU exam plan] [https://student.dtu.dk/eksamen/eksamensdatoer Exam dates]&lt;br /&gt;
&lt;br /&gt;
== Curious about the exam ==&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/index.php/How_the_course_is_conducted#Preparation_for_exam Read this]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Programme&amp;diff=315</id>
		<title>Programme</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Programme&amp;diff=315"/>
		<updated>2026-06-23T09:02:41Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Collection of files]]&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;used in the exercises and lessons&amp;lt;/font&amp;gt; - all gathered here.&lt;br /&gt;
&lt;br /&gt;
* 31/08 Lesson 1: [[Python recap]]&lt;br /&gt;
* 07/09 Lesson 2: [[The path and simple file reading]]&lt;br /&gt;
* 14/09 Lesson 3: [[Pseudocode and comments]]&lt;br /&gt;
* 21/09 Lesson 4: [[String manipulation]]&lt;br /&gt;
* 28/09 Lesson 5: [[Exceptions and bug handling]]&lt;br /&gt;
* 05/10 Lesson 6: [[Stateful parsing]], [https://evaluering.dtu.dk/ Midterm evaluation] - part 1&lt;br /&gt;
* Fall holidays&lt;br /&gt;
* 19/10 Lesson 7 [[List manipulation]], [https://evaluering.dtu.dk/ Midterm evaluation] - part 2&lt;br /&gt;
* 26/10 Lesson 8: [[Functions]]&lt;br /&gt;
* 02/11 Lesson 9: [[Simple pattern matching]]&lt;br /&gt;
* 09/11 Lesson 10: [[Set techniques]]&lt;br /&gt;
* 16/11 Lesson 11: [[Dict techniques]]&lt;br /&gt;
* 23/11 Lesson 12: [[Regular expressions]]&lt;br /&gt;
* 30/11 Lesson 13: [[Python object model]]&lt;br /&gt;
* 10/12 Exam - [http://eksamensplan.dtu.dk/ the official DTU exam plan] [https://student.dtu.dk/eksamen/eksamensdatoer Exam dates]&lt;br /&gt;
&lt;br /&gt;
== Curious about the exam ==&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/index.php/How_the_course_is_conducted#Preparation_for_exam Read this]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=314</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=314"/>
		<updated>2026-06-23T08:57:25Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Course details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2026&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Programme_Fall_2025&amp;diff=313</id>
		<title>Programme Fall 2025</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Programme_Fall_2025&amp;diff=313"/>
		<updated>2026-06-23T08:57:01Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Collection of files&amp;#039;&amp;#039;&amp;#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;used in the exercises and lessons&amp;lt;/font&amp;gt; - all gathered here.  * 01/09 Lesson 1: Python recap * 08/09 Lesson 2: The path and simple file reading * 15/09 Lesson 3: Pseudocode and comments * 22/09 Lesson 4: String manipulation * 29/09 Lesson 5: Exceptions and bug handling * 06/10 Lesson 6: Stateful parsing, [https://evaluering.dtu.dk/ Midterm evaluation] - part 1 * Fall holidays * 20/10 Lesson 7 List...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;[[Collection of files]]&#039;&#039;&#039; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;used in the exercises and lessons&amp;lt;/font&amp;gt; - all gathered here.&lt;br /&gt;
&lt;br /&gt;
* 01/09 Lesson 1: [[Python recap]]&lt;br /&gt;
* 08/09 Lesson 2: [[The path and simple file reading]]&lt;br /&gt;
* 15/09 Lesson 3: [[Pseudocode and comments]]&lt;br /&gt;
* 22/09 Lesson 4: [[String manipulation]]&lt;br /&gt;
* 29/09 Lesson 5: [[Exceptions and bug handling]]&lt;br /&gt;
* 06/10 Lesson 6: [[Stateful parsing]], [https://evaluering.dtu.dk/ Midterm evaluation] - part 1&lt;br /&gt;
* Fall holidays&lt;br /&gt;
* 20/10 Lesson 7 [[List manipulation]], [https://evaluering.dtu.dk/ Midterm evaluation] - part 2&lt;br /&gt;
* 27/10 Lesson 8: [[Functions]]&lt;br /&gt;
* 03/11 Lesson 9: [[Simple pattern matching]]&lt;br /&gt;
* 10/11 Lesson 10: [[Set techniques]]&lt;br /&gt;
* 17/11 Lesson 11: [[Dict techniques]]&lt;br /&gt;
* 24/11 Lesson 12: [[Regular expressions]]&lt;br /&gt;
* 01/12 Lesson 13: [[Python object model]]&lt;br /&gt;
* 10/12 Exam - [http://eksamensplan.dtu.dk/ the official DTU exam plan] [https://student.dtu.dk/eksamen/eksamensdatoer Exam dates]&lt;br /&gt;
&lt;br /&gt;
== Curious about the exam ==&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/index.php/How_the_course_is_conducted#Preparation_for_exam Read this]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=312</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=312"/>
		<updated>2026-06-23T08:56:51Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Archive of old course programmes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2025&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
[[Programme Fall 2025]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=311</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=311"/>
		<updated>2026-06-12T13:14:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Course details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2025&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22118/index.php/Mini_projects Mini projects] Smaller projects (larger than exercises) for practicing programming.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
None yet, as the course is new.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=310</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=310"/>
		<updated>2026-01-14T07:48:26Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Requirements for taking the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You most take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you have to think your way through.&lt;br /&gt;
&lt;br /&gt;
You can read these American studies showing how the use of AI damages your thinking:&lt;br /&gt;
[https://www.microsoft.com/en-us/research/wp-content/uploads/2025/01/lee_2025_ai_critical_thinking_survey.pdf The Impact of Generative AI on Critical Thinking: Self-Reported Reductions in Cognitive Effort and Confidence Effects From a Survey of Knowledge Workers] and [https://arxiv.org/abs/2506.08872 Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task].&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=309</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=309"/>
		<updated>2026-01-14T07:46:35Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Requirements for taking the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You most take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you have to think your way through.&lt;br /&gt;
&lt;br /&gt;
You can read these American studies showing how the use of AI damages your thinking: [https://www.microsoft.com/en-us/research/wp-content/uploads/2025/01/lee_2025_ai_critical_thinking_survey.pdf The Impact of Generative AI on Critical Thinking: Self-Reported&lt;br /&gt;
Reductions in Cognitive Effort and Confidence Effects From a Survey of Knowledge Workers], [https://arxiv.org/abs/2506.08872 Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task].&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=308</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=308"/>
		<updated>2025-12-22T14:54:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures. &amp;lt;!-- as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2025&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading - read or fail.&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
None yet, as the course is new.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=307</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=307"/>
		<updated>2025-12-22T14:53:01Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You most take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you have to think your way through.&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=306</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=306"/>
		<updated>2025-12-22T14:50:23Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Requirements for taking the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You most take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you have to think your way through.&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=305</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=305"/>
		<updated>2025-12-22T14:49:32Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Requirements for taking the course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You most take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
Using AI/ChatGPT is a bad idea. From my observations and exam results, the use of AI hinders the acquisition of &amp;quot;programmatic thinking&amp;quot;. This skill is what the course is about - the core competence. When asking AI about a problem, you are usually served a solution. Even if you understand the solution, then you have not gone through the process of thinking the solution. It weakens your thinking enormously, you don&#039;t &amp;quot;own&amp;quot; the solution and you are not getting used to thinking about programming problems. This becomes a big problem at exam time, because you think you are OK, but you have not acquired the correct thinking and the exam will seem very hard. Yes, there are a number of elements in the exam that we have been going through in the course, but there are also new elements (not python elements, but logic problems) where you think your way through.&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=304</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=304"/>
		<updated>2025-12-22T14:32:16Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Peer evaluation of exercises */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirements for taking the course ==&lt;br /&gt;
&#039;&#039;&#039;You most take this seriously. Half of the students failed the course first year it ran.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This course requires that you have previously taken 5 ECTS in a beginner course in programming. DTU students have taken [https://kurser.dtu.dk/course/02002 02002 Computer Programming (Polytechnical Foundation)], however foreign Master students are more of a mixed group. This course can NOT be treated as your first real programming course - it is your second, and the difficulty of the course and exam reflects that. I have tried to make the course accessible to people with a moderate background in programming, but it is not a free ride. I have an obsolete beginner course [https://teaching.healthtech.dtu.dk/22101/ 22101 Introduction to programming in Life Science using Python] which you can learn from on your own, if your background is insufficient and you want to take this course anyway.&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=303</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=303"/>
		<updated>2025-12-22T12:32:46Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out &#039;&#039;&#039;.py&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam &#039;&#039;&#039;.py&#039;&#039;&#039; file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=302</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=302"/>
		<updated>2025-12-22T12:31:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* How much is required to pass? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The &#039;&#039;&#039;.py&#039;&#039;&#039; file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=301</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=301"/>
		<updated>2025-12-22T12:30:53Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Peer evaluation of exercises */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, you will be asked many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The .py file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=300</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=300"/>
		<updated>2025-12-22T12:27:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some hand-in time irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The .py file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=299</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=299"/>
		<updated>2025-12-22T12:27:22Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;There will be some irregularity at the end of the semester, due to exams. Pay attention.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. You can only evaluate if you have handed in exercises, so the hand-in is required.&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a Jupyter Notebook for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation. Many people use VScode for this, but it is up to you. In the last part of the course, this is changed to a &#039;&#039;&#039;.py&#039;&#039;&#039; file, to get you used to how the exam will be.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
DTU Learn does not allow for late hand-in. Set an alarm on your phone to remember.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The .py file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=298</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=298"/>
		<updated>2025-11-26T22:08:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
=== How much is required to pass? ===&lt;br /&gt;
The .py file is mostly structure and does not give much advice in how to solve the assignments. It is for you to show that you have learned to analyze a programming problem and come up with a solution. As you will be given both the input files and the output files, you can check how well you have succeeded. A correct solution to both assignments is an automatic pass. A correct solution to only one assignment, without any constructive work (in my evaluation) on the other assignment is not enough for a pass. No correct solutions, but writing good sensible code (again in my evaluation) can pass, as it shows you have learned essential things in the course. Comments are part the the essential things.&amp;lt;br&amp;gt;&lt;br /&gt;
In the end, unless you passed automatically, it comes down to a overall evaluation of your hand-in.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=297</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=297"/>
		<updated>2025-10-28T09:45:11Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Course details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other.&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2025&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
None yet, as the course is new.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=296</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=296"/>
		<updated>2025-10-27T13:54:42Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Course details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other.&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2025&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins] Apparently slightly bugged currently&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
None yet, as the course is new.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=295</id>
		<title>22116/22166 Python programming in Life Science</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=22116/22166_Python_programming_in_Life_Science&amp;diff=295"/>
		<updated>2025-10-27T13:54:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Course details */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&#039;&#039;&#039;Teacher:&#039;&#039;&#039; [https://www.inside.dtu.dk/da/dtuinside/generelt/telefonbog/person?id=816&amp;amp;cpid=214027&amp;amp;tab=2&amp;amp;qt=dtupublicationquery Peter Wad Sackett], pwsa@dtu.dk &amp;lt;!--, [https://www.inside.dtu.dk/en/dtuinside/generelt/telefonbog/person?id=130596&amp;amp;tab=0 Gisle Alberg Vestergaard], gisves@dtu.dk --&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Language:&#039;&#039;&#039; The course is taught in English.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools:&#039;&#039;&#039; The course is using the standard DTU python setup, see [https://pythonsupport.dtu.dk/ https://pythonsupport.dtu.dk/] if you do not have it already.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Textbooks:&#039;&#039;&#039; I believe students should not pay at lot of money for textbooks. I will use powerpoints, videos and references to online resources. You can find the material under the individual lessons in the [[Programme]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Location:&#039;&#039;&#039; Building 358, room 60b + streaming to room 046, no matter what your plan says. Course 22116 and 22166 are taught together.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time:&#039;&#039;&#039; Monday 13:00 - 17:00, module E2-A.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Course details ==&lt;br /&gt;
There are no plans for streaming the lectures as there already are some recorded video lectures for each session. However, with over 180 students two teaching rooms must be used. I will stream the teaching from one room to the other.&lt;br /&gt;
&lt;br /&gt;
[[Programme]] Fall 2025&lt;br /&gt;
&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/22116/progress/ See the progress of your hand-ins]&lt;br /&gt;
&lt;br /&gt;
[[How the course is conducted]] Required reading&lt;br /&gt;
&lt;br /&gt;
[[Course Survival Guide]] Useful when you get stuck early&lt;br /&gt;
&lt;br /&gt;
[[AI guidelines for the course]] You want to use AI, then you MUST read it.&lt;br /&gt;
&lt;br /&gt;
[[Good code]] Always keep this in mind&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1wEs2xS-7DmpMvtosweTzYw0Fx3_XCbz4k5cuN5tJVK8/edit?usp=sharing Put yourself on the Get Help list]&lt;br /&gt;
&lt;br /&gt;
[[Course First Aid]]&lt;br /&gt;
&lt;br /&gt;
[[Grading]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Competences ==&lt;br /&gt;
A general engineering competence skill is the ability to explain the process through which you obtain your results - how else can they be trusted?&lt;br /&gt;
Learning to program is a great way to practice that skill, since you have to explain to the computer how it is supposed to solve the task you give.&lt;br /&gt;
This explanation must pay attention to detail, specifically identifying and ordering the elements of the solution. &lt;br /&gt;
This nurtures and strengthens an analytical and structured mindset which is also an essential engineering competence skill.&lt;br /&gt;
Training these skills is obviously beneficial for the student, but they do not come for free - it is &#039;&#039;&#039;hard work&#039;&#039;&#039;, so put the time aside for it.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Online: [https://teaching.healthtech.dtu.dk/material/22116/clean_code.html Clean Code] by Lukasz Dynowski. An amazing read that is mandatory. Read it once around lesson 5 and once more around lesson 8.&lt;br /&gt;
* Info: [[Biological knowledge needed in the course]]&lt;br /&gt;
* Online: [https://rosalind.info/problems/locations/ Rosalind project] Python exercises at different levels for practicing &lt;br /&gt;
&lt;br /&gt;
* Online: [https://www.coursera.org/learn/python Coursera course: Programming for Everybody] is a beginner course in Python. Everyone who wants to prepare for course 22116/22166 can start here. Just get far enough so you understand what programming is and how it works. That will benefit you a lot as a newbie. The [https://teaching.healthtech.dtu.dk/material/22118/CourseraPythonBook_270.pdf Coursera textbook].&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Learning Python&#039;&#039;, 5th ed. by Mark Lutz (O&#039;Reilly) ISBN: 978-1-449-35573-9. This is the best Python book I have read. It covers all the basics and then some. All from the perspective of being a novice programmer. However, it is a brick; big, heavy and unwieldy. If you only want one Python book, then this should be the one. The course will not be taught from this book, but it could be good to have as a Python reference manual.&lt;br /&gt;
&lt;br /&gt;
* Book: &#039;&#039;Python Crash Course: A Hands-On, Project-Based Introduction to Programming&#039;&#039; by Eric Matthes (No Starch Press) ISBN: 1593276036, 9781593276034. A pretty OK book which leads you into the Python world without too many distracting points and theoretical contemplation.&lt;br /&gt;
&lt;br /&gt;
* Online: [https://wiki.python.org/moin/BeginnersGuide/NonProgrammers Python for Non-Programmers]&lt;br /&gt;
* Online: [https://docs.python.org/3/tutorial/ Official Python 3 tutorial]&lt;br /&gt;
* Online: [https://docs.python.org/3/reference/index.html Python 3 reference manual]&lt;br /&gt;
* Online: [https://docs.python.org/3/library/index.html Python 3 standard library]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Videos with advice on learning how to code&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=A8ldqcFS5S8 How I Would Learn To Code If I Was To Start Over] by Tiff In Tech&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=_nsV65jUPL8 Coding Was Hard Until I Learned THESE 5 Things!] by Pooja Dutt&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=MHPGeQD8TvI How I would learn to code (if I could start over)] by Tina Huang&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=To8hKb112Aw How I would learn to code (if I could start over)] by PIRATE KING&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=9s29LKfEFjQ How I would learn to code (If I could start over)] by Jason Goodison&lt;br /&gt;
* Youtube: [https://www.youtube.com/watch?v=NtfbWkxJTHw How to Learn to Code - 8 Hard Truths] by Fireship&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Interesting but less teaching oriented material&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Online: [http://ivory.idyll.org/blog/big-data-biology.html Top 12 reasons you know you are a Big Data biologist]&lt;br /&gt;
* Online: [http://lifehacker.com/six-life-lessons-ive-learned-from-programming-1502077380 How programming and your life is similar]&lt;br /&gt;
* Youtube: [http://www.youtube.com/watch?v=nKIu9yen5nc What most schools don&#039;t teach - how to think]&lt;br /&gt;
&lt;br /&gt;
== Archive of old course programmes ==&lt;br /&gt;
None yet, as the course is new.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=294</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=294"/>
		<updated>2025-10-21T05:10:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re, math and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=293</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=293"/>
		<updated>2025-10-21T05:07:25Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
Exam aids: You can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=292</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=292"/>
		<updated>2025-10-21T05:05:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
Comments that just explains your intentions, but are not supported by code, are disregarded. You can not &amp;quot;talk&amp;quot; your way to a pass, you must code your way to a pass.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=291</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=291"/>
		<updated>2025-10-21T05:03:10Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and employ code modularization.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=290</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=290"/>
		<updated>2025-10-21T05:02:27Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
You are expected to solve the assignments using the course curriculum. In particular, it means &amp;quot;pure&amp;quot; python, maybe using standard libraries like os, sys, re and others, but not 3rd party libraries like pandas or numpy. It also means use of comments to explain what you are doing, and modularization.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=289</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=289"/>
		<updated>2025-10-21T04:38:24Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Using python elements not in the curriculum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make a solution that follows the course progression, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=288</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=288"/>
		<updated>2025-10-21T04:35:18Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make the second solution, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme for your own functions - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=287</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=287"/>
		<updated>2025-10-20T20:05:05Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make the second solution, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code, that mostly contains empty functions. You have to fill out the functions with python code that solves the assignments.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=286</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=286"/>
		<updated>2025-10-20T20:02:31Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make the second solution, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
The last lesson [[Python object model]]&#039;s exercises is an example of the exam format - not the exam content. All the exercises has to be handed in in one single .py file. Every exercise is one individual python function, which calls some specified other functions which together solves the exercise. You can add your own functions, if you feel some functionality is missing, but you must fill and use those given by the exam .py file. Follow the naming scheme - it should be obvious.&lt;br /&gt;
&lt;br /&gt;
At the exam there will likely be 2 assignments - &#039;&#039;&#039;not&#039;&#039;&#039; 6 exercises - that you have to solve.&lt;br /&gt;
&lt;br /&gt;
To the exam, you can bring your computer with all the material from the course; powerpoints, exercises, solutions, etc. There is NO INTERNET and NO AI allowed. In the end, it is the programming skill you acquired during the course, that will make you pass - not any aid you bring. That is why we are doing so many difficult exercises.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=285</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=285"/>
		<updated>2025-10-20T19:43:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make the second solution, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code.&amp;lt;br&amp;gt;YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=284</id>
		<title>How the course is conducted</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=How_the_course_is_conducted&amp;diff=284"/>
		<updated>2025-10-20T19:42:59Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Preparation for exam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Weekly exercises are given every Monday. This constitutes an exercise set. There will be 13 of those.&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises have to be uploaded to &amp;quot;DTU Learn&amp;quot; latest Sunday in the week after the exercises were given, i.e you have 7 days to complete a set.&amp;lt;br&amp;gt;&lt;br /&gt;
Peer evaluation of exercises are done in the following week to be handed in Friday.&amp;lt;br&amp;gt;&lt;br /&gt;
The evaluations are mandatory. At least 11 of 13 evaluations must be handed in - in time - for you to be allowed to take the exam. Since you can only evaluate if you have handed in exercises, then you need to do those, too :-)&amp;lt;br&amp;gt;&lt;br /&gt;
You are required to make a notebook (in VScode) for every exercise set, i.e. every week. The .ipynb file is what you hand in to Peer Evaluation.&amp;lt;br&amp;gt;&lt;br /&gt;
Solutions to each week&#039;s exercises are published before the next week&#039;s lesson on DTU Learn (under Discussions).&amp;lt;br&amp;gt;&lt;br /&gt;
Exercises which are handed in after the solutions are published, are voided and will not count, no matter the reason for being late.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can find a link to a Discord server in the announcement on DTU Learn (first page). The intention is that you can group together here and get/give help outside normal class hours. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Peer evaluation of exercises ==&lt;br /&gt;
You must upload the solutions for the exercise set at given lesson to DTU Learn. The following week you must evaluate another students solutions - to be handed in on the Friday. You are getting some help with that as I have published my solutions at that time. You can only evaluate if you have uploaded solutions yourself and &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;you must have done at least 11 evaluations to participate in the exam.&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Warning:&#039;&#039;&#039;&amp;lt;/font&amp;gt; Once you have handed in your solution, then it CAN NOT be changed/improved/replaced with a new version, if you have been evaluated. The system is to blame - nothing I can do. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The peer evaluation is a central part of the learning process. As you will discover, I will be asking many questions about various aspects of the code you will have to evaluate. Initially, it can seem overwhelming, and you might not have been taught about all yet, but it is the same questions week after week, and you mostly have to check boxes, so it will get easier during the course. You learn both by doing the evaluation and by receiving (reading) it.&lt;br /&gt;
&lt;br /&gt;
You can/should use the criteria in [[Good code]] in your own programs and the evaluation. The questions in the evaluation are more in depth than [[Good code]]. The evaluation is anonymous, but known to the teacher.&lt;br /&gt;
&lt;br /&gt;
===Learning from exercises and teachers solutions===&lt;br /&gt;
You obviously learn from doing the exercises. However, that is just phase 1. Reflecting over your own solutions while reading the teachers solutions is extremely useful; It prepares you for the following week, it prepares you for the peer evaluation, it shows you alternative solutions you might not have thought about.&amp;lt;br&amp;gt;&lt;br /&gt;
The solutions are examples with explanations and also cover common mistakes. &#039;&#039;They can be found on DTU Learn under Discussions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Pythonic exercises===&lt;br /&gt;
Python has several constructs, functions, ways/idioms to do certain things. People who have seen some python before may know of this. When using these methods and ways of thinking the code becomes &amp;quot;pythonic&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
It is a learning objective in the course and important for your future as a programmer to learn to program and to design algorithms.&amp;lt;br&amp;gt;&lt;br /&gt;
It happens especially in the first half of the course that learning to program and making pythonic code are at odds. This can been seen in the teachers solutions - you might think: &amp;quot;Why did he do it this way, when you can do it&lt;br /&gt;
smarter/more intuitive/easier/pythonic this way&amp;quot;. This is the reason - the course prioritizes learning to program more than doing it the pythonic way. When you have learned to make algorithms and code well, you can do this in any language. Pythonic coding only works with python.&lt;br /&gt;
&lt;br /&gt;
If you do not observe this during the course - no problem.&lt;br /&gt;
&lt;br /&gt;
== Special exercises ==&lt;br /&gt;
&amp;lt;font color=&amp;quot;AA00FF&amp;quot;&amp;gt;&#039;&#039;&#039;Purple exercises&#039;&#039;&#039; has to be done in pseudo code before you start implementing them in Python. The pseudo code is part of the hand-in for these exercises.&lt;br /&gt;
So - make the pseudocode FIRST, then the real python programs AFTERWARDS for the purple exercises.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using python elements not in the curriculum ==&lt;br /&gt;
Most people sooner or later use python not in the curriculum, or not yet covered by the course progression. There are several reasons for that: They know some python from other courses, they have been using AI to create solutions, they have been reading ahead or they have searched the internet for answers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While knowledge is good, then there is a reason for why the exercises and the learning materials (powerpoint) are as they are - it is a designed course progression. A very important part of the course is to learn how program, how to think &amp;quot;programming&amp;quot;, how to analyze a problem, how to formulate a strategy/workflow/algorithm that will solve the problem.&amp;lt;br&amp;gt;&lt;br /&gt;
By not following the course progression, then you are not learning to analyze or formulate strategies.&lt;br /&gt;
By not thinking - structuring the code more logically - gaining insight in the natural flow of problem solving, you will lack those skills - that mindset - when you really need it to solve more difficult exercises and/or problems.&amp;lt;br&amp;gt;&lt;br /&gt;
Also, it brings problems to peer evaluation, as not everyone knows python that is outside the curriculum.&lt;br /&gt;
&lt;br /&gt;
If you want to show some fancy python (i.e. outside the curriculum/progression), then make TWO solutions to the exercise. One that shows the fancy python and one that follows the curriculum and the course progression. The last one can then be used for peer evaluation. If you find yourself unable to make the second solution, then maybe you should study the subject some more.&lt;br /&gt;
&lt;br /&gt;
== Preparation for exam ==&lt;br /&gt;
The exam is a 4 hour written exam. You will get the assignments, the input files that you have to use/read/parse, and the output files that you have to create. Most importantly, you will also get a &#039;&#039;&#039;.py&#039;&#039;&#039; file that you will have to fill out. That is basically a text file with python code. YOU CAN NOT HAND IN A JUPYTER NOTEBOOK FILE. Your exam hand-in is only the filled out .py file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The exam is a multiple choice questionnaire. There will be 72 questions, which should be answered at the best of your ability within 2 hours. There are usually between 5 and 8 choices of answer for each question and there is always one answer which is correct - or more correct than the others. Negative points are not used, i.e. there is no penalty for answering wrong (we call it guessing). You must have 60% correctly answered questions to pass. You have all aids available, but NO INTERNET. This means you can download the powerpoints, my solutions, videos and text books and other stuff you find useful. Likewise you can use Jupyter Notebook since a local version (as used in the course) does not require internet.&amp;lt;br&amp;gt;&lt;br /&gt;
The questions will - obviously - be based on the curriculum. This very concretely means that knowing the context of the powerpoints will be an advantage. There are also questions where you must analyze 8-12 lines of code and answer what it does or what the result of running it is. You do not need extra files for answering.&amp;lt;br&amp;gt;&lt;br /&gt;
There is no trial exam.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Collection_of_files&amp;diff=283</id>
		<title>Collection of files</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Collection_of_files&amp;diff=283"/>
		<updated>2025-10-14T14:47:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Last updated: September 5, 2025&amp;lt;br&amp;gt;&lt;br /&gt;
== Files used in various exercises ==&lt;br /&gt;
To download the files to your system, just press the Shift key while you left click on the blue link. Follow the instructions.&amp;lt;br&amp;gt;&lt;br /&gt;
You can play around with these files as much as you like. If you change or destroy them, just download them again.&amp;lt;br&amp;gt;&lt;br /&gt;
Put the files in your course folder on your computer.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--The files have been zipped together in one convenient download for you.&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22101/22101_files.zip 22101_files.zip]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Individual files ===&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1.acc ex1.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1.dat ex1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1_1.dat ex1_1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1_2.dat ex1_2.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1_3.dat ex1_3.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/mixedlines.txt mixedlines.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex5.acc ex5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/numbers1.txt numbers1.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/numbers2.txt numbers2.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/numbers3.txt numbers3.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/badnumbers.txt badnumbers.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/goodnumbers.txt goodnumbers.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/secret.txt secret.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/secret2.txt secret2.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna.dat dna.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna.fsa dna.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/orphans.sp orphans.sp]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/studentweight.txt studentweight.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot1.dat sprot1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot2.dat sprot2.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot3.dat sprot3.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot4.dat sprot4.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprotall.dat sprotall.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sorted5.acc sorted5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/clean5.acc clean5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1corrupt.dat ex1corrupt.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna7.fsa dna7.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/revdna7.fsa revdna7.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna7GC.fsa dna7GC.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data1.gb data1.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data2.gb data2.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data3.gb data3.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data4.gb data4.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/start10.dat start10.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/res10.dat res10.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/aa7.fsa aa7.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/uniq5.acc uniq5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/order5.acc order5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/res10.dat res10.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/slinger.txt slinger.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/hoist.txt hoist.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/combined.txt combined.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneA.txt geneA.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneB.txt geneB.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneC.txt geneC.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneD.txt geneD.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneE.txt geneE.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/gene_combined.txt gene_combined.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dnanoise.fsa dnanoise.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/fastaout.fsa fastaout.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/alignment.fsa alignment.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVenvelope.txt HIVenvelope.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVenv.fsa HIVenv.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVepitopes.txt HIVepitopes.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVepitopesML.txt HIVepitopesML.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/test1.dat test1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/test2.dat test2.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/test3.dat test3.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/combinedresult.dat combinedresult.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/matrix.dat matrix.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna-array.dat dna-array.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/column.tab column.tab]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna-array-norm.dat dna-array-norm.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/regulation.txt regulation.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the course, you will be creating the following files which values depends on your choices: sums.fsa selected.fsa rest.fsa&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Collection_of_files&amp;diff=282</id>
		<title>Collection of files</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Collection_of_files&amp;diff=282"/>
		<updated>2025-10-14T14:45:36Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Individual files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Last updated: September 5, 2025&amp;lt;br&amp;gt;&lt;br /&gt;
Warning: This is not complete or correct yet.&lt;br /&gt;
== Files used in various exercises ==&lt;br /&gt;
To download the files to your system, just press the Shift key while you left click on the blue link. Follow the instructions.&amp;lt;br&amp;gt;&lt;br /&gt;
You can play around with these files as much as you like. If you change or destroy them, just download them again.&amp;lt;br&amp;gt;&lt;br /&gt;
Put the files in your course folder on your computer.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--The files have been zipped together in one convenient download for you.&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22101/22101_files.zip 22101_files.zip]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Individual files ===&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1.acc ex1.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1.dat ex1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1_1.dat ex1_1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1_2.dat ex1_2.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1_3.dat ex1_3.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/mixedlines.txt mixedlines.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex5.acc ex5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/numbers1.txt numbers1.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/numbers2.txt numbers2.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/numbers3.txt numbers3.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/badnumbers.txt badnumbers.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/goodnumbers.txt goodnumbers.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/secret.txt secret.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/secret2.txt secret2.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna.dat dna.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna.fsa dna.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/orphans.sp orphans.sp]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/studentweight.txt studentweight.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot1.dat sprot1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot2.dat sprot2.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot3.dat sprot3.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprot4.dat sprot4.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sprotall.dat sprotall.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/sorted5.acc sorted5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/clean5.acc clean5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/ex1corrupt.dat ex1corrupt.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna7.fsa dna7.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/revdna7.fsa revdna7.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna7GC.fsa dna7GC.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data1.gb data1.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data2.gb data2.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data3.gb data3.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/data4.gb data4.gb]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/start10.dat start10.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/res10.dat res10.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/aa7.fsa aa7.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/uniq5.acc uniq5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/order5.acc order5.acc]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/res10.dat res10.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/slinger.txt slinger.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/hoist.txt hoist.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/combined.txt combined.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneA.txt geneA.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneB.txt geneB.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneC.txt geneC.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneD.txt geneD.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/geneE.txt geneE.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/gene_combined.txt gene_combined.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dnanoise.fsa dnanoise.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/fastaout.fsa fastaout.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/alignment.fsa alignment.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVenvelope.txt HIVenvelope.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVenv.fsa HIVenv.fsa]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVepitopes.txt HIVepitopes.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/HIVepitopesML.txt HIVepitopesML.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/test1.dat test1.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/test2.dat test2.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/test3.dat test3.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/combinedresult.dat combinedresult.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/matrix.dat matrix.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna-array.dat dna-array.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/column.tab column.tab]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/dna-array-norm.dat dna-array-norm.dat]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://teaching.healthtech.dtu.dk/material/22116/regulation.txt regulation.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
During the course, you will be creating the following files which values depends on your choices: sums.fsa selected.fsa rest.fsa&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Python_object_model&amp;diff=281</id>
		<title>Python object model</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Python_object_model&amp;diff=281"/>
		<updated>2025-10-14T12:37:15Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Exercises to be handed in */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=500  style=&amp;quot;font-size: 10px; float:right; margin-left: 10px; margin-top: -56px;&amp;quot;&lt;br /&gt;
|Previous: [[Regular expressions]]&lt;br /&gt;
|Next: [[Programme]]&lt;br /&gt;
|}&lt;br /&gt;
== Required course material for the lesson ==&lt;br /&gt;
Powerpoint: [https://teaching.healthtech.dtu.dk/material/22116/22116_13-Objects.ppt Object model and complex data]&amp;lt;br&amp;gt;&lt;br /&gt;
Resource: [[Example code - Complex data]]&lt;br /&gt;
&lt;br /&gt;
== Subjects covered ==&lt;br /&gt;
* Python objects&lt;br /&gt;
* Identity&lt;br /&gt;
* Mutable vs immutable&lt;br /&gt;
* Complex data&lt;br /&gt;
* Exam format&lt;br /&gt;
&lt;br /&gt;
== Exercises to be handed in ==&lt;br /&gt;
&#039;&#039;&#039;Important - read this before starting&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This exercise set will be similar to the format of the exam. The content will obviously be different.&amp;lt;br&amp;gt;&lt;br /&gt;
You have to download [https://teaching.healthtech.dtu.dk/material/22116/22116_13.py this python file.] It contains some frame work code, but mostly some unfinished functions.&lt;br /&gt;
Each exercise is about finishing one of the function groups in the file. You can write the functions directly in the python file, or use VScode or other Jupyter Notebook editor to write it, but then it has to be copied over to the python file. You must hand in the finished python file, &#039;&#039;&#039;not&#039;&#039;&#039; a .ipynb file.&amp;lt;br&amp;gt;&lt;br /&gt;
Inability to understand or perform this process will make you fail the exam, so it is worth spending some time on the procedure.&lt;br /&gt;
&lt;br /&gt;
# In the file &#039;&#039;test1.dat&#039;&#039; is results from an experiment where every line is in the form:&amp;lt;br&amp;gt;&#039;&#039;AccessionNumber   Number Number Number ....&#039;&#039;&amp;lt;br&amp;gt;In the files &#039;&#039;test2.dat&#039;&#039; and &#039;&#039;test3.dat&#039;&#039; are results from similar experiments but with a slightly different gene set. You want find the average the numbers from all experiments for each accession number. Save your results, sorted according to the accession, in the file &#039;&#039;combinedresults.txt&#039;&#039; in the form:&amp;lt;br&amp;gt;&#039;&#039;AccessionNumber SingleAverageNumberOfAll3Experiments&#039;&#039;&amp;lt;br&amp;gt;Of course it might happen that a certain gene is only in one or two experiments and in that case you calculate the average for those. You must use a one of complex data structures to store this data, hint hint -  a dict of lists.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Create a main function that reads a tab separated file with numbers, &#039;&#039;matrix.dat&#039;&#039;, (to be understood as a matrix) and stores the numbers in a matrix (list of lists). Having read the matrix from file it should now transpose it (rows to columns and columns to rows) and save the transposed matrix in the file &#039;&#039;trans1matrix.dat&#039;&#039;. The output should look like the input, that is &#039;&#039;&#039;not&#039;&#039;&#039; a python data structure.&amp;lt;br&amp;gt;You must construct a function like transpose(matrix), which gets a matrix as input an returned a transposed matrix - without using any global variables.&amp;lt;br&amp;gt;matrix = transpose(matrix)&amp;lt;br&amp;gt;This is the easiest, but momentarily most memory consuming method, you just return the transposed matrix, i.e. a new data structure.&amp;lt;br&amp;gt;How do you easily check if it works? Well, transposing twice yields the original matrix. [http://en.wikipedia.org/wiki/Transpose Check out Wikipedia&#039;s entry on transposing a matrix.]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# This is the same problem as the previous exercise, except your transpose function have to transpose the matrix in-line, no returned matrix, i.e. the original matrix data structure is changed.&amp;lt;br&amp;gt;transpose(matrix)&amp;lt;br&amp;gt;The output file is this time &#039;&#039;trans2matrix.dat&#039;&#039; which should be identical with &#039;&#039;trans1matrix.dat&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Study the file &#039;&#039;dna-array.dat&#039;&#039; a bit. This is real DNA array data taken from a number of persons, some controls and some suffering from colon cancer. If you look at the second line there is a lot of 0 and 1. A &#039;0&#039; means that values in that column are from a cancer patient and a &#039;1&#039; means data are from a control (healthy person). The data are all log(intensity), i.e. the logarithm of the measured intensity of the relevant spot on the dna-chip. The data in this file will be used in coming exercises. The data/columns are tab separated. The second item on each line is the accession number for that particular gene.&amp;lt;br&amp;gt;Now make a main function that extracts data from one file and saves it in another, given the accession number, input file &#039;&#039;dna-array.dat&#039;&#039; and output file &#039;&#039;column.tab&#039;&#039;. Search in the file for the data concerning that accession number. If it does not find it (you gave a wrong accession no), complain and stop. Otherwise it shall display the data in two tab separated columns. First column shall be the data from the cancer patients, second column for the controls. There are not the same number of sick and healthy people - be able to handle that.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# The numbers in the input file &#039;&#039;dna-array.dat&#039;&#039; should be normalized between 0 and 1 for each line with an accession number, i.e. normalization only for the individual line - not across the data set. Write the result out in the file &#039;&#039;dna-array-norm.dat&#039;&#039;, but NOT the control lines, i.e. lines where the annotation says &#039;control&#039;. The resulting file will be similar to the original, but control lines are removed and the numbers are different. The problem can (and should) be solved one line at a time.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Read the file &#039;&#039;dna-array-norm.dat&#039;&#039; and transform all the numbers less than 0.5 to 0, and numbers at 0.5 or more to 1. Now for each line/accession calculate the average of the control group numbers and the cancer group numbers. If the two averages are more than 0.4 from each other, this is considered significant and the accession should be saved in the file &#039;&#039;regulation.txt&#039;&#039; along with a message &#039;&#039;&#039;up&#039;&#039;&#039; or &#039;&#039;&#039;down&#039;&#039;&#039; if it is an up regulation or a down regulation of the cancer group compared to the control. That means each output line looks like &amp;quot;H80240 up&amp;quot; or &amp;quot;H34534 down&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Exercises for extra practice ==&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Python_object_model&amp;diff=280</id>
		<title>Python object model</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk:443/22116/index.php?title=Python_object_model&amp;diff=280"/>
		<updated>2025-10-14T12:35:39Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Exercises to be handed in */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=500  style=&amp;quot;font-size: 10px; float:right; margin-left: 10px; margin-top: -56px;&amp;quot;&lt;br /&gt;
|Previous: [[Regular expressions]]&lt;br /&gt;
|Next: [[Programme]]&lt;br /&gt;
|}&lt;br /&gt;
== Required course material for the lesson ==&lt;br /&gt;
Powerpoint: [https://teaching.healthtech.dtu.dk/material/22116/22116_13-Objects.ppt Object model and complex data]&amp;lt;br&amp;gt;&lt;br /&gt;
Resource: [[Example code - Complex data]]&lt;br /&gt;
&lt;br /&gt;
== Subjects covered ==&lt;br /&gt;
* Python objects&lt;br /&gt;
* Identity&lt;br /&gt;
* Mutable vs immutable&lt;br /&gt;
* Complex data&lt;br /&gt;
* Exam format&lt;br /&gt;
&lt;br /&gt;
== Exercises to be handed in ==&lt;br /&gt;
&#039;&#039;&#039;Important - read this before starting&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This exercise set will be similar to the format of the exam. The content will obviously be different.&amp;lt;br&amp;gt;&lt;br /&gt;
You have to download [https://teaching.healthtech.dtu.dk/material/22116/22116_13.py this python file.] It contains some frame work code, but mostly some unfinished functions.&lt;br /&gt;
Each exercise is about finishing one of the function groups in the file. You can write the functions directly in the python file, or use VScode or other Jupyter Notebook editor to write it, but then it has to be copied over to the python file. You must hand in the finished python file, &#039;&#039;&#039;not&#039;&#039;&#039; a .ipynb file.&amp;lt;br&amp;gt;&lt;br /&gt;
Inability to understand or perform this process will make you fail the exam, so it is worth spending some time on the procedure.&lt;br /&gt;
&lt;br /&gt;
# In the file &#039;&#039;test1.dat&#039;&#039; is results from an experiment where every line is in the form:&amp;lt;br&amp;gt;&#039;&#039;AccessionNumber   Number Number Number ....&#039;&#039;&amp;lt;br&amp;gt;In the files &#039;&#039;test2.dat&#039;&#039; and &#039;&#039;test3.dat&#039;&#039; are results from similar experiments but with a slightly different gene set. You want find the average the numbers from all experiments for each accession number. Save your results in the file &#039;&#039;combinedresults.txt&#039;&#039; in the form:&amp;lt;br&amp;gt;&#039;&#039;AccessionNumber SingleAverageNumberOfAll3Experiments&#039;&#039; sorted according to the accession.&amp;lt;br&amp;gt;Of course it might happen that a certain gene is only in one or two experiments and in that case you calculate the average for those. You must use a one of complex data structures to store this data, hint hint -  a dict of lists.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Create a main function that reads a tab separated file with numbers, &#039;&#039;matrix.dat&#039;&#039;, (to be understood as a matrix) and stores the numbers in a matrix (list of lists). Having read the matrix from file it should now transpose it (rows to columns and columns to rows) and save the transposed matrix in the file &#039;&#039;trans1matrix.dat&#039;&#039;. The output should look like the input, that is &#039;&#039;&#039;not&#039;&#039;&#039; a python data structure.&amp;lt;br&amp;gt;You must construct a function like transpose(matrix), which gets a matrix as input an returned a transposed matrix - without using any global variables.&amp;lt;br&amp;gt;matrix = transpose(matrix)&amp;lt;br&amp;gt;This is the easiest, but momentarily most memory consuming method, you just return the transposed matrix, i.e. a new data structure.&amp;lt;br&amp;gt;How do you easily check if it works? Well, transposing twice yields the original matrix. [http://en.wikipedia.org/wiki/Transpose Check out Wikipedia&#039;s entry on transposing a matrix.]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# This is the same problem as the previous exercise, except your transpose function have to transpose the matrix in-line, no returned matrix, i.e. the original matrix data structure is changed.&amp;lt;br&amp;gt;transpose(matrix)&amp;lt;br&amp;gt;The output file is this time &#039;&#039;trans2matrix.dat&#039;&#039; which should be identical with &#039;&#039;trans1matrix.dat&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Study the file &#039;&#039;dna-array.dat&#039;&#039; a bit. This is real DNA array data taken from a number of persons, some controls and some suffering from colon cancer. If you look at the second line there is a lot of 0 and 1. A &#039;0&#039; means that values in that column are from a cancer patient and a &#039;1&#039; means data are from a control (healthy person). The data are all log(intensity), i.e. the logarithm of the measured intensity of the relevant spot on the dna-chip. The data in this file will be used in coming exercises. The data/columns are tab separated. The second item on each line is the accession number for that particular gene.&amp;lt;br&amp;gt;Now make a main function that extracts data from one file and saves it in another, given the accession number, input file &#039;&#039;dna-array.dat&#039;&#039; and output file &#039;&#039;column.tab&#039;&#039;. Search in the file for the data concerning that accession number. If it does not find it (you gave a wrong accession no), complain and stop. Otherwise it shall display the data in two tab separated columns. First column shall be the data from the cancer patients, second column for the controls. There are not the same number of sick and healthy people - be able to handle that.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# The numbers in the input file &#039;&#039;dna-array.dat&#039;&#039; should be normalized between 0 and 1 for each line with an accession number, i.e. normalization only for the individual line - not across the data set. Write the result out in the file &#039;&#039;dna-array-norm.dat&#039;&#039;, but NOT the control lines, i.e. lines where the annotation says &#039;control&#039;. The resulting file will be similar to the original, but control lines are removed and the numbers are different. The problem can (and should) be solved one line at a time.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Read the file &#039;&#039;dna-array-norm.dat&#039;&#039; and transform all the numbers less than 0.5 to 0, and numbers at 0.5 or more to 1. Now for each line/accession calculate the average of the control group numbers and the cancer group numbers. If the two averages are more than 0.4 from each other, this is considered significant and the accession should be saved in the file &#039;&#039;regulation.txt&#039;&#039; along with a message &#039;&#039;&#039;up&#039;&#039;&#039; or &#039;&#039;&#039;down&#039;&#039;&#039; if it is an up regulation or a down regulation of the cancer group compared to the control. That means each output line looks like &amp;quot;H80240 up&amp;quot; or &amp;quot;H34534 down&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Exercises for extra practice ==&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>