The goal of this session is to have experience with, and a preliminary understanding of, the following elements of code in R (or Python). You can achieve this goal by carrying out the following exercises. You don't need to do the exercises in any particular order. You may choose to carry out each of the exercises separately, or you can write a single program that carries out all of the individual exercises, at some point during the execution of the program. While doing these exercises, you will find a lot of helpful information and code on the internet! Expressions, Variables, Data Structures and Operators Create three variables and assign numerical values to each of these variables. Then write one or more statements that carry out the following types of mathematical operations using these variables: addition, subtraction, multiplication, division, raising to a power. Create three variables and assign string values to each of these variables. Write a statement that joins the three strings into a single string. Write some code that will print out the string. Write some code that will test to see if a substring of your choosing is contained within the the larger string. Create three variables and assign lists to each of these variables. Join the three lists into a new list containing three distinct sublists (a list of three lists). Also create a list that has no sublists (all the original list elements are part of a single larger list). Create a fourth list by splitting this resulting list in half and assigning the second half of the list to a new variable. Extract the last item of this list (it can either stay in the original list or be removed from it) and assign this element to a variable. Statements, Blocks, Control Flow, Logical Operators Write a statement that contains at least three nested blocks. Use at least three of the following control flow options: if, if else, while, for, break, continue (python only), next, switch. Functions Write a function that takes three arguments as input and returns one value. Call the function with arguments of your choosing. Libraries/Packages/Modules Execute the relevant command that shows a list of the packages (for R) or modules (for Python) that are currently installed in your Jupyter notebook environment (Hint - use the internet, example notebooks and handouts to help you find the relevant command). Use available documentation to determine what some of these packages/modules do (Hint - take a look at the Python and R notebooks that are available - you may notice some relevant information here). Choose a module/package from this list. and load the relevant package/module if necessary. Write some code that uses functions and objects supplied by this package. Inputs/Outputs Print to the standard output of the Jupyter notebook three sentences of your choosing, on three separate lines, using a single statement of code. Locate a csv file stored in some directory on your computer (Hint - there should be a folder called Data in the main notebook directory). Read the data in this file and store the results in one or more variables. Print to the standard output of the Jupyter notebook three sentences of your choosing, on three separate lines, using a single statement of code. Create a new file and write four lines in CSV format to this file. In a separate statement, write four more lines to this existing file, without overwriting the original file. Interpreters/Compilers Write enough code to generate at least five different error messages from your interpreter. Copy these error messages into a markdown cell, and write a short note under each explaining the meaning of the error message, and how the code was fixed.