Python Party!
Contents
Course Announcements
A4 accepted for full credit until late deadline tonight (11:59 PM)
E2 take-home due Friday at 11:59 PM
Python Party!#
Parties have snacks - come on up and grab snacks!
Project-based Course#
Today starts the transition to a project-based course!
Project Options#
Choose ONE:
Complete the final project
we’re discussing the details today
submitted on datahub or Canvas by 11:59 PM on day of the final
opportunity to learn the most!
takes a lot more time
opportunities for extra credit (going above & beyond; GitHub)
can ask staff for help/ask questions throughout
Complete the final exam
it will be a guided mini-project
will be taken on datahub
24h+ to complete
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: if you’ve been answering ClassQuestin that EC will apply to both exam and project)
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 Overview#
must implement some new thing (not grading on complexity)
completed individually
uses good code practices
What you will turn in: folder on datahub OR zip file with your project on Canvas
>= 1 Jupyter notebook (minimally includes project description)
ideally: demonstrates how your project runs (likely only a few lines of code)
>= 1 module (having an additional script is optional)
has at least three (3) unique/original functions or methods
a test file with >= 3 tests
Project Topics#
Encryption (A2)
Chatbots (A3)
Artificial Agents (A4)
A Data Analysis (A5)
Choose your own adventure (propose and develop your own project idea)
Taboo (Off-limit) topics \(^*\)#
Hangman
turtle
drawingstic-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 campuswire/email or in office hours) and get approval from Professor Ellis
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
Project advice:#
Work steadily over time
Work to first create a minimal viable product
modular design
multiple, independent pieces
Rapid prototyping + testing
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% |
Extra Credit:#
Go beyond the requirements of the project / press yourself to learn something new (up to 4%)
Put your project on GitHub (1%)
Class 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
Example Projects:#
Josh S!
Mingson: https://www.youtube.com/watch?v=ipEj5DtkopA&feature=youtu.be
Previous Examples: https://github.com/COGS18/Projects#projects
Python Party!#
What questions remain for you?