Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
ShanEllis committed May 23, 2024
1 parent eb3e731 commit 0973dc0
Show file tree
Hide file tree
Showing 6 changed files with 1,174 additions and 6 deletions.
326 changes: 326 additions & 0 deletions _sources/materials/Exam-Prep/PythonProjects.ipynb
Original file line number Diff line number Diff line change
@@ -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
}
2 changes: 1 addition & 1 deletion _sources/projects/PythonProjects.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@
}
},
"source": [
"## Python Party!\n",
"## Python Projects\n",
"\n",
"What questions remain for you?"
]
Expand Down
Loading

0 comments on commit 0973dc0

Please sign in to comment.