<commit_before>[Week 8 and 9 Home](../../)

#U3.W8-9: OO Basics - Student

## Learning Competencies
- Use if/else statements, string methods, while/until loops, Enumerable#each methods
- Use strings, integers, arrays, and hashes
- Automate repetitive tasks using loops

## Summary:
In this challenge you will work with a collection of simple `Student` objects.

Your program will create arrays of student data, and compute the average scores for each student. 

## Release 0: Create an Array of Students

Create an array `students` with 5 Students.** Each student should be assigned a `first_name`, and 5 test scores (scores are between 0 and 100) when it is created. The first Student should be named `"Alex"` with scores `[100,100,100,0,100]`. Once you've done this properly, release 0 tests should pass.

## Release 1: Average Scores
Compute and assign a score average and a letter grade to each student.Letter grades are based on the average (A for >=90%, B for >=80%, C for >= 70%, D for >= 60% and F for < 60%). 

## Release 2: Linear Search

Write a [linear_search](http://en.wikipedia.org/wiki/Linear_search) method that searches the student array for a student's `first_name` and returns the position of that student if they are in the array. If the student is not in the array then the method should return -1.

## Release 3: Assert Statements
Translate the driver test code into Assert statements.

## Release 4: [Refactor](https://github.com/Devbootcamp/phase-0-handbook/blob/master/coding-references/refactoring.md)

## Release 5: [Reflect](https://github.com/Devbootcamp/phase-0-handbook/blob/master/coding-references/reflection-guidelines.md)

## Release 6: [Review](https://github.com/Devbootcamp/phase-0-handbook/blob/master/coding-references/review.md)

## Optimize your learning
Write a [binary_search](http://en.wikipedia.org/wiki/Binary_search_algorithm) method that searches the student array for a student ssn and returns the position of that student if they are in the array. If the student is not in the array then the method should return -1.  You can write a iterative (ore recursive, if you are comfortable with that) version of binary_search. 

<commit_msg>updated readme with info on student objects<commit_after>[Week 8 and 9 Home](../../)

#U3.W8-9: OO Basics - Student

## Learning Competencies
- Use if/else statements, string methods, while/until loops, Enumerable#each methods
- Use strings, integers, arrays, and hashes
- Automate repetitive tasks using loops

## Summary:
In this challenge you will work with a collection of simple `Student` objects.

Your program will create arrays of student data, and compute the average scores for each student. 

## Release 0: Create an Array of Students

Create an array `students` with 5 Student objects (HINT: You'll need to create the student objects first). Each student should be assigned a `first_name`, and 5 test scores (scores are between 0 and 100) when it is created. The first Student should be named `"Alex"` with scores `[100,100,100,0,100]`. Once you've done this properly, release 0 tests should pass.

## Release 1: Average Scores
Compute and assign a score average and a letter grade to each student.Letter grades are based on the average (A for >=90%, B for >=80%, C for >= 70%, D for >= 60% and F for < 60%). 

## Release 2: Linear Search

Write a [linear_search](http://en.wikipedia.org/wiki/Linear_search) method that searches the student array for a student's `first_name` and returns the position of that student if they are in the array. If the student is not in the array then the method should return -1.

## Release 3: Assert Statements
Translate the driver test code into Assert statements.

## Release 4: [Refactor](https://github.com/Devbootcamp/phase-0-handbook/blob/master/coding-references/refactoring.md)

## Release 5: [Reflect](https://github.com/Devbootcamp/phase-0-handbook/blob/master/coding-references/reflection-guidelines.md)

## Release 6: [Review](https://github.com/Devbootcamp/phase-0-handbook/blob/master/coding-references/review.md)

## Optimize your learning
Write a [binary_search](http://en.wikipedia.org/wiki/Binary_search_algorithm) method that searches the student array for a student ssn and returns the position of that student if they are in the array. If the student is not in the array then the method should return -1.  You can write a iterative (ore recursive, if you are comfortable with that) version of binary_search. 


{'fraction_non_alphanumeric': 0.09097019941743222, 'fraction_numerical': 0.021062065874971992, 'mean_word_length': 4.504315659679408, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, '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': '4925433', 'n_tokens_mistral': 1305, 'n_tokens_neox': 1200, 'n_words': 574}