{"id":31021455,"url":"https://github.com/sisl/aa228-cs238-student","last_synced_at":"2025-09-13T11:21:50.072Z","repository":{"id":65639367,"uuid":"292493739","full_name":"sisl/AA228-CS238-Student","owner":"sisl","description":"Starter code and data files for AA228/CS238 at Stanford University, Autumn 2021","archived":false,"fork":false,"pushed_at":"2024-09-12T21:25:18.000Z","size":3957,"stargazers_count":20,"open_issues_count":0,"forks_count":102,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-09-13T11:02:36.358Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sisl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-09-03T07:07:14.000Z","updated_at":"2024-09-12T21:24:47.000Z","dependencies_parsed_at":"2023-02-02T00:25:12.135Z","dependency_job_id":"72dd0bc5-f07a-4fde-82ab-f03a754cd8d3","html_url":"https://github.com/sisl/AA228-CS238-Student","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sisl/AA228-CS238-Student","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FAA228-CS238-Student","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FAA228-CS238-Student/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FAA228-CS238-Student/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FAA228-CS238-Student/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sisl","download_url":"https://codeload.github.com/sisl/AA228-CS238-Student/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FAA228-CS238-Student/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274955862,"owners_count":25380669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-13T11:21:46.888Z","updated_at":"2025-09-13T11:21:50.046Z","avatar_url":"https://github.com/sisl.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AA228-CS238-Student\n[![AA228/CS238 Gradescope](https://img.shields.io/badge/aa228%2Fcs238-gradescope-green?color=42a0a2)](https://www.gradescope.com/courses/814395)\n\n\n[AA228/CS238: Decision Making under Uncertainty](https://aa228.stanford.edu), Autumn 2024, Stanford University.\n\nThis repository provides starter code and data for Projects 1 and 2.\n\n## Project 0: \n\n[![Project 0 Details](https://img.shields.io/badge/project0-details-blue)](https://aa228.stanford.edu/project-0/)\n\n## Project 1: Bayesian Structure Learning\n\n[![Project 1 Details](https://img.shields.io/badge/project1-details-blue)](https://aa228.stanford.edu/project-1/) [![Project 1 Template](https://img.shields.io/badge/project1-LaTeX%20template-white)](https://www.overleaf.com/read/hxwgtnksxtts)\n\n[LaTeX Overleaf template](https://www.overleaf.com/read/hxwgtnksxtts): click the link, go to \"Menu\", and \"Copy Project\" (make sure you're signed into Overleaf). Note this is an optional template, you're free to use your own (or not even LaTeX).\n\n    project1/\n    ├── data                    # CSV data files to apply structured learning\n    │   ├── small.csv               # Titanic dataset¹\n    │   ├── medium.csv              # Wine dataset²\n    │   └── large.csv               # Secret dataset\n    ├── example                 # Helpful examples\n    │   ├── example.gph             # Example graph (3 parents, 2 children with 1 parent each and 1 child with 3 parents)\n    │   ├── example.csv             # Example data generated from \"example.gph\"\n    │   ├── example.score           # Bayesian score of the \"examples.gph\" given the data \"examples.csv\"\n    │   ├── examples.pdf            # Visualized \"examples.gph\" as a TikZ graph\n    │   └── titanicexample.pdf      # Simple example network using \"small.csv\"\n    ├── project1.jl             # Starter code in Julia (optional, meant to help)\n    └── project1.py             # Starter code in Python (optional, meant to help)\n\n\u003csup\u003e1\u003c/sup\u003ehttps://cran.r-project.org/web/packages/titanic/titanic.pdf\n\u003cbr\u003e\n\u003csup\u003e2\u003c/sup\u003ehttps://archive.ics.uci.edu/ml/datasets/Wine+Quality\n\n### Notes\n- The starter code is there to help, but you're free to use any language.\n- Use `example.gph` to validate your Bayesian scoring algorithm, not your structure learning algorithm.\n\n### Graph Plotting\nHere are some resources for plotting graphs in Julia, Python, and MATLAB.\n- Julia:\n    - [`Graphs.jl`](https://github.com/JuliaGraphs/Graphs.jl/)\n    - [`TikzGraphs.jl`](https://nbviewer.jupyter.org/github/JuliaTeX/TikzGraphs.jl/blob/master/doc/TikzGraphs.ipynb)\n    - [`GraphPlot.jl`](https://github.com/JuliaGraphs/GraphPlot.jl)\n    - [`GraphRecipes.jl`](https://github.com/JuliaPlots/GraphRecipes.jl)\n- Python:\n    - [`NetworkX`](https://networkx.github.io/documentation/stable/tutorial.html)\n- MATLAB:\n    - [`GraphPlot`](https://www.mathworks.com/help/matlab/ref/matlab.graphics.chart.primitive.graphplot.html)\n\n#### Julia Examples\n##### TikzGraphs.jl\n```julia\nusing Graphs  # for DiGraph and add_edge!\nusing TikzGraphs   # for TikZ plot output\n\n# An example [Chvatal Graph](https://en.wikipedia.org/wiki/Chv%C3%A1tal_graph)\ng = wheel_digraph(12) \n\n# Create notional names for the nodes\nnode_names = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\"]\n\n# Create TikZ plot with node labels\np = plot(g, node_names)\n\n# Save as PDF (using TikzPictures)\nusing TikzPictures # to save TikZ as PDF\nsave(PDF(\"wheel_tikz.pdf\"), p)\n```\n\n##### GraphPlot.jl\n```julia\nusing Graphs\nusing GraphPlot\n\ng = wheel_digraph(12)\nnode_names = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\"]\n\np = gplot(g; nodelabel=node_names)\n\n# Save using Compose\nusing Compose, Cairo, Fontconfig\ndraw(PDF(\"wheel_graphplot.pdf\", 16cm, 16cm), p)\n```\n\n#### GraphRecipes.jl\n```julia\nusing Graphs\nusing Plots\nusing GraphRecipes\n\n\ng = wheel_digraph(12)\nnode_names = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\"]\n\np = graphplot(g; names=node_names, node_size=0.2)\n\nsavefig(p, \"wheel_graphrecipes.pdf\")\n```\n\n## Project 2: Reinforcement Learning\n\n[![Project 2 Details](https://img.shields.io/badge/project2-details-blue)](https://aa228.stanford.edu/project-2/) [![Project 2 Template](https://img.shields.io/badge/project2-LaTeX%20template-white)](https://www.overleaf.com/read/gsptsmcrzpdv)\n\n[LaTeX Overleaf template](https://www.overleaf.com/read/gsptsmcrzpdv): click the link, go to \"Menu\", and \"Copy Project\" (make sure you're signed into Overleaf). Note this is an optional template, you're free to use your own (or not even LaTeX).\n\n    project2/\n    └── data                      # CSV data files of (s,a,r,sp)\n        ├── small.csv                 # 10x10 grid world\n        ├── medium.csv                # MountainCarContinuous-v0\n        └── large.csv                 # Secret RL problem\n\n*Note: no starter code provided for Project 2.*\n\n## Contact\nPlease post on [Ed](https://edstem.org/) with any questions regarding this code, the data, and the projects in general. We'd be happy to help!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsisl%2Faa228-cs238-student","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsisl%2Faa228-cs238-student","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsisl%2Faa228-cs238-student/lists"}