Jelajahi Computer-Science-Foundation-Roadmap, panduan komprehensif yang dirancang untuk membangun pemahaman yang kuat tentang ilmu komputer. Dari fundamental pemrograman hingga konsep canggih seperti struktur data dan sistem operasi, peta jalan ini menawarkan jalur pembelajaran terstruktur dengan sumber daya video yang direkomendasikan, latihan langsung, dan proyek yang menginspirasi. Sempurna untuk pemula dan mereka yang bertujuan untuk memperdalam pengetahuan mereka, repositori ini berfungsi sebagai sumber daya yang tak ternilai bagi para profesional yang bercita -cita tinggi dalam ilmu komputer dan bidang terkait.
Saat menyusun peta jalan ini, fokus utama saya adalah pada video YouTube sebagai sumber belajar utama untuk memfasilitasi jalur pembelajaran yang lebih mudah. Namun, penting untuk dicatat bahwa peserta didik tidak terbatas pada sumber daya ini saja. Ilmu komputer adalah bidang yang luas, dan dalam peta jalan ini, saya telah berusaha merangkum luasnya. Jadi, selami dan nikmati perjalanan belajar!?
Python untuk Pemula - Pelajari Python dalam 1 jam
Pelajari Python - Kursus Lengkap untuk Pemula [Tutorial]
Pemrograman python pemula Seri tutorial all-in-one (6 jam!)
Praktik
Halo Dunia: Tulis program yang mencetak "Halo, dunia!" ke konsol
Tambahkan dua angka: Buat program yang menambahkan dua angka yang dimasukkan oleh pengguna dan menampilkan hasilnya
Area persegi panjang: Buat program yang menghitung dan menampilkan area persegi panjang berdasarkan panjang dan lebar yang disediakan pengguna.
Celcius to Fahrenheit: Buat program yang mengubah suhu di Celcius menjadi Fahrenheit. Program harus menerima suhu di Celcius sebagai input dari pengguna, melakukan konversi, dan menampilkan hasilnya dengan dua tempat desimal.
Tukar dua angka: Buat program yang menukar dua angka tanpa menggunakan variabel ketiga. Pengguna diminta untuk memasukkan dua angka, dan program harus menukar nilainya, memastikan bahwa nilai -nilai asli ditukar dan angka -angka tersebut secara efektif dibalik.
Wilayah yang teduh: Hitung luas wilayah teduh dalam persegi dengan lingkaran tertulis. Mengingat jari -jari (r) dari lingkaran tertulis, temukan area kuadrat dikurangi area lingkaran. Menyajikan hasilnya dengan dua tempat desimal untuk secara akurat mewakili luas wilayah yang teduh 
Daftar Informasi Pengguna: Kembangkan program yang mengumpulkan dan mendaftarkan informasi pengguna, termasuk nama depan, nama belakang, usia, jenis kelamin, status siswa, tinggi dalam meter, dan berat dalam kilogram.
Segitiga yang valid: Buat program yang menentukan apakah mungkin untuk membentuk segitiga yang valid menggunakan tiga tongkat dengan panjang yang diberikan A, B, dan c. Program harus mengambil panjang tongkat sebagai input dari pengguna dan memeriksa apakah mereka memenuhi ketimpangan segitiga, di mana jumlah panjang dua tongkat harus lebih besar dari panjang tongkat ketiga. Tampilkan hasilnya sebagai "segitiga dapat dibentuk" jika kondisi dipenuhi, atau "segitiga tidak dapat dibentuk" jika tidak.
Klasifikasi kelas: Kembangkan program yang menerima nilai numerik sebagai input dari pengguna (dalam kisaran 0-100) dan mengklasifikasikan nilai menjadi kategori kelas huruf yang telah ditentukan. Program harus menggunakan pernyataan IF-ELSE untuk menentukan nilai huruf yang sesuai berdasarkan rentang penilaian khas (misalnya, "A" untuk nilai antara 90-100, "B" untuk nilai antara 80-89, dan sebagainya). Setelah klasifikasi, tampilkan nilai huruf yang dihitung kepada pengguna.
Tampilkan tanda bintang dalam satu baris: Buat program yang mengambil nilai integer, w, sebagai input dan menampilkan karakter asterisk (*) w kali dalam satu baris. Program harus menggunakan nilai W untuk menentukan berapa banyak tanda bintang untuk ditampilkan secara berurutan berturut -turut. Pastikan W berada dalam kisaran 0 <w <80. Jika pengguna masuk w = 5, program akan ditampilkan: ****
Tampilkan tanda bintang dalam persegi panjang: Kembangkan program yang mengambil dua nilai integer, W dan H, sebagai input dan menampilkan pengaturan karakter asterisk (*) dalam format persegi panjang dengan kolom W dan baris H. Program harus menggunakan nilai W dan H untuk menentukan dimensi persegi panjang dan mengisinya dengan tanda bintang yang sesuai. Pastikan W berada dalam kisaran 0 <W <80 dan H berada dalam kisaran 0 <h <24.
Jika pengguna masuk w = 4 dan h = 3, program akan ditampilkan:
****
****
****
Pola segitiga siku-siku: Buat program yang menampilkan pola segitiga siku-siku dengan tinggi yang diberikan (h).
Jika pengguna masuk h = 4, program akan ditampilkan:
*
**
***
****
Pola segitiga siku-siku (terbalik): Kembangkan program untuk menampilkan pola segitiga siku-siku terbalik dengan tinggi yang diberikan (h).
Jika pengguna masuk h = 4, program akan ditampilkan:
****
***
**
*
Pola Piramida: Buat program yang menampilkan pola piramida dengan tinggi yang diberikan (h).
Jika pengguna masuk h = 4, program akan ditampilkan:
*
***
*****
*******
Hollow Triangle Pattern: Kembangkan program untuk mencetak pola segitiga berongga dengan tinggi yang diberikan (h), seperti ini:
Jika pengguna masuk h = 5, program akan ditampilkan:
*
**
* *
* *
*****
Pola Segitiga Bilangan: Tulis program yang membuat pola segitiga angka dengan tinggi yang diberikan (h), misalnya:
Jika pengguna masuk h = 4, program akan ditampilkan:
1
12
123
1234
Pascal's Triangle: Buat program untuk menghasilkan dan menampilkan baris 'H' pertama dari segitiga Pascal, pola matematika:
Jika pengguna masuk h = 4, program akan ditampilkan:
1
1 1
1 2 1
1 3 3 1
Floyd's Triangle: Kembangkan program untuk mencetak segitiga Floyd dengan baris 'H', di mana setiap baris berisi angka berturut -turut:
Jika pengguna masuk h = 4, program akan ditampilkan:
1
2 3
4 5 6
7 8 9 10
Pola Berlian: Buat program yang menampilkan pola berlian menggunakan tanda bintang (*) dengan tinggi yang diberikan (h), seperti ini:
Jika pengguna masuk h = 3, program akan ditampilkan:
*
***
*****
***
*
Pola Hourlass: Tulis program yang mencetak pola jam pasir dengan tinggi yang diberikan (h), misalnya:
Jika pengguna masuk h = 3, program akan ditampilkan:
*****
***
*
*
***
*****
FizzBuzz: Tulis program yang berulang melalui urutan angka (biasanya dari 1 hingga n) dan melakukan tindakan berikut untuk setiap angka:
Temukan hari kerja: Kembangkan program yang menentukan hari kerja dari tanggal yang diberikan dalam format "DD/MM/YYYY". Program harus mengambil tanggal sebagai input, termasuk hari, bulan, dan tahun, dan menghitung hari kerja yang sesuai. Ini harus memperhitungkan tahun -tahun lompatan dan memberikan nama hari kerja (misalnya, "Senin," "Selasa") untuk tanggal yang disediakan.
Misalkan pengguna memasukkan tanggal sebagai berikut: 15/11/2023.
Program harus menghitung bahwa 15 November 2023, adalah hari Rabu dan memberikan hasilnya sebagai:
The weekday for 15/11/2023 is Wednesday.
Fungsi Kalkulator : Bangun program kalkulator sederhana yang melakukan operasi aritmatika dasar (penambahan, pengurangan, perkalian, dan divisi). Atur kode dengan membuat fungsi terpisah untuk setiap operasi (misalnya, tambahkan, kurangi, gandakan, bagi). Hubungi fungsi -fungsi ini untuk melakukan perhitungan berdasarkan input pengguna.
Fungsi daftar yang harus dilakukan : Buat aplikasi daftar yang harus dilakukan yang memungkinkan pengguna untuk menambah, melihat, dan menandai tugas yang diselesaikan. Menerapkan fungsi untuk menambahkan tugas, menampilkan daftar, dan menandai tugas seperti yang dilakukan. Memanfaatkan fungsi agar kode tetap teratur dan mudah diperpanjang.
Nomor maksimum dalam array : Tulis program yang menemukan dan menampilkan nomor maksimum dalam array bilangan bulat. Menerapkan algoritma untuk beralih melalui array dan melacak nilai maksimum yang ditemukan.
String Reversal : Buat program yang mengambil string sebagai input dan membalikkan karakter dalam string. Kembangkan algoritma untuk mengatur ulang karakter dalam urutan terbalik, menghasilkan string terbalik.
Penyortiran data : Menerapkan algoritma penyortiran untuk mengatur daftar bilangan bulat dalam urutan naik. Kembangkan program yang menerapkan penyortiran naik ke data yang diberikan dan menampilkan hasil yang diurutkan.
Menemukan nomor minimum dalam array : Tulis program yang menemukan dan menampilkan nomor minimum dalam array bilangan bulat.
String Palindrome Checker : Buat program yang memeriksa apakah string yang diberikan adalah palindrome (membaca ke depan dan mundur yang sama). Kembangkan algoritma yang membandingkan karakter string dari kedua ujungnya untuk menentukan apakah itu palindrom.
Menghitung kejadian dalam array : Kembangkan program yang menghitung kejadian elemen tertentu dalam suatu array. Menerapkan algoritma yang berulang kali melalui array dan melacak berapa kali elemen muncul.
Menemukan rata -rata (rata -rata) array: Tulis program yang menghitung dan menampilkan rata -rata (rata -rata) dari array angka. Kembangkan algoritma untuk meringkas elemen -elemen dalam array dan bagi dengan jumlah elemen untuk menemukan rata -rata.
Mencari elemen dalam array: Buat program yang mencari elemen tertentu dalam array dan mengembalikan indeksnya jika ditemukan. Menerapkan algoritma yang beralih melalui array untuk menemukan elemen yang diinginkan.
Menghitung kata dalam string : Tulis program yang menghitung jumlah kata dalam string yang diberikan. Kembangkan algoritma yang mengidentifikasi batas kata dan menghitung kata -kata dalam string.
Perhitungan faktorial: Menerapkan program yang menghitung faktorial integer yang diberikan (misalnya, 5! = 5 * 4 * 3 * 2 * 1). Kembangkan algoritma untuk melakukan perhitungan faktorial.
Root kuadrat: Kembangkan fungsi yang menghitung akar kuadrat dari angka positif 'n' dengan tingkat presisi yang ditentukan 'p'. Fungsi harus menggunakan metode pencarian biner untuk memperkirakan akar kuadrat ke tempat desimal 'P'.
Temukan nomor minimum . Tautan: https://www.hackerrank.com/contests/w30/challenges/find-the-minimum-number/problem
Game Menebak: Buat game menebak di mana pengguna harus menebak angka yang dihasilkan secara acak.
Prime atau tidak mengimplementasikan program yang memeriksa apakah nomor yang diberikan adalah prima atau tidak.
Tambahkan dua matriks dengan ukuran yang sama: Buat program yang menambahkan dua matriks dengan ukuran yang sama. Pengguna harus memasukkan dimensi (baris dan kolom) dari matriks dan kemudian memberikan nilai untuk setiap elemen di kedua matriks. Program Anda harus memvalidasi bahwa matriks memiliki dimensi yang sama untuk penambahan dan menampilkan matriks yang dihasilkan.
Kalikan dua matriks: Buat program yang mengalikan dua matriks. Pengguna harus memasukkan dimensi (baris dan kolom) dari kedua matriks dan memberikan nilai untuk setiap elemen di kedua matriks. Program Anda harus memvalidasi bahwa matriks memiliki dimensi yang kompatibel untuk perkalian dan menampilkan matriks yang dihasilkan.
Proyek
Membangun permainan pembelajaran aritmatika interaktif untuk anak sekolah
Game ular berbasis konsol
Bagaimana Saya Mempelajari Struktur Data & Algoritma (seperti yang diajar sendiri)
Algoritma dijelaskan untuk pemula - betapa saya berharap saya diajari
Struktur dan algoritma data dalam 15 menit
Struktur Data Kursus Mudah untuk Lanjutan - Tutorial Lengkap dari Google Engineer
Latihan :
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

