Explorez le ordinateur-science-fondation-roadmap, un guide complet conçu pour créer une compréhension robuste de l'informatique. Des principes fondamentaux de programmation aux concepts avancés comme les structures de données et les systèmes d'exploitation, cette feuille de route offre un chemin d'apprentissage structuré avec des ressources vidéo recommandées, des exercices pratiques et des projets inspirants. Parfait pour les débutants et ceux qui visent à approfondir leurs connaissances, ce référentiel sert de ressource inestimable pour les professionnels en herbe en informatique et dans les domaines connexes.
Lors de la fabrication de cette feuille de route, je me concentre principalement sur les vidéos YouTube comme principales ressources d'apprentissage pour faciliter un chemin d'apprentissage plus facile. Cependant, il est essentiel de noter que les apprenants ne se limitent pas à ces seules ressources. L'informatique est un domaine étendu, et dans cette feuille de route, j'ai tenté d'encapsuler son étendue. Alors, plongez et profitez du parcours d'apprentissage !?
Python pour les débutants - Apprenez Python en 1 heure
Apprenez Python - Cours complet pour les débutants [Tutoriel]
Série de tutorat de programmation Python pour débutants (6 heures!)
Pratiques
Hello World: écrivez un programme qui imprime "Bonjour, monde!" à la console
Ajoutez deux nombres: créez un programme qui ajoute deux nombres saisis par l'utilisateur et affiche le résultat
Zone d'un rectangle: créez un programme qui calcule et affiche la zone d'un rectangle en fonction de la longueur et de la largeur fournies par l'utilisateur.
Celsius à Fahrenheit: Créez un programme qui convertit une température en Celsius en Fahrenheit. Le programme doit recevoir la température dans Celsius en entrée de l'utilisateur, effectuer la conversion et afficher le résultat avec deux décimales.
Échangez deux numéros: créez un programme qui échange deux nombres sans utiliser une troisième variable. L'utilisateur est invité à saisir deux nombres, et le programme doit échanger ses valeurs, garantissant que les valeurs d'origine sont échangées et que les nombres sont effectivement inversés.
Région ombrée: Calculez la zone de la région ombrée dans un carré avec un cercle inscrit. Compte tenu du rayon (R) du cercle inscrit, trouvez la zone du carré moins la zone du cercle. Présentez le résultat avec deux décimales pour représenter avec précision la zone de la région ombrée 
Enregistrez les informations de l'utilisateur: élaborez un programme qui collecte et enregistre les informations des utilisateurs, y compris leur prénom, son nom de famille, son âge, son sexe, son statut étudiant, leur taille en mètres et leur poids en kilogrammes.
Triangle valide: créez un programme qui détermine s'il est possible de former un triangle valide en utilisant trois bâtons avec les longueurs données a, b et c. Le programme doit prendre la longueur des bâtons en entrée de l'utilisateur et vérifier s'ils satisfont l'inégalité du triangle, où la somme des longueurs de deux bâtons doit être supérieure à la longueur du troisième bâton. Affichez le résultat en tant que "triangle peut être formé" si la condition est remplie, ou "Triangle ne peut pas être formé" si ce n'est pas le cas.
Classification de grade: développer un programme qui reçoit une note numérique en entrée de l'utilisateur (dans une plage de 0 à 100) et classe la note en une catégorie de note de lettre prédéfinie. Le programme doit utiliser les instructions IF-Else pour déterminer la note de lettre appropriée en fonction des gammes de classement typiques (par exemple, "A" pour les notes entre 90 et 100, "B" pour les notes entre 80 et 89, etc.). Après la classification, affichez la note de lettre calculée à l'utilisateur.
Afficher les astérisques dans une ligne: Créez un programme qui prend une valeur entière, W, en entrée et affiche un caractère astérisque (*) w fois dans une seule ligne. Le programme doit utiliser la valeur de W pour déterminer le nombre d'astérisques à afficher consécutivement dans une ligne. Assurez-vous que W est dans la plage de 0 <W <80. Si l'utilisateur entre W = 5, le programme s'affiche: ****
Afficher les astérisques dans un rectangle: développez un programme qui prend deux valeurs entières, W et H, en entrée et affiche une arrangement des caractères d'astérisque (*) dans un format rectangle avec les colonnes W et H. Le programme doit utiliser les valeurs de W et H pour déterminer les dimensions du rectangle et la remplir avec des astérisques en conséquence. Assurez-vous que W est dans la plage de 0 <W <80 et H se situe dans la plage de 0 <H <24.
Si l'utilisateur entre W = 4 et H = 3, le programme s'affiche:
****
****
****
Modèle de triangle à angle droit: créez un programme qui affiche un motif de triangle à angle droit avec une hauteur donnée (H).
Si l'utilisateur entre h = 4, le programme s'affiche:
*
**
***
****
Modèle de triangle à angle droit (inversé): développez un programme pour afficher un motif de triangle à angle droit inversé avec une hauteur donnée (H).
Si l'utilisateur entre h = 4, le programme s'affiche:
****
***
**
*
Modèle pyramide: créez un programme qui affiche un motif de pyramide avec une hauteur donnée (H).
Si l'utilisateur entre h = 4, le programme s'affiche:
*
***
*****
*******
Modèle de triangle creux: développez un programme pour imprimer un motif de triangle creux avec une hauteur donnée (h), comme ceci:
Si l'utilisateur entre h = 5, le programme s'affiche:
*
**
* *
* *
*****
Modèle de triangle numéro: écrivez un programme qui crée un modèle de triangle numérique avec une hauteur donnée (h), par exemple:
Si l'utilisateur entre h = 4, le programme s'affiche:
1
12
123
1234
Pascal's Triangle: Créez un programme pour générer et afficher les premières lignes «H» du triangle de Pascal, un modèle mathématique:
Si l'utilisateur entre h = 4, le programme s'affiche:
1
1 1
1 2 1
1 3 3 1
Triangle de Floyd: développez un programme pour imprimer le triangle de Floyd avec des lignes «H», où chaque ligne contient des numéros consécutifs:
Si l'utilisateur entre h = 4, le programme s'affiche:
1
2 3
4 5 6
7 8 9 10
Modèle de diamant: créez un programme qui affiche un motif de diamant en utilisant des astérisques (*) avec une hauteur donnée (h), comme ceci:
Si l'utilisateur entre h = 3, le programme s'affiche:
*
***
*****
***
*
Modèle de sablier: écrivez un programme qui imprime un motif de sablier avec une hauteur donnée (h), par exemple:
Si l'utilisateur entre h = 3, le programme s'affiche:
*****
***
*
*
***
*****
FizzBuzz: Écrivez un programme qui itère à travers une séquence de nombres (généralement de 1 à n) et effectue les actions suivantes pour chaque numéro:
Trouver la semaine: développer un programme qui détermine le jour de la semaine d'une date donnée au format "DD / MM / YYYY". Le programme doit prendre une date en tant que contribution, y compris le jour, le mois et l'année, et calculer le jour de semaine correspondant. Il devrait tenir compte des années de saut et fournir le nom de la semaine (par exemple, "lundi", "mardi") pour la date fournie.
Supposons que l'utilisateur entre dans la date comme suit: 15/11/2023.
Le programme doit calculer que le 15 novembre 2023 est un mercredi et fournir le résultat:
The weekday for 15/11/2023 is Wednesday.
Fonctions de la calculatrice : Créez un programme de calculatrice simple qui effectue des opérations arithmétiques de base (addition, soustraction, multiplication et division). Organisez le code en créant des fonctions distinctes pour chaque opération (par exemple, ajouter, soustraire, multiplier, diviser). Appelez ces fonctions pour effectuer des calculs en fonction de l'entrée utilisateur.
Fonctions de liste de tâches : Créez une application de liste de tâches qui permet aux utilisateurs d'ajouter, d'afficher et de marquer les tâches terminées. Implémentez les fonctions pour ajouter des tâches, afficher la liste et marquer les tâches comme fait. Utilisez des fonctions pour garder le code organisé et facilement extensible.
Numéro maximum dans un tableau : Écrivez un programme qui trouve et affiche le nombre maximum dans un tableau d'entiers. Implémentez un algorithme pour parcourir le tableau et suivre la valeur maximale trouvée.
Inversion de chaîne : Créez un programme qui prend une chaîne en entrée et inverse les caractères dans la chaîne. Développez un algorithme pour réorganiser les caractères dans l'ordre inverse, produisant la chaîne inversée.
Données de tri : implémentez un algorithme de tri pour organiser une liste des entiers dans l'ordre croissant. Développez un programme qui applique le tri ascendant aux données données et affiche le résultat trié.
Trouver le numéro minimum dans un tableau : Écrivez un programme qui trouve et affiche le numéro minimum dans un tableau d'entiers.
String Palindrome Checker : Créez un programme qui vérifie si une chaîne donnée est un palindrome (lit les mêmes avant et en arrière). Développez un algorithme qui compare les caractères de la chaîne des deux extrémités pour déterminer s'il s'agit d'un palindrome.
Compter les occurrences dans un tableau : développer un programme qui compte les occurrences d'un élément spécifique dans un tableau. Implémentez un algorithme qui itère dans le tableau et continue de suivre le nombre de fois que l'élément apparaît.
Trouver la moyenne (moyenne) d'un tableau: écrivez un programme qui calcule et affiche la moyenne (moyenne) d'un tableau de nombres. Développez un algorithme pour résumer les éléments du tableau et diviser par le nombre d'éléments pour trouver la moyenne.
Recherche d'un élément dans un tableau: Créez un programme qui recherche un élément spécifique dans un tableau et renvoie son index si trouvé. Implémentez un algorithme qui itère dans le tableau pour localiser l'élément souhaité.
Compter les mots dans une chaîne : écrivez un programme qui compte le nombre de mots dans une chaîne donnée. Développez un algorithme qui identifie les limites des mots et compte les mots de la chaîne.
Calcul factoriel: implémentez un programme qui calcule le factoriel d'un entier donné (par exemple, 5! = 5 * 4 * 3 * 2 * 1). Développer un algorithme pour effectuer le calcul factoriel.
Racine carrée: développez une fonction qui calcule la racine carrée d'un nombre positif «n» avec un niveau spécifié de précision «p». La fonction doit utiliser la méthode de recherche binaire pour approximer la racine carrée en décimales «p».
Trouvez le nombre minimum . Lien: https://www.hackerrank.com/contests/w30/challenges/find-the-minimum-mbumber/problem
Jeu deviner: créez un jeu de devinettes où l'utilisateur doit deviner un numéro généré au hasard.
Prime ou non implémenter un programme qui vérifie si un numéro donné est premier ou non.
Ajoutez deux matrices de la même taille: créez un programme qui ajoute deux matrices de la même taille. L'utilisateur doit saisir les dimensions (lignes et colonnes) des matrices, puis fournir les valeurs pour chaque élément dans les deux matrices. Votre programme doit valider que les matrices ont les mêmes dimensions pour l'ajout et afficher la matrice résultante.
Multipliez deux matrices: créez un programme qui multiplie deux matrices. L'utilisateur doit saisir les dimensions (lignes et colonnes) des deux matrices et fournir les valeurs pour chaque élément dans les deux matrices. Votre programme doit valider que les matrices ont des dimensions compatibles pour la multiplication et afficher la matrice résultante.
Projets
Construisez un jeu d'apprentissage arithmétique interactif pour les écoliers
Jeu de serpents basé sur la console
Comment j'étudie les structures de données et les algorithmes (comme autodidacte)
Algorithmes expliqués pour les débutants - comment j'aurais aimé que je sois enseigné
Structures de données et algorithmes en 15 minutes
Structures de données Facile à avancé - Tutoriel complet d'un ingénieur Google
Pratiques :
Input:
nums = [8, 7, 2, 5, 3, 1]
target = 10
Output:
Pair found (8, 2)
or
Pair found (7, 3)
Input:
nums = [5, 2, 6, 8, 1, 9]
target = 12
Output: Pair not found

Projets :
HashTable qui prend en charge les opérations de base suivantes:insert ): implémentez une méthode pour insérer une paire de valeurs clés dans la table de hachage. Si la clé existe déjà, mettez à jour la valeur correspondante.get ): implémentez une méthode pour récupérer la valeur associée à une clé donnée. Si la clé n'est pas trouvée, renvoyez une valeur désignée indiquant l'absence (par exemple, None ou null ).delete ): implémentez une méthode pour supprimer une paire de valeurs clés de la table de hachage en fonction de la clé fournie.Qu'est-ce que Linux?
Qu'est-ce que Linux? - Linux a expliqué
Les répertoires Linux expliqués en 100 secondes
Pratiques :
Les 20 meilleures commandes que chaque utilisateur Linux doit connaître
10 commandes de terminal Linux pour les débutants
Commandes de terminal de base dans Linux Ubuntu (tutoriel Ubuntu pour les débutants)
Pratiques :
mkdir pour créer un répertoire nommé «FOO» sur le bureau. cd et créez un sous-répertoire nommé 'Bar' à l'aide de mkdir . mv pour renommer le fichier 'path.txt' vers 'pwd.txt' dans le répertoire 'bar'. mkdir . touch pour créer trois fichiers nommés 'file1.c', 'file2.cpp' et 'file3.py'. cp pour copier tous les fichiers du répertoire «TMP» dans le répertoire «bar». rm pour supprimer le répertoire «TMP» avec son contenu. ls avec des options appropriées pour répertorier tous les fichiers (y compris les fichiers cachés) dans le répertoire «bar». Redirigez la sortie vers un nouveau fichier nommé 'report.txt' à l'aide de l'opérateur > . grep avec l'option r pour rechercher toutes les lignes contenant «foo» ou «bar» récursivement à partir du répertoire personnel. wget pour télécharger le fichier à partir de l'URL spécifiée (https://raw.githubusercontent.com/dwyl/english-words/master/words.txt). grep pour rechercher le mot «John» à partir du fichier récemment téléchargé (Words.txt). Affichez les lignes contenant «John» ainsi que des numéros de ligne consécutifs. Bash en 100 secondes
Cours intensif de scripts de coquille - niveau débutant
Projets :
Générer le script à partir de l'histoire des commandes avec Progress Echo:
history.txt (le résultat des tâches de pratique précédentes) en un script shell ( script.sh ) avec des instructions echo supplémentaires pour afficher la progression.history.txt (le résultat des tâches de pratique précédents) et examinez attentivement les commandes.script.sh .history.txt dans script.sh .echo avant chaque commande pour fournir des indications de progrès visuel.script.sh avec des instructions echo ajoutées: #! /bin/bash
# Displaying current progress
echo " Creating 'foo' directory on Desktop... "
mkdir ~ /Desktop/foo
# Displaying current progress
echo " Creating 'bar' directory inside 'foo'... "
cd ~ /Desktop/foo
mkdir bar
# Displaying current progress
echo " Creating 'path.txt' and inserting absolute path... "
echo " $( cd ~ /Desktop/foo/bar && pwd ) " > path.txt
# (Repeat for each command)
# Displaying final progress
echo " Script execution completed! "script.sh dans un dossier de bureau.script.sh .chmod +x script.sh ../script.sh .echo aident à visualiser la progression de l'exécution de chaque commande. Capture des captures d'écran de votre écran
# User input for time interval
Enter the time interval for taking screenshots (in seconds): 60
# Script output during execution
Creating folder: screenshot data
Creating folder: 2022-03-28
Capturing screenshot: Screen Shot 2022-03-28 at 17.48.06.jpg
Capturing screenshot: Screen Shot 2022-03-28 at 17.49.06.jpg
...screenshot.sh .chmod +x screenshot.sh ../screenshot.sh . Git & Github Crash Course pour les débutants
Tutoriel Git et Github pour les débutants
Tutoriel GIT pour les débutants: Fondamentaux de la ligne de commande
Git et Github pour les débutants - Course Crash
Projets:
Installez GIT: Installez GIT sur votre ordinateur.
Configurez Git: configurez votre nom d'utilisateur et votre e-mail GIT.
Créer un référentiel local:
git initAjouter et commettre des modifications: ajouter des fichiers à la zone de stadification et commettre des modifications dans le référentiel.
git add .
git commit -m " Initial commit "Afficher l'état du référentiel: vérifiez l'état de votre référentiel.
git status Créez readme.md: créez un fichier README.md pour votre projet.
Écrivez sur vous-même dans Readme.md: Écrivez sur vous-même
Décorer Readme.md: Améliorez l'esthétique du fichier README.md en ajoutant du formatage, des en-têtes, des puces ou de tout autre éléments qui améliorent la lisibilité.
Commissez les modifications: utilisez GIT pour mettre en scène et commettre les modifications apportées au fichier README.md .
Écrivez un message de validation significatif: fournissez un message de validation descriptif et significatif qui résume l'objectif de l'engagement.
Voir l'historique de la validation: voir l'historique des validations de votre référentiel.
git logCréer un compte GitHub:
Créez un référentiel distant sur GitHub:
Connectez le référentiel local à GitHub:
git remote add origin < repository_url >
git branch -M main
git push -u origin mainCloner un référentiel:
git clone < repository_url >Créer une branche:
git branch < branch_name >
git checkout < branch_name >Commutation entre les branches:
git checkout < branch_name >Fusion des branches:
git checkout < target_branch >
git merge < source_branch >Résoudre les conflits de fusion:
Tirez les modifications de la télécommande:
git pull origin mainPoussez les modifications à la télécommande:
git push origin < branch_name >Créer et appliquer les demandes de traction:
Fourk un référentiel:
Cloner et contribuer au référentiel fourchu:
git clone < forked_repository_url >
# Make changes
git add .
git commit -m " Description of changes "
git push origin < branch_name >Examiner et fusionner les demandes de traction:
Fondation de la Fondation informatique © 2023 par Saidamir Botirov est sous licence sous CC BY-SA 4.0