Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

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.

The project is due by the last class meet and includes a presentation of your work. The detailed requirements of the presentation will be posted later.

In addition to the presentation, you are required to submit the following through

Blackboard in one zip or tar file called @bu.edu_final_project by December 12th:

•     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 and install any third-party modules

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, except games. You are not allowed to create games.

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 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.

4.    At the minimum, your code should include at least one of each of the following:

4 container types (list, tuple, set AND dictionary) that are used by the application

1 iteration type (for, while)

1 conditional (if)

1 try block with an else condition

1 user-defined function that accepts parameters/arguments and/or returns a value.

1 input and/or output file (include input data with your project)

1 user-defined class. The class must be imported by your main program from a separate file and have the following required structures.

−   at least 1 private and 2 public instance attributes

−   at least 1 private and 2 public methods that take arguments, return values, and are used by your program

−   an __init__() method that takes at least 1 argument

−   a __repr__() or __str()__ class method

−   a magic class method (not one of the methods listed above)

5.    Provide unit tests that prove that your class methods work as expected.

The tests should evaluate results using assert statements.

6.    Your application must run successfully and do something interesting.

Before beginning your project, feel free to submit via Blackboard a few sentences describing your 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 the instructor – otherwise there will be a major deduction when grading your project.

When submitting your project, include instructions for running the code and installing any approved 3rd  party module. We cannot grade your project if it uses proprietarymodules 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!