Skip to content

dlukeh/cs50ai

Repository files navigation

🧠 CS50AI — Artificial Intelligence with Python

A complete collection of all labs and projects from Harvard’s CS50 Introduction to Artificial Intelligence with Python.

This repository represents my full journey through CS50AI — a hands‑on exploration of classical and modern AI techniques, completed with clean code, documentation discipline, and a focus on understanding the underlying concepts.


🧰 Skills Demonstrated

  • Python (intermediate–advanced)
  • Search algorithms (BFS, DFS, A*)
  • Graph modeling and shortest‑path reasoning
  • Logic and inference (model checking, propositional logic)
  • Constraint satisfaction (CSPs, backtracking, heuristics)
  • Probability and Bayesian networks
  • Machine learning (k‑NN, evaluation metrics)
  • Deep learning (CNNs with TensorFlow/Keras)
  • Natural language processing (n‑gram models, parsing)
  • Transformer attention mechanisms
  • Error analysis and model interpretation
  • Clean code organization and documentation

🗂 Repository Structure

Each lab is self‑contained inside its folder, with its own code, data, and README.

Folder Topic Description
lab0-search/ Search Graph search algorithms (BFS, DFS, A*) and shortest‑path reasoning
lab1-knowledge/ Logic Propositional logic, model checking, inference
lab2-minesweeper/ Constraint Satisfaction Knowledge representation, CSPs, safe/unsafe inference
lab3-heredity/ Probability Bayesian networks, joint probability, inheritance modeling
lab4-crossword/ CSPs Backtracking search, arc consistency (AC‑3), heuristics
lab5-shopping/ Machine Learning k‑NN classification, evaluation metrics, ML pipelines
lab6-traffic/ Deep Learning CNNs, image classification, TensorFlow/Keras
lab7-language/attention/ NLP / Transformers Implementing scaled dot‑product attention and analysis
lab7-language/parser/ NLP / Parsing Context‑free grammar parsing and noun‑phrase extraction

🏁 Course Completion

All labs have been:

  • fully implemented
  • validated with check50
  • submitted via submit50
  • documented and organized

This repository reflects the complete, end‑to‑end journey through CS50AI.


📌 Notes

  • All work was completed locally on a Linux workstation using virtual environments and modular folder organization.
  • Each lab folder contains its own README and supporting files.
  • This repo is part of a broader effort to build a professional portfolio of AI and Python projects.

About

“Completed labs and experiments for Harvard CS50AI — Search, Logic, Probability, Machine Learning, and Neural Networks.”

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages