
Courses within the Para-Professional Education of Science program guide students to meet the general education requirements specified by Haskell Indian Nations University as well as course work within the ETEP to support a career in para-professional education.įollowing successful completion of the Associate of Science Para-Professional Education Degree, students seeking a Bachelor of Science Degree in Elementary Education apply for admission to Haskell’s SOE/ETEP. Students seeking this training, first complete the Associates of Science degree in Para-Professional Education during freshman and sophomore enrollment.
#HASKELL ELEMENTARY LICENSE#
The major and license option available within the SOE is Elementary Education: Kindergarten through sixth grade, KSDE-approved program. The Elementary Teacher Education Program was included in the 2020 CAEP accreditation review. The Kansas State Department of Education (KSDE) and Council for the Accreditation of Educator Preparation (CAEP). We will eventually explain what that means when we discuss monads.Haskell’s School of Education (SOE) is accredited by:
↑ The reason why it works this way instead of crashing out on a pattern matching failure has to do with the real nature of list comprehensions: They are actually wrappers for the list monad. In any case, if we, given an arbitrary key, try to retrieve a value there is no guarantee we will actually find a value associated to the key. ↑ The canonical example of such an operation is looking up values in a dictionary - which might just be a list with the tuples being key-value pairs, or a more sophisticated implementation. Rather, there is an equality comparison behind the scenes ↑ As perhaps could be expected, this kind of matching with literals is not constructor-based. In a later chapter, we will consider one simple way of dealing with such cases. With a different problem, it might not be reasonable to return any list if the first match failed. ↑ Reasonable for this particular task, and only because it makes sense to expect that dropThree will give when applied to a list of, say, two elements. break down values into parts, as the (x:xs) pattern does by binding two variables to parts (head and tail) of a matched argument (the non-empty list). As _ and show, binding is not an essential part of pattern matching, but just a side effect of using variable names as patterns. In this case, the variables f, x, and xs are assigned to the values passed as arguments to map when the second equation is used, and so we can use these values through the variables in the right-hand side of =. bind variables to the recognized values. For instance, when map is called and the second argument matches the first equation for map is used instead of the second one.
Finally, these considerations imply that xs will also match an empty list, and so a one-element list matches (x:xs).įrom the above dissection, we can say pattern matching gives us a way to:
Just like f, they match anything - though it is evident that if there is a successful match and x has type a, xs will have type.
In the (x:xs) pattern, x and xs can be seen as sub-patterns used to match the parts of the list.
_ is the pattern which matches anything without binding (wildcard, "don't care" pattern). is a pattern that matches the empty list. (x:xs) is a pattern that matches a non-empty list which is formed by something (which gets bound to the x variable) which was cons'd (by the (:) function) onto something else (which gets bound to xs). f is a pattern which matches anything at all, and binds the f variable to whatever is matched. Map _ = map f ( x : xs ) = f x : map f xsĪt surface level, there are four different patterns involved, two per equation.