diff --git a/_sources/materials/Exam-Prep/PythonProjects.ipynb b/_sources/materials/Exam-Prep/PythonProjects.ipynb
new file mode 100644
index 000000000..20a513d61
--- /dev/null
+++ b/_sources/materials/Exam-Prep/PythonProjects.ipynb
@@ -0,0 +1,326 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "**Course Announcements**\n",
+ "\n",
+ "- **CL7** due Friday\n",
+ "- [mid-course survey](https://docs.google.com/forms/d/e/1FAIpQLSezH_dugz2DvjtejeHNlDHnoKry5W5xl1_7rX74GlvQ0LGBfQ/viewform?usp=sf_link) \"due\" Friday (for EC; link also on Piazza/Canvas)\n",
+ "\n",
+ "Notes: \n",
+ "- A5 has been released\n",
+ "- No class in-person Tuesday\n",
+ " - Lecture recording will be released Monday (on Canvas > Media Gallery)\n",
+ " - There will be a Google Form to complete for lecture participation (effort, not correctness)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "# Python Projects"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Project-based Course\n",
+ "\n",
+ "Today starts the transition to a project-based course!\n",
+ "\n",
+ "- [Project Overview](https://cogs18.github.io/projects/overview.html) \n",
+ "- [Project Ideas](https://cogs18.github.io/projects/ProjectIdeas.html) \n",
+ "- [Project FAQ](https://cogs18.github.io/projects/faq.html)\n",
+ "- [Project Template](https://cogs18.github.io/assets/intro/projects/ProjectTemplate.zip)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Project Options\n",
+ "\n",
+ "Choose ONE:\n",
+ "- **Complete the final project**\n",
+ " - we're discussing the details today\n",
+ " - submitted on datahub or Canvas by 11:59 PM on day of the final\n",
+ " - opportunity to learn the most! \n",
+ " - takes a lot more time (avg: 10h)\n",
+ " - opportunities for extra credit (going above & beyond; GitHub)\n",
+ " - *can* ask staff for help/ask questions throughout"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "source": [
+ "- **Complete the final exam** \n",
+ " - it will be a guided mini-project \n",
+ " - will be taken on datahub\n",
+ " - 24h+ to complete\n",
+ " - takes less time (avg: 2.5h)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "source": [
+ "Caveats if you take the final exam:\n",
+ "1. The highest grade you can get in the course is an A (not an A+)\n",
+ "2. There is no additional opportunities for extra credit (Note: clicker participation applies to both)\n",
+ "3. You have to complete on your own (same rules as previous midterms, but it's completely take-home)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "source": [
+ "Submit one, *NOT* both (I have lots of grading at the end of the quarter!). If you do both, I will use the lower score."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Project Overview\n",
+ "- must implement some new thing (_not_ grading on complexity)\n",
+ "- completed individually\n",
+ "- uses good code practices\n",
+ "- What you will turn in: folder on datahub OR zip file with your project on Canvas\n",
+ " - \\>= 1 Jupyter notebook\n",
+ " - includes project description)\n",
+ " - demonstrates how your project runs (likely only a few lines of code) OR describes how to run project\n",
+ " - \\>= 1 module (having an additional script is optional)\n",
+ " - has *at least* three (3) unique/original functions or methods\n",
+ " - a test file with \\>= 3 tests"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Project Topics\n",
+ "- Encryption (A2)\n",
+ "- Chatbots (A3)\n",
+ "- Artificial Agents (A4)\n",
+ "- A Data Analysis (A5)\n",
+ "- Choose your own adventure (propose and develop your own project idea)\n",
+ " - To brainstorm: Think of something in your daily life you want to automate, something that would help you at work/in lab/etc., or a topic/game/activity you really like"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "source": [
+ "### Taboo (Off-limit) topics $^*$\n",
+ "- Hangman\n",
+ "- `turtle` drawings\n",
+ "- tic-tac-toe\n",
+ "- blackjack\n",
+ "- Magic 8 Ball\n",
+ "- Rock, Paper, Scissors\n",
+ "- Snake Game\n",
+ "- Connect4 Game \n",
+ "\n",
+ "$^*$If you have a really new hangman implementation/idea or are super stoked about your great `turtle` idea or have invented a spin on traditional tic-tac-toe/blackjack/magic 8 ball/rock, paper, scissors, you'll need to pitch your idea to (via Piazza/email or in office hours) and get approval"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### Process:\n",
+ "\n",
+ "1. Download 1) template from website OR 2) fetch Project on datahub\n",
+ "2. Brainstorm an idea\n",
+ "3. Design what \"pieces\" (functions/classes/etc.) you need to execute that idea\n",
+ "4. Start writing code + tests\n",
+ "5. Submit on 1) datahub or 2) Canvas"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "source": [
+ "#### Why template + Canvas?\n",
+ "\n",
+ "- Certain packages do not work on datahub (game packages; audio; GUI)\n",
+ "- Working outside of datahub will be helpful in the future\n",
+ "- You are not dependent on the Internet working well"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "#### Project advice:\n",
+ "- Work steadily over time\n",
+ "- Work to first create a minimal viable product\n",
+ " - modular design\n",
+ " - multiple, independent pieces\n",
+ "- Rapid prototyping + testing"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### Grading\n",
+ "| Component | Grade Value |\n",
+ "|:-------------: |:-----------:|\n",
+ "| Concept | 5% | \n",
+ "| File Structure | 5% | \n",
+ "| Project Description | 10% | \n",
+ "| Approach | 20% | \n",
+ "| Project Code | 30% | \n",
+ "| Code Style | 10% | \n",
+ "| Code Documentation | 10% | \n",
+ "| Code Tests | 10% | \n",
+ "| Extra Credit | 4% | \n",
+ "| GitHub Extra Credit | 1% | "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "#### Extra Credit:\n",
+ "- Go beyond the requirements of the project / press yourself to learn something new (*up to* 4%)\n",
+ "- Put your project on GitHub (1%)\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "#### Clicker Question #1\n",
+ "Do you have an idea of what you want to do for your **project**?\n",
+ "\n",
+ "- A) absolutely no idea\n",
+ "- B) some idea, but not sure\n",
+ "- C) fairly good idea\n",
+ "- D) I know exactly what I want to do.\n",
+ "- E) I'm thinking I'm going to take the final exam"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "### Example Projects: \n",
+ "\n",
+ "* Mingson (former IA): https://www.youtube.com/watch?v=ipEj5DtkopA&feature=youtu.be\n",
+ "* Previous Examples: https://github.com/COGS18/Projects#projects"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Python Projects\n",
+ "\n",
+ "What questions remain for you?"
+ ]
+ }
+ ],
+ "metadata": {
+ "celltoolbar": "Slideshow",
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.8"
+ },
+ "rise": {
+ "scroll": true
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/_sources/projects/PythonProjects.ipynb b/_sources/projects/PythonProjects.ipynb
index 1f16348d6..20a513d61 100644
--- a/_sources/projects/PythonProjects.ipynb
+++ b/_sources/projects/PythonProjects.ipynb
@@ -292,7 +292,7 @@
}
},
"source": [
- "## Python Party!\n",
+ "## Python Projects\n",
"\n",
"What questions remain for you?"
]
diff --git a/materials/Exam-Prep/PythonProjects.html b/materials/Exam-Prep/PythonProjects.html
new file mode 100644
index 000000000..97ec0621a
--- /dev/null
+++ b/materials/Exam-Prep/PythonProjects.html
@@ -0,0 +1,842 @@
+
+
+
+
+
+
+
+
+
+
+ Python Projects — COGS 18 - Introduction To Python
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Skip to main content
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Course Announcements
+
+Notes:
+
+
+Python Projects
+
+Project-based Course
+Today starts the transition to a project-based course!
+
+
+
+Project Options
+Choose ONE:
+
+
+Complete the final exam
+
+
+
+Caveats if you take the final exam:
+
+The highest grade you can get in the course is an A (not an A+)
+There is no additional opportunities for extra credit (Note: clicker participation applies to both)
+You have to complete on your own (same rules as previous midterms, but it’s completely take-home)
+
+Submit one, NOT both (I have lots of grading at the end of the quarter!). If you do both, I will use the lower score.
+
+
+
+Project Topics
+
+
+Taboo (Off-limit) topics \(^*\)
+
+Hangman
+turtle
drawings
+tic-tac-toe
+blackjack
+Magic 8 Ball
+Rock, Paper, Scissors
+Snake Game
+Connect4 Game
+
+\(^*\) If you have a really new hangman implementation/idea or are super stoked about your great turtle
idea or have invented a spin on traditional tic-tac-toe/blackjack/magic 8 ball/rock, paper, scissors, you’ll need to pitch your idea to (via Piazza/email or in office hours) and get approval
+
+
+Process:
+
+Download 1) template from website OR 2) fetch Project on datahub
+Brainstorm an idea
+Design what “pieces” (functions/classes/etc.) you need to execute that idea
+Start writing code + tests
+Submit on 1) datahub or 2) Canvas
+
+
+Why template + Canvas?
+
+Certain packages do not work on datahub (game packages; audio; GUI)
+Working outside of datahub will be helpful in the future
+You are not dependent on the Internet working well
+
+
+
+
+
+Grading
+
+
+Component
+Grade Value
+
+
+
+Concept
+5%
+
+File Structure
+5%
+
+Project Description
+10%
+
+Approach
+20%
+
+Project Code
+30%
+
+Code Style
+10%
+
+Code Documentation
+10%
+
+Code Tests
+10%
+
+Extra Credit
+4%
+
+GitHub Extra Credit
+1%
+
+
+
+
+
+Clicker Question #1
+Do you have an idea of what you want to do for your project ?
+
+A) absolutely no idea
+B) some idea, but not sure
+C) fairly good idea
+D) I know exactly what I want to do.
+E) I’m thinking I’m going to take the final exam
+
+
+
+
+
+
+Python Projects
+What questions remain for you?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/objects.inv b/objects.inv
index a562249c8..f68ab4099 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/projects/PythonProjects.html b/projects/PythonProjects.html
index 56dff9e78..6ce9ee40b 100644
--- a/projects/PythonProjects.html
+++ b/projects/PythonProjects.html
@@ -492,7 +492,7 @@ Contents
Example Projects:
-Python Party!
+Python Projects
@@ -714,8 +714,8 @@ Example Projects: