Skip to content

Zendin110206/tugas_python_ai_b10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Development Assignments and Learning Portfolio - Infinite Learning Batch 10

Status Python Conda Course Progress

Structured repository for Infinite Learning Batch 10 assignments, supported by selected Python practice, machine learning notebooks, daily coding exercises, and certification study records. It documents the official assignment track first, while also preserving related practice that reinforces Python, data analysis, machine learning, SQL, Bash, and relational database workflows.


Overview

This repository contains my official assignments for the AI Development program at Infinite Learning Batch 10. The main purpose of this repository remains the formal assignment track from the program, supported by carefully selected independent practice.

In addition to the coursework, I also include selected practice from FreeCodeCamp, HackerRank, and PYnative. These materials are intentionally kept in the same repository as supporting evidence of continuous learning, concept reinforcement, and hands-on problem solving beyond mandatory submissions.

As a result, this repository serves two related purposes:

  • Primary archive for Infinite Learning assignments
  • Structured record of independent Python, SQL, Bash, and relational database practice

This approach helps present a clearer picture of how I study, apply, and revisit programming and data-related concepts over time.

The progress indicator at the top of this README refers to the official Infinite Learning assignment track only. The current LMS assignment sequence has been completed through Task 15.


Learning Scope

Primary Track: Infinite Learning

The central part of this repository is the assignment work completed as part of the AI Development program at Infinite Learning Batch 10. These files represent formal coursework and remain the main context of the repository. The track now includes script-based Python assignments, notebook-based data analysis work, selected LMS-based submissions that do not always produce local source files, and separate public repositories for larger assignment projects. The official LMS sequence is complete through Task 15.

Supplementary Track: FreeCodeCamp, HackerRank, and PYnative

The FreeCodeCamp, HackerRank, and PYnative folders are included as complementary study material. They show how I strengthen core Python concepts through extra exercises, review notes, small projects, debugging practice, daily coding practice, and problem-solving drills outside the required assignment flow.

The freeCodeCamp Relational Databases track is documented separately because it uses GitHub Codespaces and CodeRoad for many workshops and projects. This repository keeps cleaned notes, command summaries, and project documentation rather than raw Codespaces workspace output.

This combination makes the repository more representative of my actual learning process: not only completing assigned work, but also building consistency through self-directed practice.


Repository Structure

├── README.md
├── .gitignore
├── environment.yml
├── tugas3.py
├── tugas4.py
├── tugas5.py
├── tugas6.py
├── tugas7_eda.ipynb
├── tugas8_data_science.ipynb
├── tugas9_ml_linear_regression.ipynb
├── tugas10_ml_decision_tree.ipynb
├── tugas11_ml_clustering.ipynb
├── tugas12_ml_fashion_mnist.ipynb
├── ringkasan_tugas6.txt
├── assets/
│   ├── certificates/
│   └── screenshots/
├── FreeCodeCamp Certifications Python/
│   ├── Python_Review.md
│   ├── Python Basics/
│   ├── Loops and Sequences/
│   ├── Linear_Data_Structures/
│   ├── Algorithms/
│   ├── Dictionary and Sets/
│   ├── Error Handling/
│   ├── Classes and Objects/
│   ├── Object Oriented Program (OOP)/
│   └── Certification Projects/
├── FreeCodeCamp Certifications Relational Databases/
│   ├── Cheatsheets/
│   ├── Bash Fundamentals/
│   ├── Bash Scripting/
│   ├── Git/
│   ├── SQL and Bash/
│   ├── SQL and PostgreSQL/
│   └── Certification Projects/
├── PYnative Python Exercises/
│   └── Basic Exercises for Beginners/
└── HackerRank/
    ├── introduction/
    └── python/

Current Coverage