Proyek :
HashTable yang mendukung operasi dasar berikut:insert ): Menerapkan metode untuk memasukkan pasangan nilai kunci ke dalam tabel hash. Jika kunci sudah ada, perbarui nilai yang sesuai.get ): Menerapkan metode untuk mengambil nilai yang terkait dengan kunci yang diberikan. Jika kunci tidak ditemukan, kembalikan nilai yang ditunjuk menunjukkan tidak adanya (misalnya None atau null ).delete ): Menerapkan metode untuk menghapus pasangan nilai kunci dari tabel hash berdasarkan tombol yang disediakan.Apa itu Linux?
Apa itu Linux? - Linux menjelaskan
Direktori Linux dijelaskan dalam 100 detik
Latihan :
20 perintah teratas yang harus diketahui setiap pengguna Linux
10 Perintah Terminal Linux untuk Pemula
Perintah Terminal Dasar di Linux Ubuntu (Tutorial Ubuntu untuk Pemula)
Latihan :
mkdir untuk membuat direktori bernama 'foo' di desktop. cd dan buat subdirektori bernama 'bar' menggunakan mkdir . mv untuk mengganti nama file 'path.txt' menjadi 'pwd.txt' di dalam direktori 'bar'. mkdir . touch untuk membuat tiga file bernama 'file1.c', 'file2.cpp', dan 'file3.py'. cp untuk menyalin semua file dari direktori 'TMP' ke direktori 'bar'. rm untuk menghapus direktori 'TMP' dengan semua isinya. ls dengan opsi yang sesuai untuk mendaftar semua file (termasuk yang tersembunyi) di direktori 'BAR'. Rep ulang output ke file baru bernama 'Report.txt' menggunakan operator > . grep dengan opsi r untuk mencari semua baris yang berisi 'foo' atau 'bar' secara rekursif dari direktori home. wget untuk mengunduh file dari URL yang ditentukan (https://raw.githubusercontent.com/dwyl/english-words/master/words.txt). grep untuk mencari kata 'John' dari file yang baru diunduh (Words.txt). Tampilkan baris yang berisi 'John' bersama dengan nomor baris berturut -turut. Bash dalam 100 detik
Kursus Kecelakaan Scripting Shell - Level Pemula
Proyek :
Hasilkan skrip dari sejarah perintah dengan kemajuan gema:
history.txt (hasil dari tugas praktik sebelumnya) menjadi skrip shell ( script.sh ) dengan pernyataan echo yang ditambahkan untuk menampilkan kemajuan.history.txt (hasil dari tugas praktik sebelumnya) dan dengan cermat meninjau perintah.script.sh .history.txt ke script.sh .echo sebelum setiap perintah untuk memberikan indikasi kemajuan visual.script.sh dengan pernyataan echo yang ditambahkan: #! /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 ke folder desktop.script.sh .chmod +x script.sh ../script.sh .echo membantu memvisualisasikan kemajuan eksekusi dari setiap perintah. Menangkap tangkapan layar layar Anda
# 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 . Kursus Kecelakaan Git & GitHub untuk Pemula
Tutorial git dan github untuk pemula
Git Tutorial untuk Pemula: Fundamental Command-Line
Git dan github untuk pemula - kursus kilat
Proyek:
Instal Git: Instal Git di komputer Anda.
Konfigurasikan Git: Siapkan nama pengguna dan email Git Anda.
Buat repositori lokal:
git initTambahkan dan lakukan perubahan: Tambahkan file ke area pementasan dan lakukan perubahan pada repositori.
git add .
git commit -m " Initial commit "Lihat Status Repositori: Periksa status repositori Anda.
git status Buat readme.md: Buat file README.md untuk proyek Anda.
Tulis tentang diri Anda di readme.md: tulis tentang diri Anda
Hiasi readme.md: Tingkatkan estetika file README.md dengan menambahkan pemformatan, header, poin -poin, atau elemen lain yang meningkatkan keterbacaan.
Perubahan Komit: Gunakan Git untuk menggelar dan melakukan perubahan yang dilakukan pada file README.md .
Tulis pesan komit yang bermakna: berikan pesan komit deskriptif dan bermakna yang merangkum tujuan komit.
Lihat Sejarah Komit: Lihat Sejarah Komit Repositori Anda.
git logBuat akun GitHub:
Buat repositori jarak jauh di github:
Hubungkan repositori lokal ke github:
git remote add origin < repository_url >
git branch -M main
git push -u origin mainKloning repositori:
git clone < repository_url >Buat cabang:
git branch < branch_name >
git checkout < branch_name >Beralih di antara cabang:
git checkout < branch_name >Gabungkan Cabang:
git checkout < target_branch >
git merge < source_branch >Menyelesaikan konflik penggabungan:
Tarik perubahan dari remote:
git pull origin mainDorong perubahan ke remote:
git push origin < branch_name >Buat dan Terapkan Permintaan Tarik:
Fork A Repository:
Klon dan berkontribusi pada repositori bercabang:
git clone < forked_repository_url >
# Make changes
git add .
git commit -m " Description of changes "
git push origin < branch_name >Tinjau dan gabungkan permintaan tarik:
Roadmap Yayasan Ilmu Komputer © 2023 oleh Saidamir Botirov dilisensikan di bawah CC BY-SA 4.0