diff --git a/practicals/week11/tasks.md b/practicals/week11/tasks.md index 2fd80042a4d772d4e69b53cf7825a66f229cbab2..25a6338a9dae03add69a08949fee08939b59fbdc 100644 --- a/practicals/week11/tasks.md +++ b/practicals/week11/tasks.md @@ -1,6 +1,6 @@ # Week 11 Tasks for practicals -From [Karl Beechers book: Computational thinking: a beginner's guide to problem-solving and programming ](https://blackboard.uwe.ac.uk/webapps/blackboard/content/listContentEditable.jsp?content_id=_9740235_1&course_id=_358486_1&mode=reset), read chapter 3. +From [Karl Beechers book: Computational thinking: a beginner's guide to problem-solving and programming ](https://blackboard.uwe.ac.uk/webapps/blackboard/content/listContentEditable.jsp?content_id=_9740235_1&course_id=_358486_1&mode=reset), read chapter 4. # Task 1 (Assessment Work!) ## 1.1 : Flow Diagrams @@ -20,7 +20,9 @@ Write up at least 150 words that describe your process of creating a flow chart > Note: the code you write in this section should relate to your problem and not just login (login should not be the main focus of your code - though it might be included) -Convert your flow diagram to python, simulating certain actions with a print statement. For example, based on the diagram for user login (from the lecture), we might provide the following code: +Convert your flow diagram to python, simulating certain actions with printed output. Add this code snippet and some written content describing it your `report.md`. + +The following is the example from the lecture, based on the flow diagram for user login (from the lecture), we might provide the following code: ```python existing_username = 'dumbledore88' @@ -35,48 +37,20 @@ if username == existing_username: print('login') else: print('signup') - - ``` # Task 2 (Assessment Work!) -## 2.1 - -You should start by stating the problem that you are looking to solve at the start of your portfolio and you should check with your practical tutor that this problem has sufficient scope. (If you are unsure of a problem, you can choose one of the supplied problems from the scenario). -The Assignment Scenarios have been updated, see [here.](https://gitlab.uwe.ac.uk/ctap/ctap-resources/-/blob/main/assignment-scenarios.md?ref_type=heads) - -## 2.2 - -For your chosen scenario isolate one of the problems related to that scenario and decompose the problem using a tree diagram- this diagram should be at least 3 layers deep. You should discuss this process in approximately 150 words and add this discussion and tree diagram to you `portflio/report.md` file in the decomposition section. - -## 2.3 - -Attempt to create a function which provides a generalised solution to one of the smaller decomposed problems that you have defined. You will need to assume some form of input for this example (you are free to use you existing python knowledge to create appropriate inputs). For those that are new to programming, the use of a function with arguments would be sufficient for this - see task 1.2 for an example. - -## 2.4 (Extra credit) -Continue to create generalised functions that can address elements of the problem that you have broken down. Further discuss these functions in your portfolio. - -# Task 3 : Requirements elicitation - -## 3.1 - -Greenstores are designing a simple app to allow their users (owners of Electric Vehicles (EVs)) to schedule times for them to ensure their car has charge. For example, if a user knows they will be planning a trip that is not part of their normal routine, their car battery may have been depleted to assist the power grid and therefore not be charged. This app needs to allow users to prevent this. -## 3.2 - -In this weeks notes: -Consider the feasibility for such an app given existing technology and laws - is this feasible? -## 3.3 +## 2.1 Data and entity relationship diagrams -Describe the functional and non functional requirements for such an app. +Identify the data required for your chosen problem and begin to build a model of this data using an entity relationship diagram. -# Task 4 : Requirements elicitation (Assessment Work!) +## 2.2 Coding -## 4.1 +Program a representation of your data in python using relevant data structures in particular dictionaries and lists (as described in the lectures). This may require further description and exploration of these python concepts. You should try to construct and print this data before considering how this may be integrated into your program -For the problem you have identified for your assessment work, discuss, research and write approximately 150 words that describe how you would explore the feasibility of solving the problem you have identified. Consider available technology for addressing the problem and how you might break the problem down to understand what sub problems may take longer (or even an undefined amount of time). How would you approach designing MVP (minimum viable product) solutions to test this? +## 2.3 Write up -## 4.2 +Write up your exploration of the data structures and include your entity relationship diagram in the modelling section, writing approximately 150 words. -In your portfolio, provide the functional and non functional requirements for your problem, writing approximately 150 words for your assessment work. Remember to discuss how these requirements would be validated.