Infinite Learning Assignments

  • Task 1 — AI Summary Submission Completed through the official LMS/Docs workflow. This task focused on summarizing introductory AI material and does not add a local source-code artifact to the repository.

  • Task 2 — AI Reflection Submission Completed through the official LMS/Docs workflow. This task focused on personal opinion and reflection about AI concepts and does not add a local source-code artifact to the repository.

  • Task 3 — Python Basics Covers variables, data types, string manipulation, mathematical operations, list operations, and user input.

  • Task 4 — Python Data Structures Covers list, tuple, set, dictionary, nested structures, comprehensions, and membership checking.

  • Task 5 — Python Function and Class Covers function definitions, default arguments, return values, class design, methods, and __str__.

  • Task 6 — Python Modules, File I/O, & Simple OOP Covers NumPy statistics, pandas DataFrame usage, text file output, and an OOP-based GradeBook class.

  • Task 7 — Mini Project: Exploratory Data Analysis (EDA) Covers notebook-based exploratory analysis of a 209-country Worldometer COVID-19 dataset snapshot, including data structure inspection, missing-value auditing, distribution analysis, continent-level aggregation, positivity-rate cleaning, death and recovery outcome metrics, serious/critical case analysis, country-level benchmarking, and correlation heatmaps. Each major step is accompanied by written analytical insight, with particular emphasis on data integrity issues, testing-capacity disparities, and observation bias in reported global case counts.

  • Task 8 — Mini Project: Data Science Practice Covers notebook-based analysis of the Housing Prices Dataset, including structural inspection, missing-value and duplicate validation, reusable cleaning logic, categorical encoding, univariate and bivariate EDA, premium-feature price comparisons, multivariate interaction analysis, correlation mapping, and feature engineering through variables such as amenities_score, total_rooms, area_per_bedroom, and size_category. The notebook concludes with modeling-oriented recommendations by identifying which housing attributes carry the strongest predictive signal for price estimation.

  • Task 9 — Supervised Learning: Linear Regression Covers notebook-based regression modeling for building energy consumption, including dataset inspection, preprocessing with numeric and categorical pipelines, exploratory analysis, baseline comparison, linear regression, Ridge regression comparison, validation/test evaluation, model persistence with joblib, and manual prediction examples. The generated model artifact and external CSV files are intentionally not stored in this repository.

  • Task 10 — Supervised Learning: Iris Decision Tree Classification Covers Iris flower classification using a Decision Tree model, including feature understanding, exploratory visualization, train/test splitting, model training, confusion-matrix analysis, overfitting discussion, tree visualization, decision-rule interpretation, feature importance, and manual prediction trials. The starter notebook flow is preserved, with additional analysis added in separate cells.

  • Task 11 — Unsupervised Learning: Mall Customers Clustering Covers customer segmentation using KMeans, DBSCAN, and Agglomerative Clustering, including feature scaling, clustering interpretation, silhouette-score discussion, cluster profiling, KMeans elbow and silhouette checks, DBSCAN parameter exploration, 2D and 3D visual comparison, and business-context analysis for choosing a useful number of customer segments.

  • Task 12 — Deep Learning: Fashion MNIST Image Classification Covers beginner-focused image classification using TensorFlow/Keras, including Fashion MNIST data understanding, pixel normalization, MLP baseline modeling, controlled MLP hyperparameter tuning, CNN comparison, learning-curve analysis, classification reports, confusion matrices, and misclassification review.

  • Task 13 — Deep Learning Quiz Completed through the official Google Form quiz workflow with 50 deep learning questions. This task is tracked in the progress indicator even though it does not add a local source-code artifact to the repository.

  • Task 14 — NLP with Hugging Face Transformers Completed as a separate public repository because the LMS instruction requires the repository name NLP_with_HF_Transformers. The project practices Hugging Face Transformers pipelines for sentiment analysis, zero-shot classification, text generation, masked language modeling, named entity recognition, question answering, summarization, and translation. Final repository: Zendin110206/NLP_with_HF_Transformers.

  • Task 15 — RAG Parameter Exploration Completed as a separate public repository because the LMS instruction requires the repository name tugas-rag-nlp. The project explores Retrieval-Augmented Generation behavior by changing retrieval and generation parameters such as chunk size, top-k retrieval, reranking, temperature, model selection, overlap, and score threshold. The final repository includes the completed README report, application code, and a committed sample PDF for repeatable local testing. Final repository: Zendin110206/tugas-rag-nlp.


