"As part of the \"Inleidend Practicum\" course, you will have 5 lectures in which we will teach you the basics of programming with python.\n",
"\n",
"For doing this, we have created a set of 5 \"Lecture Notebooks\", with the topics:\n",
"\n",
"* **Notebook 1: Python Basics**\n",
"* **Notebook 2: Functions**\n",
"* **Notebook 3: Program Flow Control**\n",
"* **Notebook 4: Scientific Computing with Numpy**\n",
"* **Notebook 5: Data in Python**\n",
"\n",
"For the material of Notebooks 1-3, we have an assignment connected to each notebook, and for Notebooks 4 and 5, there will be a final project that will cover the material in those notebooks:\n",
"\n",
"* **Assignment 1 (Must pass)**\n",
"* **Assignment 2 (Must pass)**\n",
"* **Assignment 3 (Must pass)**\n",
"* **Final Project (100%)**\n",
"\n",
"While there are 5 lectures and 5 notebooks, we encourage you to work at your own pace through the material. More experienced programmers may cover the material more quickly, perhaps with more than one notebook worth of material per lecture, while those with less (or no) programming experience may want to go through the material more slowly and finish the material at home. \n",
"\n",
"Your python grade will count for 18% of the practicum grade (1ECTS). You grade will be determined by the final project, but your project will only be graded if you have passed all three assignments, which must be checked by a TA or lecturer in the lecture sessions (more on this below). \n",
"\n",
"## What do I do with the \"Lecture\" notebooks? \n",
"\n",
"The lecture notebooks explain the concepts of the material we expect you to learn. They contain both \"information\" sections for you to read, as well as \"code sections\" that you can run to demonstrate these concepts live. \n",
"\n",
"At the top of each notebook, we have created a summary of the learning objectives we aim to achieve. \n",
"\n",
"What should I do? You should first take a look at the learning objectives at the top of the notebook to understand what we want to achieve, then you can read through the learning material and execute the code cells to see what happens. \n",
"\n",
"**Try it yourself!** At the end of each section, there is a code cell where you can practice the stuff you have learned. Try writing some code yourself and running it. Does it work like you think it should? If not, you can read the section again to make sure you understood it, or ask a friend, a teaching assistant (TA), or one of the teachers to help you figure out why. \n",
"\n",
"The notebooks also contain excises cells where you can test what you have learned. \n",
"\n",
"## Assignment Notebooks\n",
"\n",
"For lectures 1-3, there are \"Assignment Notebooks\" which we will ask you to complete.\n",
"\n",
"The Assignment notebooks are designed to test if you have learned and understood the material from the lecture notebooks and have achieved the learning objective we have defined. Once you think you have mastered the material of the lecture notebooks and have played with writing code in the **Try it yourself** code cells, you should move on to the Assignment Notebooks. \n",
"\n",
"For the assignment notebooks, you should write your answer in the provided cells. When you think you have the correct answers, bring your laptop to a TA and have them check your code. If you code is correct and you can explain it properly, then the TA will approve your completion of that assignment and you be marked as a \"Pass\". \n",
"\n",
"Our grading criteria are:\n",
"\n",
"* The code achieves what is asked in the question\n",
"* The student is able to explain what the code is doing to the TA\n",
"* The code cells contains comments explaining what it is doing\n",
"\n",
"If the TA determines that your assignment has not satisfied these criteria, then you can continue to work on it and have it checked again when you think it is correct. \n",
"\n",
"After having you code approved by the TA, you will be required to upload that code to the appropriate assignment folder on Brightspace. \n",
"\n",
"The assignments must be checked and approved by a TA with the following deadlines:\n",
"\n",
"* Assignment 1: End of session P3\n",
"* Assignment 2: End of session P4\n",
"* Assignment 3: End of session P5\n",
"\n",
"Individual exceptions are possible with discussion with the lecturers.\n",
"\n",
"### Am I allowed to ask for help? \n",
"\n",
"Yes, of course! You are welcome to ask the teacher, the TAs, and other students for help with both the material in the Lecture Notebooks and in the Assignment Notebooks. \n",
"\n",
"Note that the TAs will be happy to help you \"debug\" your code and point you in the right direction, they will not give you the answers to the assignment questions. \n",
"\n",
"### Am I allowed to copy my friends code? \n",
"\n",
"No! While we encourage you to ask fellow students for help, you are not allowed to directly cut-and-paste they code (or copy their notebook files). At the end of the course, we will be performing a specialized plagiarism scan (designed for computer code) on the submitted assignments and any anomalies will be investigated. \n",
"\n",
"## Final Project\n",
"\n",
"In addition to the assignments related to the core programming concepts, we will also have a final assignment that will determining your the final grade. \n",
"\n",
"In this final assignment, you will load, process, plot and analyze a dataset using python. You will create a lab-report-style notebook in which you summarize your findings and you will submit this via Brightspace for grading by the TAs. \n",
"\n",
"The final projects will be submitted via Brightspace in an assignment folder with a deadline announced per student group. \n",
"\n",
"**Important:** Your final project will NOT be graded unless you have achieved a pass evaluation on all the assignments as described above. "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": true,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}
%% Cell type:markdown id: tags:
# Python in the practicum
## Overview
As part of the "Inleidend Practicum" course, you will have 5 lectures in which we will teach you the basics of programming with python.
For doing this, we have created a set of 5 "Lecture Notebooks", with the topics:
***Notebook 1: Python Basics**
***Notebook 2: Functions**
***Notebook 3: Program Flow Control**
***Notebook 4: Scientific Computing with Numpy**
***Notebook 5: Data in Python**
For the material of Notebooks 1-3, we have an assignment connected to each notebook, and for Notebooks 4 and 5, there will be a final project that will cover the material in those notebooks:
***Assignment 1 (Must pass)**
***Assignment 2 (Must pass)**
***Assignment 3 (Must pass)**
***Final Project (100%)**
While there are 5 lectures and 5 notebooks, we encourage you to work at your own pace through the material. More experienced programmers may cover the material more quickly, perhaps with more than one notebook worth of material per lecture, while those with less (or no) programming experience may want to go through the material more slowly and finish the material at home.
Your python grade will count for 18% of the practicum grade (1ECTS). You grade will be determined by the final project, but your project will only be graded if you have passed all three assignments, which must be checked by a TA or lecturer in the lecture sessions (more on this below).
## What do I do with the "Lecture" notebooks?
The lecture notebooks explain the concepts of the material we expect you to learn. They contain both "information" sections for you to read, as well as "code sections" that you can run to demonstrate these concepts live.
At the top of each notebook, we have created a summary of the learning objectives we aim to achieve.
What should I do? You should first take a look at the learning objectives at the top of the notebook to understand what we want to achieve, then you can read through the learning material and execute the code cells to see what happens.
**Try it yourself!** At the end of each section, there is a code cell where you can practice the stuff you have learned. Try writing some code yourself and running it. Does it work like you think it should? If not, you can read the section again to make sure you understood it, or ask a friend, a teaching assistant (TA), or one of the teachers to help you figure out why.
The notebooks also contain excises cells where you can test what you have learned.
## Assignment Notebooks
For lectures 1-3, there are "Assignment Notebooks" which we will ask you to complete.
The Assignment notebooks are designed to test if you have learned and understood the material from the lecture notebooks and have achieved the learning objective we have defined. Once you think you have mastered the material of the lecture notebooks and have played with writing code in the **Try it yourself** code cells, you should move on to the Assignment Notebooks.
For the assignment notebooks, you should write your answer in the provided cells. When you think you have the correct answers, bring your laptop to a TA and have them check your code. If you code is correct and you can explain it properly, then the TA will approve your completion of that assignment and you be marked as a "Pass".
Our grading criteria are:
* The code achieves what is asked in the question
* The student is able to explain what the code is doing to the TA
* The code cells contains comments explaining what it is doing
If the TA determines that your assignment has not satisfied these criteria, then you can continue to work on it and have it checked again when you think it is correct.
After having you code approved by the TA, you will be required to upload that code to the appropriate assignment folder on Brightspace.
The assignments must be checked and approved by a TA with the following deadlines:
* Assignment 1: End of session P3
* Assignment 2: End of session P4
* Assignment 3: End of session P5
Individual exceptions are possible with discussion with the lecturers.
### Am I allowed to ask for help?
Yes, of course! You are welcome to ask the teacher, the TAs, and other students for help with both the material in the Lecture Notebooks and in the Assignment Notebooks.
Note that the TAs will be happy to help you "debug" your code and point you in the right direction, they will not give you the answers to the assignment questions.
### Am I allowed to copy my friends code?
No! While we encourage you to ask fellow students for help, you are not allowed to directly cut-and-paste they code (or copy their notebook files). At the end of the course, we will be performing a specialized plagiarism scan (designed for computer code) on the submitted assignments and any anomalies will be investigated.
## Final Project
In addition to the assignments related to the core programming concepts, we will also have a final assignment that will determining your the final grade.
In this final assignment, you will load, process, plot and analyze a dataset using python. You will create a lab-report-style notebook in which you summarize your findings and you will submit this via Brightspace for grading by the TAs.
The final projects will be submitted via Brightspace in an assignment folder with a deadline announced per student group.
**Important:** Your final project will NOT be graded unless you have achieved a pass evaluation on all the assignments as described above.