Skip to content

A collection of tools, resources, and guides I found during my 42 School journey.

License

Notifications You must be signed in to change notification settings

DevAwizard/42_resources

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎓 42 Resources Repository

Welcome to the 42 Resources repository! This is the collection of resources I wish I had when I first started learning to code, especially with C as my first programming language at 42 School.

📑 Table of Contents

  1. 🎯 Purpose
  2. 🚀 Getting Started
  3. 👀 Recommended Tools
  4. 🖥️ Recommended Visual Studio Code Extensions
  5. 🎓 For Complete Beginners
  6. 🔧 C Language Resources
  7. 📺 YouTube Channels to Follow
  8. 🧰 Developer Essentials Toolkit
  9. ✅ Final Checklist Before Submitting Your 42 Project
  10. 🌐 Useful Resources

🎯 Purpose

When I started at 42 School, I was a complete beginner and struggled to find the right resources to understand C and foundational programming concepts. This repository is designed to guide you through the same journey, offering the support and insights I gained along the way.

🚀 Getting Started

💻 Setting Up Your Workspace Environment

Why is it Important to Create a GitHub Account?

Creating a GitHub account is essential in your journey as a programmer, particularly at 42 School. Here’s why:

  • Version Control: Manage your code, track changes, and collaborate.
  • Collaboration: Work on projects with peers and merge contributions.
  • Portfolio Building: Showcase your projects and coding skills to future employers.
  • Access to Resources: Contribute to open-source projects and collaborate with a global community.
  • Student Benefits: Access the GitHub Student Developer Pack, including GitHub Pro and other tools.
🎒 How to Get Your GitHub Pro Account

As a 42 student, you can access the GitHub Student Developer Pack with additional features. Follow these steps:

  1. Visit the 42 GitHub Portal:
    🔗 42 GitHub Portal
  2. Sign In with Your 42 Account:
    Log in using your 42 School credentials.
  3. Enjoy the Benefits:
    Access features such as private repositories, advanced collaboration tools, and more.

🤝 Peer Collaboration

Struggling to find peers to work on projects or collaborate with?
Use the Find Peers tool to connect with other students at 42 School:

🔗 Find Peers

👀 Recommended Tools

Tool Description
Oh My Zsh Framework for managing your Zsh configuration with themes and plugins.
Cleaner_42 Script to clean and optimize your 42 workspace by removing unnecessary files.
42 Header Automatically adds the 42 header to your files for code compliance.
Norminette Linter to ensure your code follows the 42 School's coding standards.
42 Homebrew Homebrew tap for installing required packages and dependencies.
Valgrind 42 Memory leak detection tool tailored for 42 School.
gdbgui Browser-based GUI for debugging your programs with GDB.

💻Recommended Visual Studio Code Extensions

For 42 Projects

Extension Name Author
42 Header kube
42 Norminette DalexHD
42 ft count line doKca

C/C++ Development

Extension Name Author
C/C++ Microsoft
C/C++ Themes Microsoft
C/C++ Extension Pack Microsoft

Code Formatting & Display

Extension Name Author
Indent Rainbow oderwat
Makefile Tools Microsoft
Fluent Icons Miguel Solorio

Enhanced Commenting

Extension Name Author
Better Comments Aaron Bond

Markdown Support

Extension Name Author
Markdown TOC AlanWalk

🎓 For Complete Beginners

If you're new to coding, your first step is to develop a logical approach. Here are some great beginner resources:

  • Scratch: Visual projects to help you understand programming logic.
  • CS50 Scratch Tutorial: Introduction to programming logic using Scratch.

🔧 C Language Resources

Since you’ll start with the C language, the following resources will be invaluable:

This way, the W3Schools resource is neatly integrated into the list with the other key C language resources.

📺 YouTube Channels to Follow

Channel Description
CodeVault Advanced programming concepts and algorithms for C/C++.
freeCodeCamp Comprehensive tutorials for programming and web development.
BroCode Fun and practical coding tutorials across multiple languages.
makigas Programming tutorials in Spanish, covering web development and more.
mouredev Spanish channel focusing on mobile app development.
midulive Spanish-speaking community with live coding sessions.

🧰 Developer Essentials Toolkit

📄 Header Files

📌 Header Files in C
A great guide to understanding and using header files effectively in C.

📝 Makefile

📌 Makefile Tutor
This tutorial will help you master the art of creating efficient and error-free Makefiles for your projects.

💡 Want to spice up your program compilation? 🎨

If you'd like to display a colorful ASCII art title when compiling your program, check out this tools patorjk or asciiart.

✅ Final Checklist Before Submitting Your 42 Project

Before submitting your project at 42, it's crucial to ensure all aspects meet the required standards. Here's a checklist:

  1. Norminette Compliance
    Run norminette on all source and header files to ensure style compliance.

  2. No Hidden Files
    Remove hidden files like .DS_Store, a.out, or .vscode.

  3. Memory Leaks
    Use valgrind to check for memory leaks.

  4. No Global Variables
    Verify no global variables are used unless explicitly allowed.

  5. Expected Output
    Test your program to ensure it outputs correctly for all required and edge cases.

  6. Makefile
    Ensure your Makefile has all necessary rules (all, clean, fclean, re) and compiles without errors.

  7. Header Files
    Check your header file for correct function prototypes, macros, and includes.

I had made a guide for 42 C projects 🙌🏻

🌐 Useful Resources


About

A collection of tools, resources, and guides I found during my 42 School journey.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published