Skip to content

A collaborative repository for sharing solutions a list of valuable online resources.

Notifications You must be signed in to change notification settings

Governors-State-Technology-Clubs/resourceHub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resource Hub

Welcome to the Computer Science Society Resource Repository! This repository is dedicated to our collaborative learning journey as we tackle coding exercises, debug challenges, and possibly LeetCode problems together. Here, you'll find a collection of resources and solutions designed to support our learning and growth.

REMEMBER: As a separate note while working through class work or using external sources, focus on understanding the fundamentals. Fundamentals are the backbone of everything that has ever been made in human history.

Online Resources for Learning and Development

  • NOTE: THE TOOLS HERE ARE FOR YOU TO FREELY LEARN AND USE. FOR YOUR SAKE AND SANITY, PLEASE ONLY USE "LTS" A.K.A THE LONG TERM SUPPORTED VERSIONS. ALWAYS REMEMBER, YOU ARE IN CONTROL. WHAT YOU LEARN IS IN YOUR HANDS AND YOUR HANDS ALONE.

Programming Tutorials and Platforms:

Python Resources:

Version Control and Collaboration:

Community and Communication:

External Language and Exploration:

  • MinGW "Minimalist GNU For Windows - Minimalist GNU for Windows, a development environment for native Microsoft Windows applications.
  • OpenJDK Download - Free and open-source implementation of the Java Platform, Standard Edition.
  • OracleJDK21 Download - THE COMMUNITY VERSION IS FREE: If you want to play with Java use the community version. If you want to really build something without paying, I recommend the OpenJDK.
  • WSL Documentation "Windows Subsystem For Linux" - Documentation for running a Linux distribution alongside Windows.
  • Rust Language - A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
  • Rust Documentation - Official documentation and book for learning Rust.
  • JavaScript - A versatile programming language commonly used in web development.
  • JavaScript Documentation - Official documentation and guide for learning and using JavaScript.
  • Scala Language - A hybrid functional and object-oriented programming language.
  • Scala Documentation - Official documentation for learning and using Scala.
  • C++ Language - A general-purpose programming language created as an extension of the C programming language.
  • C++ Documentation - Official documentation and resources for learning C++.
  • Docker - Platform for developing, shipping, and running applications using containerization.
  • Docker Documentation - Official documentation for learning and using Docker.
  • Anaconda - Distribution of Python and R for scientific computing and data science.
  • Anaconda Documentation - Official documentation for learning and using Anaconda.
  • Conda - Package, dependency, and environment management for any language.
  • Jupyter Notebook - Open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
  • Jupyter Documentation - Official documentation for learning and using Jupyter Notebooks.

Collaboration and Contribution **Not Included

This repository serves as a central hub for our study group's resources and code. Members are encouraged to:

  • Upload their own solutions: Share your code for exercises and challenges to receive feedback and help others learn from your approach.
  • Seek assistance: If you're stuck on a problem, upload your code, and we can work through the issues together.
  • Review and collaborate: Provide constructive feedback on your peers' submissions, suggest improvements, and discuss alternative solutions.

Weekly Meetings **Not Included

Our study group meets weekly via Google Meet to discuss our progress, address any challenges, and share insights. This repository will serve as a supplement to our meetings.

Getting Started

Getting Started with Our GitHub Repository

Step 1: Install Git on Your Machine

To start using Git with the GitHub platform, you need to have Git installed on your machine. Follow the instructions below for your operating system:

  • Windows:

    1. Download Git for Windows from the official site: Git for Windows.

    2. Run the installer and follow the setup instructions.

    3. Confirm the installation by opening Command Prompt and typing into command prompt:

      git --version
      
  • macOS:

    1. Open the Terminal.

    2. Install Git using Homebrew (if you don't have Homebrew installed, follow the instructions at brew.sh):

      brew install git
      
    3. Confirm the installation by typing in the Terminal:

      git --version
      
  • Linux:

    1. Open your Terminal.

    2. Install Git using the package manager for your distribution, if you are using Linux I assume you know what package manager you're using. For example, on Ubuntu:

      sudo apt update
      sudo apt install git
      
    3. Confirm the installation by typing in the Terminal:

      git --version
      

Step 2: Clone the Repository

Once Git is installed, clone the repository to your machine:

  1. Open your terminal (Command Prompt, Git Bash, or Terminal).
  2. Run the following command:
git clone https://github.com/Cedric-Lard/studygroup.git

Step 3: Navigate to Relevant Folders

Explore the repository’s folders to find:

  • CodingExercises: Solutions to class exercises.
  • DebuggingChallenges: Solutions and discussions on debugging.
  • LeetCodeProblems: Solutions to LeetCode challenges.
  • Resources: Useful links to tutorials, documentation, and tools.

Step 4: Contribute and Collaborate

  • NOTE: These commands are ran in a terminal like command prompt, BASH, or something similar.

  • Upload Your Solutions: If you have solutions to share, upload your files to the respective folders.

  • Discuss Issues: Use GitHub Issues to ask questions or discuss problems encountered. You can also post in the discord.

  • Review and Comment: Review others’ solutions and provide constructive feedback.

Step 5: Add, Commit, Push, and Pull

  • Git Add

    To stage changes for a commit in Git, you use git add -A command. This will add all the files you modified to Git WARNING: ONLY CHANGE THINGS IN YOUR SPECIFIC FOLDER! If you write a file in someone else's folder PUT YOUR NAME ON IT. If your modifying someone else's file ASK FIRST! Or make your own copy somewhere else on your computer. DO NOT COMMIT AND PUSH CHANGES TO SOMEONE ELSE'S FILE TO THIS REPOSITORY.

    git add -A
    
  • Git Commit

    Next commit the changes in Git using the `git commit -m "" command Replace "" with a brief description of what files you have added.

    git commit -m "Added files to debugging_exercises"
    
  • Git Push

    Finally, type the command:

    git push origin
    
  • Git Pull

    If you want an update to date version of the repository run:

    git pull origin
    

    And then watch your folders update with everything everyone pushed to github. This will add everything to this repo for everyone to see.

Step 6: Stay Engaged

  • Use Discord: Join our Discord server for real-time discussions and updates.

Step 7: Learn and Grow

Take advantage of the curated resources in the Resources folder for additional learning.

Need Help?

If you have any questions or need assistance with the repository, feel free to reach out to Cedric via cedriclard76@gmail.com or other members via Discord.

Repository Structure **Not Included

The repository is organized into the following main directories:

Coding_Exercises

Contains additional coding exercises. I am hoping to hear your questions and post exercises that helps you guys get better.

  • Completed: Post your solutions and let's talk about it. It is important to realize that everyone thinks a bit differently and there is technically no "right" answer to coding patterns, conventions, or algorithm usage. Some things work better than others. If you develope a solution that works on your own please share it. It can help you grow to discuss what you did and how you thought of the problem and give us more perspectives.

    • member_name/: Subfolder for each member to keep their solutions organized.
      • exercise_name/: Specific exercise folder containing the solution files.
        • solution.py: The solution file.
        • notes.md: Notes and explanations.
  • To_Review: Exercises that need review and feedback.

    • member_name/: Subfolder for each member.
      • exercise_name/: Specific exercise folder containing the files needing review.
        • attempt.py: The initial attempt at solving the exercise.
        • notes.md: Notes and explanations.

Debug_Challenges

Contains debugging challenges from our class.

  • Completed: Solutions that have been finalized.

    • member_name/: Subfolder for each member to keep their solutions organized.
      • challenge_name/: Specific challenge folder containing the solution files.
        • fixed_bug.py: The fixed bug solution file.
        • explanation.md: Explanation of the bug and the fix.
  • Need_Help: Challenges that need assistance.

    • member_name/: Subfolder for each member.
      • challenge_name/: Specific challenge folder containing the problematic files.
        • bug_code.py: The code with the bug.
        • error_log.txt: Error log or description of the issue.

LeetCode_Challenges

Contains LeetCode problems.

  • Completed: Solutions that have been finalized.

    • member_name/: Subfolder for each member to keep their solutions organized.
      • problem_name/: Specific problem folder containing the solution files.
        • solution.py: The solution file.
        • explanation.md: Explanation of the solution.
  • To_Review: Problems that need review and feedback.

    • member_name/: Subfolder for each member.
      • problem_name/: Specific problem folder containing the files needing review.
        • attempt.py: The initial attempt at solving the problem.
        • questions.md: Questions or issues faced.

Resources

Contains markdown files with links and descriptions of useful online resources on specific topics. If there are topics missing, create a new folder make a new .md file for that folder and push it to the repo. This space is for you all to share information on areas of interest in Computer Science. What is currently here is just a template.

  • Cyber Security:: Add links to videos and reading materials on Cyber Security

  • Data Science: Add links to videos and reading materials on Data Science.

  • Data Structures: Add links to videos and reading materials on Data Structures. etc.

Example Structure

Here's an example of how the structure would look with some populated data:

study-group-repo/
├── README.md
├── Coding_Exercises/
│   ├── Completed/
│   │   └── Alice/
│   │       └── M01/
│   │           ├── solution1.py
│   │           └── notes.md
|   |           
│   └── To_Review/
│       └── Bob/
│           └── M01/
│               ├── attempt1.py
│               ├── notes.md
|               ├── Carol_Suggestion.py
|               └── Carol_notes.md  
├── Debug_Challenges/
│   ├── Completed/
│   │   └── Carol/
│   │       └── M01/
│   │           ├── solution1.py
│   │           └── explanation.md
│   └── Need_Help/
│       └── Dave/
│           └── M01/
│               ├── attempt.py
│               └── error_log.txt
├── LeetCode_Challenges/
│   ├── Completed/
│   │   └── Alice/
│   │       └── TwoSum/
│   │           ├── solution.py
│   │           └── explanation.md
│   └── To_Review/
│       └── Bob/
│           └── TwoSum/
│               ├── attempt1.py
│               └── notes.md
├── Resources/
│   ├── Cyber_Security.md
|   |   ├── Reading
|   |   |   └── READMELIST.md
|   |   └── Videos
|   |       └── READMELIST.md
│   ├── Data_Science.md
│   ├── Data_Structures.md
│   └── Databases.md
└── .gitignore

About

A collaborative repository for sharing solutions a list of valuable online resources.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%