FreeCodeCamp Practice

  • Python Review Provides a consolidated review note for Python fundamentals, data structures, algorithms, OOP, and related programming concepts.

  • Python Basics Covers review notes and small Python projects focused on core syntax, conditions, strings, and introductory logic.

  • Loops and Sequences Covers repetition, iteration patterns, and sequence-based exercises.

  • Linear Data Structures Covers algorithmic thinking, Big O notation, arrays, stacks, queues, linked lists, and hash-based data structures through review notes and implementation-focused exercises.

  • Algorithms Covers searching, validation, numerical approximation, and sorting fundamentals through structured review notes and implementation-focused exercises. Current practice includes binary search, the bisection method, the Luhn algorithm, selection sort, merge sort, and quicksort.

  • Dictionary and Sets Covers dictionary operations, set usage, validation logic, and additional topic notes.

  • Error Handling Covers exception handling review material and debugging-focused exercises.

  • Classes and Objects Covers class design, object behavior, and small object-oriented Python projects.

  • Object Oriented Program (OOP) Covers deeper object-oriented programming concepts such as encapsulation, properties, inheritance, polymorphism, name mangling, abstraction, and OOP-focused Python practice exercises.

  • Certification Projects Stores project-style exercises related to FreeCodeCamp Python certification preparation, including budget management, polygon area calculation, hash tables, user configuration management, and Tower of Hanoi recursion practice.

freeCodeCamp Relational Databases Practice

  • Relational Databases Review Provides consolidated review material for the Relational Databases certification track, kept as a standalone closing review file for the full track.

  • Cheatsheets Stores quick lookup tables for Bash, Git, Nano, PostgreSQL, SQL, standard streams, redirection, and text-processing syntax learned across the Relational Databases track. These files are designed for fast syntax recall, while the workshop folders keep the longer learning notes.

  • Bash Fundamentals Covers command-line navigation, file inspection, file and directory creation, command flags, destructive-command safety, and the cleaned Build a Boilerplate workshop flow.

  • Bash Scripting Covers executable Bash scripts, script arguments, conditionals, loops, arrays, functions, random values, input validation, and the cleaned Build Five Programs workshop flow.

  • SQL and Bash Covers combined Bash and PostgreSQL workflows, including CSV parsing, scripted psql execution, relational import automation, junction-table population, null handling, SQL query reporting, aggregate queries, joins, database export, standard streams, redirection, pipes, grep, sed, wc, diff, text-translation automation, and interactive database-backed Bash programs such as the Bike Rental Shop workshop.

  • SQL and PostgreSQL Covers PostgreSQL and relational database fundamentals through review notes and cleaned workshop documentation, including database creation, table design, constraints, keys, relationship modeling, junction tables, and join queries.

  • Git Covers workshop-based practice from the Git section of the certification track. The section is organized by workshop folder, currently including Nano file editing through Build a Castle and Git history practice through Build an SQL Reference Object.

  • Certification Projects Stores required project submission artifacts and supporting documentation for freeCodeCamp Relational Databases certification projects, including the Celestial Bodies Database, World Cup Database, Salon Appointment Scheduler, Periodic Table Database, and Number Guessing Game projects.

HackerRank Practice

  • Introduction Contains introductory Python problem-solving exercises used to strengthen syntax fluency and coding consistency.

PYnative Python Exercises

  • Basic Exercises for Beginners Stores daily Python practice solutions from PYnative's topic-based exercise collection. Current coverage includes the first 20 of 40 beginner exercises, covering arithmetic logic, loops, strings, lists, conditionals, palindrome checks, digit extraction, tax calculation, and nested-loop pattern generation. The folder is intended to grow in focused daily batches before moving to the next PYnative topic set.

Certifications


