This repository is a record of my in-depth journey to master Python fundamentals, data structures, and AI-enhanced programming using ChatGPT. Each module dives into essential programming concepts, building up to complex data structures and practical applications with AI. This space is both a personal reflection of my growth and a resource for revisiting key concepts and projects.
-
Modules
Step-by-step learning modules covering programming basics, data structures, and Python fundamentals. -
Projects
Hands-on projects to apply Python skills, focusing on real-world applications and problem-solving. -
Resources
Additional notes, references, and debugging tips to support learning.
This journey is organized into modules, each focusing on specific programming fundamentals and practical applications in Python:
-
Introduction to Programming
- What is programming?
- What is a programming language?
- Writing source code
- Running your code
- Using an IDE (Integrated Development Environment)
- Why Python?
- Installing Python and running it on the Command Line, VS Code, and online editors.
- Basic Statements and Expressions
- Troubleshooting Issues
-
Python Basics
- Syntax and structure of Python code
- Variables and Data Types
- Collections and Basic Operations
- Working with Numbers and Strings
- Properly using whitespaces and comments
-
Conditional Logic
- Making decisions in code
- Exploring conditional statements
- Working with simple and complex conditions
- Understanding conditional logic across different programming languages
-
Data Structures
- Introduction to core data structures: Stack, Queue, Arrays, ArrayLists, and multidimensional arrays.
- Data storage in memory and operations time complexity
- Shallow copy vs. deep copy
- Practical examples and challenges for each data structure
-
Loops and Iterations
- Iterating through collections
- Customizing iteration endpoints
- Application of loops in various scenarios
-
Functions and Modular Code
- Introduction to functions
- Creating and calling functions, setting parameters, and returning values
- Modular code organization and reusability
- Functions in different languages
-
External Modules and Code Integration
- Creating and using Python modules
- Installing modules from PyPI using pip
- Example with Turtle graphics library
-
Debugging and Testing
- Introduction to debugging
- Interpreting error messages
- Debugging in IDEs
- Creating test cases to validate code
-
Object-Oriented Programming (OOP)
- Basic OOP concepts in Python
- Creating classes and objects
- Understanding inheritance, encapsulation, and polymorphism
- Using built-in classes and creating custom classes
-
Advanced Programming Concepts
- Memory management in programming languages
- Introduction to multithreading
- Algorithms and their applications
-
AI with ChatGPT
- Introduction to ChatGPT and its applications in coding
- Using ChatGPT for code refactoring, debugging, and project enhancement
-
Data Structures in Depth
- Comprehensive study of basic data structures like stacks, queues, arrays, and dynamic arrays
- Implementing data structures and analyzing performance
- Challenges and solutions for designing efficient data handling techniques
-
Career Planning and Soft Skills
- Understanding different career paths in programming
- Planning professional goals and skill development
- Essential communication and interpersonal skills for working in tech
-
Rock, Paper, Scissors Game
A Python game that applies conditional logic, functions, and randomness. Built to reinforce coding fundamentals. -
Website Scraper
Web scraping project using Python modules to extract data, applying loops, conditions, and collections for data processing. -
ToDo List Application
A basic task management app that utilizes arrays, loops, and conditionals, simulating real-world application design. -
Guessing Game
Number guessing game incorporating loops, conditionals, and basic I/O, aimed at building interaction handling skills. -
Currency Converter
Converts between currencies using API calls, focusing on integrating external modules and handling HTTP requests. -
Text Editor
A simple GUI-based text editor using thetkinterlibrary, with emphasis on Python’s GUI capabilities and user interaction. -
Weather Forecasting Application
Final project applying API integration, real-time data handling, and conditional structures to display location-based weather data.
-
Learning Log
Track daily or weekly progress, key takeaways, and reflections on challenges and achievements. -
Debugging Tips
Common error solutions, debugging techniques, and troubleshooting methods encountered along the journey. -
Additional Notes
Extra insights, links to relevant articles, and reference materials that support and deepen understanding of Python and data structures.
| Module | Status |
|---|---|
| Introduction to Programming | Completed |
| Python Basics | Completed |
| Conditional Logic | Completed |
| Loops and Iterations | Completed |
| Functions and Modular Code | Completed |
| External Modules and Code Integration | Completed |
| Debugging and Testing | Completed |
| Object-Oriented Programming | Completed |
| Advanced Programming Concepts | Completed |
| Data Structures | Completed |
| AI with ChatGPT | Completed |
| Data Structures in Depth | Upcoming |
| Career Planning and Soft Skills | Upcoming |
Acknowledgments This journey is guided by the "Programming Fundamentals with Python" track by Almdrasa, with mentorship from experts in programming.