<commit_before># Week 1 - Class 4
## Homework
* Using Playgrounds…  
  * Declare Enum that conforms to `Error`. Your enum should have at least 5 cases and should use Associated Values for 3 of the 5 cases using the following types:  
    * String  
    * (Int, Int)  
    * ()->()  
  * Declare a `Person` class with 3 member properties. Declare a `Student` subclass that inherits from Person.
    * Both Your Student and Person class should have at least 2 meaningful Type and 2 Instance Methods that would apply to each type. Be creative.
    * In one of these 2 classes(`Student` or `Person`), demonstrate a computed property and implement a property observer.
    * Your `Student` class should have a `student ID` property that is a unique identifier for each student
  * Create a `Classroom` class that is a true singleton and has an array of `Students`.
    * Add *accessor methods*(`add(Student:)`, `remove(Student:)`, `studentWith(id:)-> Student`, `allStudentNames()->[String]`, `studentCount()->Int`) to `Classroom` to access student data from the array.

## Reading Assignment:
* Cracking the Coding Interview/Programming Interviews Exposed:
  * Big O notation

## Other Resources
* [Grading Rubrics](../../resources/)
* [Lecture Resources](lecture/)
* [Lecture Slides](https://www.icloud.com/keynote/000U6vesUJwxPXIHFk2bnURYw#Week1_Day4)
<commit_msg>updated class 4 lab requirements<commit_after># Week 1 - Class 4
## Homework
* Using Playgrounds…  
  * Declare Enum that conforms to `Error`. Your enum should have at least 5 cases and should use Associated Values for 3 of the 5 cases using the following types:  
    * String  
    * (Int, Int)  
    * ()->()  
  * Demonstrate, using a switch statement, accessing each of the associated types.  
  * Declare a `Person` class with 3 member properties. Declare a `Student` subclass that inherits from Person.  
    * Both Your Student and Person class should have at least 2 meaningful Type and 2 Instance Methods that would apply to each type. Be creative.  
    * In one of these 2 classes(`Student` or `Person`), demonstrate a computed property and implement a property observer.  
    * Your `Student` class should have a `student ID` property that is a unique identifier for each student  
  * Create a `Classroom` class that is a true singleton and has an array of `Students`.  
    * Add *accessor methods*(`add(Student:)`, `remove(Student:)`, `studentWith(id:)-> Student`, `allStudentNames()->[String]`, `studentCount()->Int`) to `Classroom` to access student data from the array.  

## Reading Assignment:  
* Programming Interviews Exposed:  
  * Big O(not a specific chapter, just look up general concept in the book)  
  * [Big O From SwiftAlgorithmsClub](https://github.com/raywenderlich/swift-algorithm-club/blob/master/Big-O%20Notation.markdown)  
  * 
## Other Resources
* [Grading Rubrics](../../resources/)
* [Lecture Resources](lecture/)
* [Lecture Slides](https://www.icloud.com/keynote/000U6vesUJwxPXIHFk2bnURYw#Week1_Day4)

{'fraction_non_alphanumeric': 0.10109743930828068, 'fraction_numerical': 0.011639507815098104, 'mean_word_length': 4.046979865771812, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 3, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4020692', 'n_tokens_mistral': 893, 'n_tokens_neox': 842, 'n_words': 358}