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 include a presentation of your work. For the online class, you will have to record your (3-to-5 minutes) presentation using Kaltura, as described later in this document. It is important to remember that longer is not better and you will lose credit for not being succinct in your presentation. In addition to the presentation, you are required to submit the following through Blackboard in one zip file called _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 and install any third-party modules o Note that third party libraries must be preapproved by your facilitator 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” CS-521 Project Guidelines (Online Class) pg. 2 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. our application must include at least the minimum number 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 self class attributes − at least 1 private and 2 public class methods that take arguments, return values and are used by your program − an init() class 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 2 unit tests that prove two of your public class methods work as expected. The tests should evaluate results using assert statements. 6. Your application must run successfully and do something interesting. 7. Make sure to follow all of the style requirements listed for Assignment #5. Before beginning your project, you MUST submit via Blackboard a few sentences describing you project proposal. This is so your facilitator can assess the appropriateness of your idea. If you desire to include a module that is not part of the standard python build, you MUST first get permission from your facilitator – 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 modules. We cannot grade your project if it uses proprietary modules or if we are unable to run it. Finally, we want to emphasize that your project MUST not contain any proprietary, nonpublic or confidential algorithms and data from your employer or other sources. Good luck!! CS-521 Project Guidelines (Online Class) pg. 3 Information on Kaltura: You can also use YouTube, Vimeo or other cloud video providers as long as you can supply your facilitator with a link. YouTube allows you to create an unlisted video that’s not publicly available but anyone with the link can view the video.