<commit_before>##### Module 2

# Prep for Class 1

Time Estimate | Task | Link | Instructions
--------------|------|------|-------------
30-45 mins | Watch Video | [Lecture: Week 2](TODO) | 
TODO | Read | [Resource: Calling Functions](../resources/callingfunctions) | TODO res: review of how to call a library function. Understanding return value vs side effect.
TODO | Do Exercise | [Exercise: atoi](../exercises/atoi) | TODO exc: make them use atoi function
TODO | Read | [Resource: Creating Functions](../resources/creatingfunctions) | TODO res: explain that in addition to using other people's functions like `printf` and `atoi`, we can also write our own. 
TODO | Follow-Along | [walkthroughs/functions-0](https://www.youtube.com/watch?v=9zoRoz8Pq4E&list=PLhQjrBD2T380sc-fXwl1sviA-twxFduVU&index=13), [walkthroughs/functions-1](TODO)
TODO | Resource | [Resource: Step Through](../resources.stepthrough) | TODO res: give a detailed picture of the ORDER in which code gets executed when you call a subroutine. Ideally use the debugger. Otherwise use print statements and maybe draw a picture / video
20 mins | Watch | [Doug's Playlist / Functions](https://www.youtube.com/watch?v=jtuMIHebSu8&list=PLhQjrBD2T383cKxax1sP6rKA3Q1JGrgcE&index=2)
TODO | Do Exercise | [Exercise: Next Num](../exercises/nextnum) | TODO exc: have them refactor a program that computes the next number after an input value, by pulling functionality out of main and into a function with signature `int successor(int n)`
TODO | Watch Video | [shorts/Return Values](https://www.youtube.com/watch?v=gziiOF0uIX8&index=6&list=PLhQjrBD2T381wyZt81eGNZuZ4rzOos-AF) | TODO: Potentially scrap this. Somewhat confusingly presented-- `void` as "simplest return type", and last example uses file i/o, which will be scary and unfamiliar.
TODO | Read | [Resource: Return Values](../resources/returnvalues) | TODO res: give picture of return values as evaluating a statement.
TODO | Read | [Lecture Notes: Week 2 / Functions](http://cdn.cs50.net/2015/fall/lectures/2/m/notes2m/notes2m.html#functions)
10 mins | Watch Video | [Doug's Playlist / Variables and Scope](https://www.youtube.com/watch?v=pBqyy8NwzqY&index=3&list=PLhQjrBD2T383cKxax1sP6rKA3Q1JGrgcE)
5 mins | Watch Video | [shorts/Scope](https://www.youtube.com/watch?v=UC5QAokAupo&index=8&list=PLhQjrBD2T381wyZt81eGNZuZ4rzOos-AF) | He mentions "stack frames" and memory towards the end. don't worry about it.
TODO | Read | [Resource: Scope](../resources/scope) | TODO res: buggy program with loop, need to pull out the variable to higher scope
TODO | Exercise | [Exercise: Scope](../exercises/scope) | TODO exc: something that follows from resources/scope
TODO | Read | [Lecture Notes: Week 2 / Representing Strings](http://cdn.cs50.net/2015/fall/lectures/2/m/notes2m/notes2m.html#representing_strings)
TODO | Follow-Along | [walkthroughs/string-0](https://www.youtube.com/watch?v=BYbuuUntOZ4&list=PLhQjrBD2T380sc-fXwl1sviA-twxFduVU&index=15), [walkthroughs/string-1](TODO), [walkthroughs/string-2](TODO)
20-30 mins | Do Exercise | [Exercise: Indexes](../exercises/indexes) | TODO exc: print each character in a string along with its index
TODO | Read | [Resource: More on For-Loops](../resources/forloops) | TODO res: more explanation on that strlen() thing in the for loop
TODO | Read | [Lecture Notes: Week 2 / Typecasting](http://cdn.cs50.net/2015/fall/lectures/2/m/notes2m/notes2m.html#typecasting)
TODO | Follow-Along | [Walkthrough: floats-0](https://www.youtube.com/watch?v=Eycgpd_HUIA&index=10&list=PLhQjrBD2T380sc-fXwl1sviA-twxFduVU), [Walkthrough: floats-1](TODO), [walkthroughs/floats-2](TODO)<commit_msg>add row for Chars resource<commit_after>##### Module 2

# Prep for Class 1

Time Estimate | Task | Link | Instructions
--------------|------|------|-------------
30-45 mins | Watch Video | [Lecture: Week 2](TODO) | 
TODO | Read | [Resource: Calling Functions](../resources/callingfunctions) | TODO res: review of how to call a library function. Understanding return value vs side effect.
TODO | Do Exercise | [Exercise: atoi](../exercises/atoi) | TODO exc: make them use atoi function
TODO | Read | [Resource: Creating Functions](../resources/creatingfunctions) | TODO res: explain that in addition to using other people's functions like `printf` and `atoi`, we can also write our own. 
TODO | Follow-Along | [walkthroughs/functions-0](https://www.youtube.com/watch?v=9zoRoz8Pq4E&list=PLhQjrBD2T380sc-fXwl1sviA-twxFduVU&index=13), [walkthroughs/functions-1](TODO)
TODO | Resource | [Resource: Step Through](../resources.stepthrough) | TODO res: give a detailed picture of the ORDER in which code gets executed when you call a subroutine. Ideally use the debugger. Otherwise use print statements and maybe draw a picture / video
20 mins | Watch | [Doug's Playlist / Functions](https://www.youtube.com/watch?v=jtuMIHebSu8&list=PLhQjrBD2T383cKxax1sP6rKA3Q1JGrgcE&index=2)
TODO | Do Exercise | [Exercise: Next Num](../exercises/nextnum) | TODO exc: have them refactor a program that computes the next number after an input value, by pulling functionality out of main and into a function with signature `int successor(int n)`
TODO | Watch Video | [shorts/Return Values](https://www.youtube.com/watch?v=gziiOF0uIX8&index=6&list=PLhQjrBD2T381wyZt81eGNZuZ4rzOos-AF) | TODO: Potentially scrap this. Somewhat confusingly presented-- `void` as "simplest return type", and last example uses file i/o, which will be scary and unfamiliar.
TODO | Read | [Resource: Return Values](../resources/returnvalues) | TODO res: give picture of return values as evaluating a statement.
TODO | Read | [Lecture Notes: Week 2 / Functions](http://cdn.cs50.net/2015/fall/lectures/2/m/notes2m/notes2m.html#functions)
10 mins | Watch Video | [Doug's Playlist / Variables and Scope](https://www.youtube.com/watch?v=pBqyy8NwzqY&index=3&list=PLhQjrBD2T383cKxax1sP6rKA3Q1JGrgcE)
5 mins | Watch Video | [shorts/Scope](https://www.youtube.com/watch?v=UC5QAokAupo&index=8&list=PLhQjrBD2T381wyZt81eGNZuZ4rzOos-AF) | He mentions "stack frames" and memory towards the end. don't worry about it.
TODO | Read | [Resource: Scope](../resources/scope) | TODO res: buggy program with loop, need to pull out the variable to higher scope
TODO | Exercise | [Exercise: Scope](../exercises/scope) | TODO exc: something that follows from resources/scope
TODO | Read | [Resource: Chars](../resources/Chars) | TODO briefly introduce the `char` type, and explain that strings we've seen so far are just a sequences of chars.
TODO | Read | [Lecture Notes: Week 2 / Representing Strings](http://cdn.cs50.net/2015/fall/lectures/2/m/notes2m/notes2m.html#representing_strings)
TODO | Follow-Along | [walkthroughs/string-0](https://www.youtube.com/watch?v=BYbuuUntOZ4&list=PLhQjrBD2T380sc-fXwl1sviA-twxFduVU&index=15), [walkthroughs/string-1](TODO), [walkthroughs/string-2](TODO)
20-30 mins | Do Exercise | [Exercise: Indexes](../exercises/indexes) | TODO exc: print each character in a string along with its index
TODO | Read | [Resource: More on For-Loops](../resources/forloops) | TODO res: more explanation on that strlen() thing in the for loop
TODO | Read | [Lecture Notes: Week 2 / Typecasting](http://cdn.cs50.net/2015/fall/lectures/2/m/notes2m/notes2m.html#typecasting)
TODO | Follow-Along | [Walkthrough: floats-0](https://www.youtube.com/watch?v=Eycgpd_HUIA&index=10&list=PLhQjrBD2T380sc-fXwl1sviA-twxFduVU), [Walkthrough: floats-1](TODO), [walkthroughs/floats-2](TODO)
{'fraction_non_alphanumeric': 0.13269824231852945, 'fraction_numerical': 0.031665101301489335, 'mean_word_length': 4.98714859437751, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 14, 'lorem ipsum': 0, 'www.': 14, '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': '5759471', 'n_tokens_mistral': 2700, 'n_tokens_neox': 2501, 'n_words': 697}