Key Files and Directories

  • tugas3.py to tugas6.py Core Infinite Learning assignment files.

  • tugas7_eda.ipynb Notebook-based Infinite Learning assignment for Task 7 EDA, containing step-by-step analysis, visualizations, and written insights.

  • tugas8_data_science.ipynb Notebook-based Infinite Learning assignment for Task 8 Data Science Practice, containing structured EDA, feature transformation, price-driver analysis, and feature engineering insights on the housing dataset.

  • tugas9_ml_linear_regression.ipynb Notebook-based Infinite Learning assignment for Task 9 Supervised Learning, focused on linear regression for energy consumption prediction. The notebook documents the workflow and evaluation, while the external dataset files and generated model binary are kept out of version control.

  • tugas10_ml_decision_tree.ipynb Notebook-based Infinite Learning assignment for Task 10 Supervised Learning, focused on Iris classification with a Decision Tree while preserving the starter notebook structure and adding explanatory analysis.

  • tugas11_ml_clustering.ipynb Notebook-based Infinite Learning assignment for Task 11 Unsupervised Learning, focused on mall customer clustering using KMeans, DBSCAN, and Agglomerative Clustering with visual, metric-based, and business-context comparisons.

  • tugas12_ml_fashion_mnist.ipynb Notebook-based Infinite Learning assignment for Task 12 Deep Learning, focused on Fashion MNIST image classification using TensorFlow/Keras with beginner-oriented concept notes, MLP tuning, CNN comparison, and error analysis.

  • Task 14 external repository NLP with Hugging Face Transformers assignment repository: Zendin110206/NLP_with_HF_Transformers. It is kept outside this main repository because the LMS requires a dedicated public repository with that exact name.

  • Task 15 external repository RAG Parameter Exploration assignment repository: Zendin110206/tugas-rag-nlp. It is kept outside this main repository because the LMS requires a dedicated public repository named tugas-rag-nlp. The repository contains the final RAG experiment report, parameter notes, app code, and sample PDF used for testing.

  • ringkasan_tugas6.txt Output or supporting text file related to Task 6.

  • FreeCodeCamp Certifications Python/ Topic-based review notes, a consolidated Python_Review.md, coding exercises, algorithm implementations, and certification-style projects completed as supplementary structured study.

  • FreeCodeCamp Certifications Relational Databases/ Cleaned notes, a standalone Relational_Databases_Review.md, command summaries, quick syntax cheatsheets, workshop-organized documentation, and certification project artifacts for the freeCodeCamp Relational Databases Certification track, including Bash Fundamentals, Bash Scripting, Git workflow practice, Nano terminal editing, SQL+Bash import, query, text-processing automation, interactive database-backed Bash programs, SQL/PostgreSQL practice, and the Celestial Bodies Database, World Cup Database, Salon Appointment Scheduler, Periodic Table Database, and Number Guessing Game projects.

  • PYnative Python Exercises/ Daily Python exercise solutions organized by PYnative topic set. The current work starts with Basic Exercises for Beginners and is committed in focused batches to keep progress easy to audit.

  • HackerRank/ Short problem-solving exercises that support Python fundamentals and programming fluency.

  • assets/screenshots/ Reserved for supporting visuals when needed.

  • assets/certificates/ Stores certificate images as supporting archival evidence. Official credential links remain the primary verification source in this README.

  • environment.yml Conda environment definition for reproducible local setup across script, notebook, data science, machine learning, and TensorFlow/Keras-based assignments.

  • .gitignore Repository ignore rules for local files and generated artifacts.


Tech Stack

  • Python 3.12
  • Conda (Environment Management)
  • Jupyter Notebook / Google Colab
  • NumPy
  • pandas
  • Matplotlib
  • Seaborn
  • scikit-learn
  • TensorFlow / Keras
  • Hugging Face Transformers / Sentence Transformers
  • FastAPI
  • Groq API

How to Run

This project uses Conda for environment management to ensure consistency across different machines.

1. Clone the repository:

git clone https://github.com/Zendin110206/tugas_python_ai_b10.git
cd tugas_python_ai_b10

2. Setup the Conda Environment: Create the environment and install all dependencies automatically using the provided configuration file:

conda env create -f environment.yml

3. Activate the environment:

conda activate env_daily_use

4. Run the script-based files you want to review:

python tugas3.py
python tugas4.py
python tugas5.py
python tugas6.py
python "FreeCodeCamp Certifications Python/Classes and Objects/Build_an_Email_Simulator.py"
python "FreeCodeCamp Certifications Python/Linear_Data_Structures/Build_a_Linked_List.py"
python "FreeCodeCamp Certifications Python/Algorithms/Implement_the_Binary_Search_Algorithm.py"
python "FreeCodeCamp Certifications Python/Algorithms/Implement_the_Quicksort_Algorithm.py"
python "FreeCodeCamp Certifications Python/Object Oriented Program (OOP)/Build_a_Player_Interface.py"
python "FreeCodeCamp Certifications Python/Certification Projects/Implement_the_Tower_of_Hanoi_Algorithm.py"
python "PYnative Python Exercises/Basic Exercises for Beginners/Exercise_1_Arithmetic_Product_and_Conditional_Logic.py"
python "HackerRank/introduction/python_if_else.py"

