Welcome to my Intro to Programming repository! This is a code portfolio documenting my self-directed learning in programming, covering multiple languages, paradigms, and frameworks.
This repository serves as:
- A Learning Journal: A structured collection of notes, exercises, and projects as I progress through courses and resources.
- A Code Portfolio: Demonstrating my growing skills in programming across various topics and languages.
- A Reference Guide: Providing well-organized and reusable examples for future projects or study.
Here’s the structure of the repository and the topics it covers:
intro-to-programming/
├── Programming in Java/
│ ├── 01_Elements_of_Programming/
│ │ ├── 1.1_Your_First_Program/
│ │ │ ├── Code/
│ │ │ ├── Exercises/
│ │ │ └── Notes/
│ │ ├── ...
│ ├── 02_Functions/
│ ├── 03_OOP/
│ ├── 04_Data_Structures/
│ ├── 05_Theory_of_Computing/
│ ├── 06_A_Computing_Machine/
│ ├── 07_Building_a_Computer/
│ ├── 08_Systems/
│ └── 09_Scientific_Computation/
├── Programming in Python/
│ ├── (Similar structure to Java; focuses on Sedgewick & Wayne Python exercises)
├── SICP/
│ ├── Chapter-1-Building-Abstractions-with-Procedures/
│ │ ├── 1.1-The-Elements-of-Programming/
│ │ │ ├── Code/
│ │ │ ├── Exercises/
│ │ │ └── Notes/
│ │ ├── ...
│ ├── Chapter-2-Building-Abstractions-with-Data/
│ ├── Chapter-3-Modularity-Objects-and-State/
│ ├── Chapter-4-Metalinguistic-Abstraction/
│ └── Chapter-5-Computing-with-Register-Machines/
├── README.md
└── create_sicp_structure.sh
-
Programming in Java and Python:
- Following Sedgewick and Wayne's curriculum.
- Organized by chapter, with subfolders for exercises, code, and notes.
-
SICP (Structure and Interpretation of Computer Programs):
- Each chapter is divided into sections and sub-sections.
- Includes:
Code: Implementations of exercises and examples.Exercises: Solutions to practice problems.Notes: Detailed write-ups of key concepts.
| Topic | Resource | Status |
|---|---|---|
| Java | Sedgewick and Wayne | In Progress |
| Python | Sedgewick and Wayne | In Progress |
| LISP (SICP) | Structure and Interpretation | In Progress |
This repository showcases work in the following languages and tools:
- Languages: Java, Python, LISP (Scheme)
- Programming Paradigms: Procedural, Object-Oriented, Functional Programming
- Concepts: Algorithms, Data Structures, OOP, Recursion, Scientific Computation, and more.
- Complete exercises and projects for Sedgewick and Wayne and SICP.
- Deepen understanding of algorithms, data structures, and functional programming.
- Expand the repository to include additional languages (e.g., C, OCaml).
- Explore frameworks (e.g., Flask, Spring Boot).
- Develop larger real-world projects demonstrating learned skills.
If you’re also learning to program:
- Navigate to the appropriate directory (e.g.,
SICP/orProgramming in Java/) to explore exercises, notes, and code. - Use the
create_sicp_structure.shscript as a template for setting up your own study folders. - Check the
Notes/subfolders for written summaries of key topics.