Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 2.53 KB

File metadata and controls

51 lines (39 loc) · 2.53 KB

Introduction to Computer Science and Programming Using Python (MIT)

This repository contains my solutions, exercises, and practice codes from the Introduction to Computer Science and Programming Using Python course offered by MIT. I took the audit version of the course, which provided me with access to lectures, assignments, and exercises for self-paced learning.

Structure of the Repository

Exercises and Practice Codes

Throughout the course, I worked on various practice exercises and small coding problems to reinforce the concepts covered in the lectures. These exercises helped build my understanding of fundamental programming concepts using Python.

Problem Sets (PSet 1 - 5)

Each problem set represents a structured approach to solving real-world problems using Python. In this repository, I documented my thought process, code implementation, and any challenges encountered while solving these problem sets. The problem sets include:

  • PSet 1: Basic computational concepts, simple Python programs, and control flow.
  • PSet 2: Iteration, recursion, and testing.
  • PSet 3: Structured data types, functions, and debugging.
  • PSet 4: Algorithmic efficiency and complexity.
  • PSet 5: Object-oriented programming and real-world applications.

Installation & Setup

To run the code in this repository, please make sure you have Python installed on your system. I used VS Code as my code editor. Follow these steps to set up:

  1. Install Python from python.org
  2. Install VS Code from code.visualstudio.com
  3. Clone this repository:
    git clone <https://github.com/Sallie25/MIT-CS-Programming-Python.git>
  4. Open the project folder in VS Code and start coding!

How to Use

  • Navigate to the exercises/ folder for practice problems.
  • Check the problem_sets/ folder for structured problem solutions.
  • Run any script using:
    python filename.py

Key Learnings

  • Python fundamentals (variables, loops, conditionals, functions, recursion, and OOP)
  • Computational problem-solving techniques
  • Algorithmic thinking and efficiency considerations
  • Writing clean, modular, and well-documented code

Future Improvements

I plan to revisit some of the problem sets to optimize solutions and apply additional concepts like:

  • Advanced algorithms
  • Data structures
  • Performance optimization techniques

This repository serves as a reference for my learning journey and problem-solving approach throughout the course.