CS 100

Logo

Scientific Computing

Final Project (100 pts)

Choose a problem to solve using Python programs. You will work in teams of 2-3 students. Your group will present the problem, your coded solution, and your results. If you have difficulty finding a team member, use the team-searching feature on Piazza.

This project will be completed in stages.

  1. [15] Project proposal and environment setup: Sign up for a free account on repl.it. Since you will be working in a team, you will use this as an online editor for your group project rather than Thonny. Each team will submit to Moodle the following
    • the title of your project,
    • all team members,
    • one paragraph description of your project, and
    • a link (a URL that I can click) to your Team’s project created on repl.it. Obtain the link by clicking the + Share button and copying the join link.
  2. [20] Intermediate results: share with the class the current state of your project. It should run and produce some output, but it doesn’t need to be complete.

  3. [35] Source code: Submit your software in Moodle. Keep it well organized, use functions, and document your code using comments. Part of the code must be written by you - not just code from the textbook or from another source. If you use a resource you must cite it! Otherwise, it is plagiarism and will result in an F. Your source code should have:
    • Comments with names of all team members at the top of the file
    • One sentence per team member describing their main contribution
    • Comments at the top of each function
    • Several functions (at least 3, but you will likely have more)
    • Good use of variables and choice of variable names
    • Conditional statements (if, for, while)
  4. [30] Presentation: four (4) powerpoint slides presented in class (~2 minutes per team) and submitted to Moodle. Your presentation should include:
    • 1 slide: title, team names, class with semester/year
    • 1 slide: present the problem
    • 1 slide: present the solution (code, diagram, or a few bullets). Be clear what your main contribution is.
    • 1 slide: results (pictures, graphs, numbers, or a demo, etc.)
    • You may demo your software. This isn’t mandatory, as it depends on the project.

Grading

You will be graded on the above criteria as well as:

Ideas

You are free to solve any problem, but here are some possible ideas with corresponding details on where you can look to get started.

Additional References

Projects from previous years

Games - battleship, blockout, hangman, space invaders

Encryption with images (image contains a secret message embedded within the pixel differences)

Image processing

Landscapes

Images created by recursive functions

Solar system

Charts / visualizations