The Relational Databases certification track uses GitHub Codespaces and CodeRoad for interactive workshops and projects. The files in FreeCodeCamp Certifications Relational Databases/ are documentation notes and progress records, not a standalone local replacement for the CodeRoad workspace.

5. Access notebook-based assignments:

  • Task 7 EDA notebook: Open in Google Colab
  • Task 8 Data Science notebook: Open in Google Colab
  • Task 9 Machine Learning notebook: Open in Google Colab
  • Task 10 Machine Learning notebook: Open in Google Colab
  • Task 11 Machine Learning notebook: Open in Google Colab
  • Task 12 Deep Learning notebook: Open in Google Colab
  • Task 14 NLP with Hugging Face Transformers: GitHub repository and original guided notebook template
  • Task 15 RAG Parameter Exploration: GitHub repository and original starter repository
  • The repository keeps notebook files for Tasks 7 through 12 for documentation and versioning purposes.
  • The current Task 7 notebook is best reviewed through Google Colab because it depends on an external dataset file, worldometer_data.csv, which is intentionally not stored in this repository to keep the repository lighter.
  • Task 8 follows a similar notebook-first workflow and depends on an external dataset file, Housing.csv, originally referenced from the Housing Prices Dataset on Kaggle. The notebook is currently structured for a Colab-style file path (/content/Housing.csv).
  • Task 9 depends on the Energy Consumption dataset referenced in the assignment notebook and may generate a local joblib model artifact when executed. The related CSV files and generated model binary are intentionally not versioned.
  • Task 10 uses the built-in Iris dataset from scikit-learn, so it can run locally without a separate dataset download.
  • Task 11 loads the Mall Customers dataset from the GitHub Gist referenced in the assignment notebook, so local execution requires internet access or a manually downloaded copy with a path adjustment.
  • Task 12 uses the built-in Fashion MNIST loader from tensorflow.keras.datasets, so a fresh local run requires TensorFlow and internet access for the first dataset download unless the dataset is already cached.
  • Tasks 1, 2, and 13 were completed through official LMS/Docs/Form workflows and do not require local script or notebook files in this repository.
  • Task 14 is documented through its own public repository because the LMS requires a dedicated repository named NLP_with_HF_Transformers.
  • Task 15 is documented through its own public repository because the LMS requires a dedicated repository named tugas-rag-nlp. Local setup instructions for that project are kept in the Task 15 repository because it requires a .env file with a private GROQ_API_KEY.
  • A fresh local clone of this repository does not include those external datasets by default, so running the notebooks locally requires downloading the required dataset separately and adjusting the notebook file path as needed.
  • Future notebook-heavy coursework may also continue to use a Colab-first workflow when the course provides external templates, datasets, or hosted notebook references.

Learning Goals

Through this repository, I aim to:

  • strengthen my Python fundamentals
  • practice writing clearer and more structured code
  • build consistency in documenting technical work
  • reinforce coursework with additional self-directed exercises
  • maintain a single organized record of formal and independent learning
  • prepare a solid foundation for future AI and data-related projects

Notes

This repository is part of my ongoing study in programming and AI development. While the primary focus is still the official Infinite Learning Batch 10 assignment path, the inclusion of FreeCodeCamp and HackerRank work is deliberate.

These additional folders show consistent self-directed practice through guided exercises, review material, debugging tasks, and small coding projects.

The PYnative folder is used for ongoing daily Python exercise practice. It is intentionally organized by topic and exercise number so each batch of practice remains easy to review.

Some notebook-based assignments also depend on external datasets and are therefore referenced through Google Colab links when that provides a cleaner and lighter repository structure.

I organize everything in one repository to reflect discipline, continuity, and a professional record of how I learn and improve over time.


Acknowledgment

This repository's emphasis on structured documentation and continuous learning is also influenced by Arifian Saputra, who serves as a Technical Mentor in the AI Development program at Infinite Learning. His public technical profile and professional documentation style have been a useful reference for presenting learning progress in a clearer and more credible way.


Author

Muhammad Zaenal Abidin Abdurrahman Telecommunication Engineering Undergraduate — Telkom University

About

Python assignments and learning log for Infinite Learning Batch 10 — covering Python basics, data structures, functions, OOP, NumPy, pandas, and upcoming exercises.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages