Skip to content

b-fatma/ai50

Repository files navigation

CS50's Introduction to Artificial Intelligence with Python 2025 - Problem Set Solutions

This repository contains my personal solutions to the projects from CS50's Introduction to Artificial Intelligence with Python by Harvard University.

The course explores key concepts in artificial intelligence through hands-on projects and implementations using Python. Topics include search algorithms, knowledge representation, logical inference, probabilistic models, machine learning, natural language processing, neural networks and transformers.

Note: These solutions are shared for learning and reference only. If you're currently enrolled in the course, I strongly encourage you to complete the assignments yourself to gain the most from the experience.

Structure

Each folder in this repository corresponds to one of the course's projects:

.
├── attention
├── crossword
├── degrees
├── heredity
├── knights
├── minesweeper
├── nim
├── pagerank
├── parser
├── shopping
├── tictactoe
├── traffic
└── readme.md

Project Summaries

Project Name Description
Attention Uses pre-trained transformer models to perform question answering on text passages.
Crossword Automatically generates crossword puzzles using backtracking and constraint satisfaction.
Degrees Implements breadth-first search to find the shortest connection path between actors based on shared movie appearances.
Heredity Models genetic inheritance using probabilistic inference and Bayes' Rule.
Knights Solves logic puzzles using propositional logic and a knowledge base.
Minesweeper Builds an AI to play Minesweeper using logical inference to identify mines.
Nim Trains an AI to play the game of Nim using reinforcement learning (Q-learning).
Pagerank Implements the PageRank algorithm.
Parser Parses natural language sentences using a context-free grammar (CFG).
Shopping Peforms KNN (K Nearest Neighbors) classification.
Tic Tac Toe Uses the Minimax algorithm to create an unbeatable AI for Tic Tac Toe.
Traffic Experiments with different CNN (Convolutional Neural Network) architecture to classify german traffic sign images.

Acknowledgments

  • Harvard CS50 Team
  • David J. Malan and Brian Yu
  • The CS50 AI community

About

CS50's Introduction to Artificial Intelligence with Python - Problem set solutions.

Topics

Resources

Stars

Watchers

Forks