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.
- 🎯 Purpose
- 🚀 Getting Started
- 👀 Recommended Tools
- 🖥️ Recommended Visual Studio Code Extensions
- 🎓 For Complete Beginners
- 🔧 C Language Resources
- 📺 YouTube Channels to Follow
- 🧰 Developer Essentials Toolkit
- ✅ Final Checklist Before Submitting Your 42 Project
- 🌐 Useful Resources
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.
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.
As a 42 student, you can access the GitHub Student Developer Pack with additional features. Follow these steps:
- Visit the 42 GitHub Portal:
🔗 42 GitHub Portal - Sign In with Your 42 Account:
Log in using your 42 School credentials. - Enjoy the Benefits:
Access features such as private repositories, advanced collaboration tools, and more.
Struggling to find peers to work on projects or collaborate with?
Use the Find Peers tool to connect with other students at 42 School:
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. |
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 |
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.
Since you’ll start with the C language, the following resources will be invaluable:
- Learn-C.org: Interactive C Tutorial
- The C Programming Language by Kernighan & Ritchie
- TutorialsPoint: C Programming Tutorial
- GeeksforGeeks: C Programming Language
- CS50 YouTube Playlist
- W3Schools: C Programming
This way, the W3Schools resource is neatly integrated into the list with the other key C language resources.
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. |
📌 Header Files in C
A great guide to understanding and using header files effectively in C.
📌 Makefile Tutor
This tutorial will help you master the art of creating efficient and error-free Makefiles for your projects.
If you'd like to display a colorful ASCII art title when compiling your program, check out this tools patorjk or asciiart.
Before submitting your project at 42, it's crucial to ensure all aspects meet the required standards. Here's a checklist:
-
Norminette Compliance
Runnorminette
on all source and header files to ensure style compliance. -
No Hidden Files
Remove hidden files like.DS_Store
,a.out
, or.vscode
. -
Memory Leaks
Usevalgrind
to check for memory leaks. -
No Global Variables
Verify no global variables are used unless explicitly allowed. -
Expected Output
Test your program to ensure it outputs correctly for all required and edge cases. -
Makefile
Ensure your Makefile has all necessary rules (all
,clean
,fclean
,re
) and compiles without errors. -
Header Files
Check your header file for correct function prototypes, macros, and includes.
I had made a guide for 42 C projects 🙌🏻
- Free Programming Books
- Every Programmer Should Know
- Guía Entrevistas de Programación
- Best Websites a Programmer Should Visit
- Interactive Tutorials
- freeCodeCamp
- Coding Interview University