Final Project

Purpose: The purpose of this assignment is to showcase how much you have learned during this class. You will get to come up with a project idea and execute it. Make sure your project includes all the project requirements.

You will also have to make and turn in a project proposal. The project proposal, if done right, will really help you figure out how to work together as a team and meet all the requirements. If you haven't done the proposal yet, you can find the instructions here: Final Project Proposal

Instructions

  1. You and the rest of your team previously formed will work together to come up with a project idea that will showcase what you have learned in this class. You will need to complete the project requirements listed below. You can find your team here:
    (If you need to change teams for any reason, please contact the head TA or the professor)
  1. You and your team must come up with a project idea that will meet all of the requirements and create a project proposal. The instructions can be found here: Final Project Proposal WARNING - You must avoid the temptation to simply find an interesting Python program online and copy and paste it as your own. While we all use other people’s code and examples to learn from, outright copying their code and presenting it as your own is plagiarism.

  2. You also need to sign up for a time to present your project to the rest of the class. You can find the sign up sheet here:

  1. Complete the project using all the following requirements (this is where your grade will come from):

    • An introductory text block with:
      • Instructions on how to use your code
      • Link to your Excel starter sheet
      • Group name
      • Members of your group
      • A report on how each team member contributed. (with rubric items that they did)
      • Links to any out of class resources you used (Please don't forget this part. If there are no links you will lose points)
    • At least 1 loop (for or while)
    • At least 1 list, dictionary, or pandas dataframe
    • At least 1 if-elif-else statement
    • At least 3 functions that you write/define
    • At least 1 class that has attributes and methods that you write/define
    • Use xlsxwriter to connect to an Excel Sheet
    • Use matplotlib to create a graph
    • Your program is bug free
    • Use markdown to organize your code (Using text blocks to separate your code into sections or code blocks)
    • Comments throughout your code explaining what is happening. (This is not directly a part of the rubric, but you will lose points if you don't have comments)
    • EXTRA CREDIT OPTIONS (Must be used in some significant way):
      • Use of GUIs (ipywidgets)
      • Use of numpy in some way

Turning in/Rubric

Only one team member needs to turn in the following in the feedback box on the assignment in Learning Suite:

  • Learning Suite submission of your project links are due at the start of the scheduled presentations.
  • A colab notebook link with sharing turned on and editing on so that the data validation is visible.
  • Any files used and created in the project.

Rubric:

Item Points Possible
An introductory text block with all requirements 3
At least 1 loop (for or while) 5
At least 1 list, dictionary, or pandas dataframe 5
At least 1 if-elif-else statement 5
At least 3 functions that you write/define 12
Writes and defines 1 class with attributes and methods 5
Use xlsxwriter to connect to an Excel Sheet 5
At least 1 graph from matplotlib 5
Your program is bug free 10
Use markdown to organize your code 5
Relative contribution of each team member is given 5
Present for presentation 15
TA wow factor 10
All links turned in before presentation 10
Total
100
Use of GUIs (ipywidgets) +5
Use of numpy +5

The following is not a part of the rubric, but specifies how you can lose points. For example: if you do not explain your code when using AI to help you create it or fail to share your link correctly.

Reasons for Points Lost Amount
No comments explaining your code and how AI helped and what it does 10
Link shared incorrectly 10

Project ideas

Note: While we are coding Python in the Google Environment, you can find lots of ideas for Python Notebooks by searching for “Jupyter Notebooks”. This is the more generic form of Python Notebooks that runs outside of Google. But they work almost exactly the same. My search links below use the term “Jupyter Notebooks” to help get more results. Feel free to explore these search results for video tutorials, sample code, and other great ideas.

Make a Video Game

Make a simple (or complex) video game in Python. There are several simple (and complex) video game modules that can be imported for use in Python. For example look at these search results to get some ideas of modules, project ideas, and sample code: Click Here

Solve an Engineering Problem

Here are some search results for ideas and modules related to civil engineering. Consider writing a program that will solve several of the most common questions on the Fundamentals of Engineering Exam. Click Here

Crawl the Internet

There are several modules available that allow you to grab text from a web page. From this text you can grab hyperlinks and then go to those links and grab more text. You might build a tool to find all references to your favorite food or travel destination and build a guidebook for users: Click Here

Do Some Machine Learning!

Python is probably the most popular tool for machine learning, and there are tons of libraries and example codes and projects for doing machine learning. For example, you could look for patterns in weather, twitter feeds, text streams etc. Here are some search results to get you started: Click Here

Read Data from Google Sheets and Do Something Cool!

As it turns out there are modules to allow you to connect to Google Sheets and read data directly into your Python program. This opens all kinds of opportunities, so you’ll just have to brainstorm on what the project would be… Click Here

Expand upon one of the homework problems, for example:

Improve one of the homework problems we did this semester. When choosing this option, you will need to make sure you make significant improvements to the code. You will also need to make sure you have a good project proposal that explains what you are going to do and how you are going to do it. Please talk to a TA ahead of time to make sure your project idea is different enough from the homework we did.