Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
CS-521 Project Guidelines
One of the requirements for CS-521 is the final project (20% of the grade). The project
must be done individually. This is an opportunity for you to be creative in solving a
problem that is of interest to you and demonstrate your proficiency with python. The
project should be challenging enough so that you could discuss it at future interviews with
potential employers. An additional potential benefit of this project is that it can give your
professor and facilitators a good topic for discussion should you ever desire a reference.
The project is due by the last day of the course and includes a presentation of your work.
In addition to the presentation, you are required to submit the following through
Blackboard in one zip file called @bu.edu_final_project.zip:
• One-page summary of what the program does and why it is useful
• All source files: programs, classes and data
• Instructions how to run your code
Here are some of the key criteria to consider when thinking about the functionality of your
project and the elements it must contain.
1. It must be original work and not something that might be proprietary to your company,
etc. Some project ideas are writing a game, food or exercise diary, expense tracker,
investment portfolio manager, music inventory. Whatever interests you.
Some of you are using Python projects related to your work. Our viewpoint is that you
should apply what you learn in the classroom to the office, but we cannot grade for the
work you do in the office.
2. The presentation and well-documented code should be at the level that other students
and lay people can understand what your project is all about. Do not use advanced
math or industry terms that would require a lot of explanation.
Imagine that you are have an interview and you are asked to describe in a few words
a Python project of your choice.
3. You are free to choose any topic that interests you and conforms to the above criteria.
The most important thing to keep in mind that this Python project is meant to
demonstrate your ability to apply what was learned in the class. You will not be judged
on the originality of your topic or the difficulty of implementation. That said, if your
project is overly simplistic, does not use good programming practices or presents a
poor user experience, that will be held against you. We want you to show us effective
constructs that were taught in this class, are well documented and conform to
“pythonic” best practices. Again, think of this as something you can show to an
employer as an example of why they should hire you as a python developer.
CS-521 Project Guidelines
pg. 2
4. At the minimum, your code should include a least one of each of the following:
container type (list, tuple, set, or dictionary)
iteration type (for, while)
conditional (if)
try blocks
user-defined functions
input and/or output file (submit input data)
user-defined class. The class must be imported by your main program and have
the following required structures.
− at least 1 private and 2 public self attributes
− at least 1 private and 1 public method that take arguments, return values and
are used by your program
− an init() method that takes at least 1 argument
− a repr() method
5. Provide unit tests that prove that your class methods work as expected. The tests
should evaluate results using assert statements.
Before beginning your project, submit via email to your facilitator a 1-2 sentence project
proposal so that we could assess the appropriateness of your idea. If you are interested
in more advanced Python projects, we can discuss it separately after you finish this class.
If you desire to include a module that is not part of the standard python build, you must
first get permission from their facilitator. When submitting your project, the instructions for
running the code must also include specific instructions on how to install the module. We
cannot grade your project if it uses proprietary modules or if we are unable to run it.
Finally, I want to emphasize that your project must not contain any proprietary, non-public
or confidential algorithms and data, either from your employer or other sources.
Good luck to all of you.