{
    "componentChunkName": "component---src-templates-docs-js",
    "path": "/old/03-assignments",
    "result": {"data":{"site":{"siteMetadata":{"title":"Linnéuniversitetet","language":"sv","courseCode":"1DV607"}},"mdx":{"fields":{"id":"e2722c4c-0b24-594e-a1c8-27a7053c8f54","title":"Assignments","slug":"/old/03-assignments"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Assignments\",\n  \"metaTitle\": \"Assignment Tasks\",\n  \"metaDescription\": \"This is the meta description for this page\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"The practical aspects of analysis and design are assessed in 3 assignments. Please note that these are part of the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"examination\"), \" of the course, they are not meant as exercises or learning materials as such. Prepare for the assignments by studying the course theory, particularly the examples provided.\"), mdx(\"h2\", null, \"Groups\"), mdx(\"p\", null, \"In a real situation analysis and design work is hardly made by a single individual but rather in a group. It is also an important experience to be able to communicate with colleagues. Therefore, you have the opportunity to work in small groups; 1-3 people. Everyone in the group must participate actively in the work and be responsible for the group\\u2019s work. Therefore it is particularly important that everyone participates in every task and to NOT divide the task among team members (you do this, I do that).\"), mdx(\"p\", null, \"You form these groups yourself and you may change groups between assignments and/or grades.\"), mdx(\"p\", null, \"If you work in a group, one of the group members will manage the repository in GitLab and invite the other members as collaborators. It is important that all group members are active and participate equally in the work. This means that all members should make regular commits and pushes of e.g. implementation.\"), mdx(\"h2\", null, \"Examination\"), mdx(\"p\", null, \"During the course, there are final deadlines for a passing grade for each of the assignments. After your final hand in of the assignment, you will receive either a passing grade, a need for completions or a fail. You will get \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"one and only one attempt to fix issues\"), \", if you still have not adequately fulfilled all the requirements of the assignment you will need to do the complementary task so that the requirements for the assignment is covered (Yahtzee).\"), mdx(\"p\", null, \"Be prepared to answer questions regarding your assignment, both live (scheduled meeting or tutoring session) and as comments in gitlab. This becomes particularly important in a group setting that you as an individal know the whole of the assignment.\"), mdx(\"p\", null, \"If you use AI support in solving the assignments please note this in the submission and also specify what you used the AI for and if it worked out as planned. \"), mdx(\"p\", null, \"The \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"quality\"), \" of the design and corresponding implementation is a \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"major point\"), \". It is better to have a solid design and good looking implementation than to have every feature implemented.\"), mdx(\"h3\", null, \"Higher grades\"), mdx(\"p\", null, \"If your goal is to get a higher grade (more than a passing grade), you still submit your results for the passing grade as stated above, but you continue to work for higher grades and submit these during the last week of the course.\"), mdx(\"h3\", null, \"Feedback\"), mdx(\"p\", null, \"Typically you will recieve fedback stating some strong points and weak points of the provided solution. If fixes are needed the problems will be pointed out, but exactly how these should be fixed is up to you to show. E.g. you can get feedback like: \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"There are missing relations in the class diagram\"), \", \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"There are hidden dependencies between the view and controller\"), \" or \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"The model classes has view responsibility\"), \".\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"That is the feedback requires you to understand the materials and know what to do about it, feedback will \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"not\"), \" tell you \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"change exactly this\"), \" or \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"do x in this way\")), mdx(\"h3\", null, \"Tutoring\"), mdx(\"p\", null, \"Tutoring will be offered both online (slack) and on campus. Tutoring is meant for individual (group) sessions regarding the theory and assignments. Tutoring is offered during scheduled sessions on campus and online via slack for distance students.\"), mdx(\"p\", null, \"Prepare for a tutoring session by having your development environment ready, have specific questions etc. General questions like \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"does X look good\"), \" are impossible to give a good answer to without spending significant time (that does not exist).\\nAlso note tutoring is not supposed solve the assignment for you or tell you exactly what/how to do things - the tutoring is for coaching you in a good direction. The assignment are examinations they are not for practice - you are supposed to show that you fulfill the learning goals of the respective assignment.\"), mdx(\"p\", null, \"Tutoring is for the topic of analysis and design, the actual Java implementation should not be an issue for you at this point.\"), mdx(\"p\", null, \"Asking and answering questions in the slack channels is a good thing! Most likely someone has a good idea and can answer faster than the course tutors. \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Please, be active and share you knowledge.\")), mdx(\"h2\", null, \"Tools and Language\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"We will use \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"git\"), \" and \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"GitLab\"), \" to manage the assignments.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"We will use \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"gradle\"), \" and GitLabs automatic build-pipeline to maintain a good standard of implementation and code quality.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"You will use \", mdx(\"em\", {\n    parentName: \"li\"\n  }, \"Java\"), \" as implementation language.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"There are no particular editors or tools mandated for the diagramming, pen and paper will suffice.\")), mdx(\"h2\", null, \"Deadlines 2023\"), mdx(\"p\", null, \"Assignment 1 Passing Grade: 22/9 23:59\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"Assignment 2 Passing Grade: 9/10 23:59\", mdx(\"br\", {\n    parentName: \"p\"\n  }), \"\\n\", \"Assignment 3 Passing Grade: 27/10 23:59  \"), mdx(\"p\", null, \"Assignment 1 & 2 Higher Grades: 27/10 23:59\\nAssignment 3 Higher Grades: 5/11 23:59\"), mdx(\"p\", null, \"Assignment Fixes: Deadline is announced in the merge request comment, if not stated 15 days after the decision of needed fixes.  \"), mdx(\"p\", null, \"Examination 2 / Yahtzee First Submission: TBA (likely early 2024)  \"), mdx(\"p\", null, \"Examination 3 / Yahtzee Second Submission: TBA (likely August 2024)\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#groups","title":"Groups"},{"url":"#examination","title":"Examination","items":[{"url":"#higher-grades","title":"Higher grades"},{"url":"#feedback","title":"Feedback"},{"url":"#tutoring","title":"Tutoring"}]},{"url":"#tools-and-language","title":"Tools and Language"},{"url":"#deadlines-2023","title":"Deadlines 2023"}]},"parent":{"relativePath":"old/03-assignments.md"},"frontmatter":{"metaTitle":"Assignment Tasks","metaDescription":"This is the meta description for this page","fullWidth":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/forelasningar-2026","title":"Föreläsningar 2026"}}},{"node":{"fields":{"slug":"/","title":"Objektorienterad analys och design med UML (1DV607)"}}},{"node":{"fields":{"slug":"/laborationer-2026","title":"Laborationer 2026"}}},{"node":{"fields":{"slug":"/old","title":"Old"}}},{"node":{"fields":{"slug":"/forelasningar-2026/00-tema-2-objektorienterad-analys-och-uml","title":"Tema 2 – Objektorienterad analys och modellering med UML"}}},{"node":{"fields":{"slug":"/forelasningar-2026/00-tema-3-objektorienterad-design-med-uml","title":"Tema 3 – Objektorienterad design med UML"}}},{"node":{"fields":{"slug":"/forelasningar-2026/01-kursintroduktion-och-domanmodellering","title":"1. Kursintroduktion och domänmodellering"}}},{"node":{"fields":{"slug":"/forelasningar-2026/02-objektorienterad-analys-och-modellering","title":"2. Objektorienterad analys och modellering"}}},{"node":{"fields":{"slug":"/forelasningar-2026/03-uml-modellering","title":"3. Fortsatt modellering med UML"}}},{"node":{"fields":{"slug":"/forelasningar-2026/04-grasp","title":"4. GRASP"}}},{"node":{"fields":{"slug":"/forelasningar-2026/00-tema-1-grunderna","title":"Tema 1 – Grunderna i objektorienterad analys och design"}}},{"node":{"fields":{"slug":"/laborationer-2026/01-laboration-1","title":"Laboration 1 – Domänmodellering"}}},{"node":{"fields":{"slug":"/old/001-introduction","title":"Course Introduction"}}},{"node":{"fields":{"slug":"/old/01-information","title":"Course Information"}}},{"node":{"fields":{"slug":"/laborationer-2026/02-laboration-2","title":"Laboration 2"}}},{"node":{"fields":{"slug":"/old/02-theory","title":"Theory"}}},{"node":{"fields":{"slug":"/old/03-assignments","title":"Assignments"}}},{"node":{"fields":{"slug":"/old/01-information/01-welcome","title":"Welcome to the Course"}}},{"node":{"fields":{"slug":"/old/01-information/registration","title":"Course Registration"}}},{"node":{"fields":{"slug":"/old/02-theory/01-intro_to_ooad","title":"Introduction to Object Oriented Analysis and Design"}}},{"node":{"fields":{"slug":"/old/01-information/grading","title":"Course Grading"}}},{"node":{"fields":{"slug":"/old/02-theory/03_software_architecture","title":"Software Architecture"}}},{"node":{"fields":{"slug":"/old/02-theory/04_mvc","title":"Model View Controller"}}},{"node":{"fields":{"slug":"/old/02-theory/02-domain_modeling","title":"Domain Modeling"}}},{"node":{"fields":{"slug":"/old/02-theory/06_grasp1","title":"GRASP 1"}}},{"node":{"fields":{"slug":"/old/02-theory/05_layers_components","title":"Layers & Components"}}},{"node":{"fields":{"slug":"/old/02-theory/07_grasp2","title":"GRASP 2"}}},{"node":{"fields":{"slug":"/old/02-theory/09_gof1","title":"GoF 1"}}},{"node":{"fields":{"slug":"/old/02-theory/10_gof2","title":"GoF 2"}}},{"node":{"fields":{"slug":"/old/02-theory/11_solid","title":"SOLID"}}},{"node":{"fields":{"slug":"/old/02-theory/08_grasp3","title":"GRASP 3"}}},{"node":{"fields":{"slug":"/old/02-theory/design_class_diagram","title":"UML Design Class Notation"}}},{"node":{"fields":{"slug":"/old/02-theory/design_class_relations","title":"UML Design Class Relations"}}},{"node":{"fields":{"slug":"/old/02-theory/design_object_diagram","title":"UML Object Diagram Notation"}}},{"node":{"fields":{"slug":"/old/02-theory/99-exercises","title":"Exercises"}}},{"node":{"fields":{"slug":"/old/02-theory/design_package_diagram","title":"UML Package Notation"}}},{"node":{"fields":{"slug":"/old/02-theory/domain_class_diagram","title":"UML Domain Model"}}},{"node":{"fields":{"slug":"/old/02-theory/reading-instructions","title":"Reading Instructions"}}},{"node":{"fields":{"slug":"/old/03-assignments/01-assignment_1","title":"Assignment 1"}}},{"node":{"fields":{"slug":"/old/03-assignments/02-assignment_2","title":"Assignment 2"}}},{"node":{"fields":{"slug":"/old/03-assignments/03-assignment_3","title":"Assignment 3"}}},{"node":{"fields":{"slug":"/old/03-assignments/04-yahtzee","title":"Yahtzee Assignment"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-a","title":"Övningsuppgifter del A"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-b","title":"Övningsuppgifter del B"}}},{"node":{"fields":{"slug":"/old/03-assignments/01-assignment_1/lending-system-problem-description","title":"Stuff Lending System Problem Description"}}},{"node":{"fields":{"slug":"/old/03-assignments/01-assignment_1/yacht-club-problem-description","title":"Yacht Club Problem Description"}}},{"node":{"fields":{"slug":"/old/old_template/videologgar","title":"Vlog"}}},{"node":{"fields":{"slug":"/old/old_template/codeblock/1-index","title":"Sub Page"}}},{"node":{"fields":{"slug":"/old/03-assignments/02-assignment_2/test_specification","title":"Test Specification"}}},{"node":{"fields":{"slug":"/old/old_template/codeblock","title":"Syntax Highlighting"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-a/01-hello-world","title":"Hello world"}}},{"node":{"fields":{"slug":"/old/old_template/ovningsuppgifter-del-a/02-simple-addition","title":"Enkel addition"}}}]}},"pageContext":{"id":"e2722c4c-0b24-594e-a1c8-27a7053c8f54"}},
    "staticQueryHashes": ["253607798","3706406642","710574383"]}