<jupyter_start><jupyter_text>Introduction:I'm <NAME> from EECS1530 Section M. I am not an expert with Python, Jupyter Notebook, Github, and am pretty much new to computer science. Keep that in mind! This notebook is my way of contributing the solutions I find to my own problems and sharing them with anyone else who might have the same problems. I use Ubuntu v18.04, and anyone who uses MacOS or Windows can add additional resources you've found for the course.This course moves quickly, and if you're not setup properly or miss anything, it's easy to get lost if you're new to programming. So I decided to set up a few of the resources I've found to keep up. Tips:If you're struggling in lectures you can follow up by reading the slides and the books recommended by Rabia in the course syllabus:https://www.automatetheboringstuff.comhttps://www.openbookproject.net/thinkcs/python/english3eMost of the lectures and slides follow along with the first book very closely, and the second book will help reinforce that information.- Rabia has recently posted the TA's office hours on Moodle. If you're new to university, I'll give you some advice: take advantage!! It's intimidating at first but feel free to knock on his door and introduce yourself, what class you're in, and let him know you're having trouble. If you're nervous, message me and we can go together or I can ask for you as I'm free during those hours. Additional online tutorialsPersonally, I find there's a point where tutorials and lessons begin incredibly basic (ex. `print('Hello world!')`) and then the learning curve suddenly increases exponentially, or if I get stuck in one small section and spend too much time trying to figure it out, I fall behind. That's where some self-learning comes in. The following is a list of some resources I've found to help. 1. https://www.digitalocean.com - I found the Python tutorials on this site simplified everything. They have entire pages dedicated to small intermediary steps or alternative codes, which the course doesn't have time to go over. As an example, I had trouble creating virtual environments to import libraries, and therefore I have trouble importing modules. Digital Ocean has tutorials explaining how to create virtual environments on different operating systems, which wasn't covered within the scope of our class. 2. https://www.digitalocean.com/community/tutorials/how-to-write-modules-in-python-3 - this is the page with links to other tutorials that go over creating virtual environments and defining functions. If you're struggling with any of these areas, I found this helpful to go over things in more detail 3. https://www.learnpython.org/en/Modules_and_Packages - this is another page that may help anyone truggling with Modules, PYTHONPATH, and virtual environments.I'll admit I'm focusing on these areas because, while I get them in theory, in practice I've been struggling to apply them. If anyone else in class is as lost as I am and determined to get a decent grade, I hope you take advantage and can apply them to the lectures. I'll add others as I come across them. Final Notes: If anyone has any other resources or tips for other OS users (Mac, Windows, Raspian!!) please share. I'm still figuring out how Jupyter-Notebook works, so if it's read-only we can probably just use my Github (https://github.com/Filipowich/jupyterNotebook-EECS1530-AF) to add files.After you skim through some of these resources and find some that work for you, go through Rabia's lecture slides again and see if things seem clearer. It seems tedious but there will always be self-learning involved in any university course, especially when there is a course with a lot of information packed into a short period of time, coupled with a steep learning curve. Any area you feel confused, don't give up and use any and all resources, starting with optional materials provided by the professor, using the TA's office hours, getting together in study groups, or even researching additional material. I'll be adding experimental sample scripts below as I figure out the solutions to my own problems!   Creating a Module(work in progress)source: https://www.digitalocean.com/community/tutorials/how-to-write-modules-in-python-3  hello.py:create a file in a local programming environment (virtual environment)name it `hello.py`<jupyter_code>#define a function
def world():
    print("Hello world!")<jupyter_output><empty_output><jupyter_text>main_program.pyCreate a second file in the same directory called `main_program.py` in order to import the module `hello.py`Alternative method on calling functions: https://www.digitalocean.com/community/tutorials/how-to-import-modules-in-python-3using-from--import<jupyter_code># Import hello module
import hello

# Call function
hello.world()

# Alternative method:
from hello import world<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.05374358974358975, 'fraction_numerical': 0.0038974358974358976, 'mean_word_length': 4.860576923076923, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 10, 'https://': 8, 'lorem ipsum': 0, 'www.': 7, '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}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '626964', 'license': 'MIT', 'n_tokens_mistral': 1249, 'n_tokens_neox': 1165, 'n_words': 702, 'path': 'Additonal Learning Resources .ipynb', 'repo_name': 'Filipowich/jupyterNotebook-EECS1530-AF', 'size': '4886'}