CS 499 Southern New Hampshire University Software Engineering Code Paper
Hello this is a two part submission the first milestone will need a video you don't need to do a video a simple word document will work on what will need to be done. The second milestone will be done with the instructions. I will attached the documents needed for this two part submission.Milestone oneOverview: Code review is a standard practice in high-tech industries for improving deliverables and user experiences while ensuring that code is concise,
thorough, well-commented, and ready for updates. In CS 499, you will conduct an informal code review of earlier work as a foundational step toward producing
enhanced work for the ePortfolio. You will review the code of artifacts with the potential to exhibit your knowledge and skills in the following areas:
Software engineering and design
Algorithms and data structure
Databases
As noted in the Final Project Guidelines and Rubric document, while you may choose one artifact for each category, it is also possible to demonstrate your
knowledge and skills in multiple categories using the same multifaceted artifact. The code review is an opportunity to analyze the code in its current condition
and to discuss how you plan to enhance the code during CS 499.
Prompt: In this milestone, you will perform a code review and submit it as a video. You will discuss code that relates to three key computer science categories:
software engineering and design, algorithms and data structure, and databases. In this code review, you will analyze existing code for weaknesses, limitations,
and vulnerabilities and explain your plan for enhancements. While you should exhibit your best thinking, this code review should be considered an informal
exercise through which you will advance the dialogue with your instructor concerning the deliverables that will be published to your ePortfolio.
It is important, therefore, to stay relaxed and be yourself, while also representing yourself as a professional. Stay on topic, but do not focus on completing a
flawless screencast or perfect presentation. Instead, focus your attention on content, and strive to be analytical in your approach and clear in your delivery.
While you may not want to speak from a prepared script, you should prepare and use a detailed outline. Additional tools are available to help you succeed. Use
the Code Review Checklist document to develop the content for your code review. For guidance on preparing a screencast video, see the Screencast Guide
document. The Code Review Example video is also available; review it with care and take notes on the approach used as needed.
Be sure to ask your instructor any questions, and do so as early as possible as you prepare this assignment.
For CS 499, the code review is a walkthrough of existing code and planned enhancements. It should demonstrate the following critical elements for each
category (software engineering and design, algorithms and data structure, and databases):
Existing functionality: Provide a detailed walkthrough of the existing code focused on the features and function of the existing code.
Code Analysis: Target areas of improvement in areas such as structure, logic, efficiency, functionality, security, testing, commenting, and documenting.
Enhancements: Provide a walkthrough of planned enhancements that address issues raised in the code analysis.Milestone twoverview: Expertise in software design and/or engineering is vital for a rising computer science professional. Milestone Two provides an opportunity to take a
solid step toward demonstrating this expertise while enhancing an element of your ePortfolio. This enhancement will align with the category of software design
and engineering. Note that this milestone assignment uses a holistic rubric similar to your Final Project Rubric. The purpose of this is to give you some
experience with this type of rubric early in the class. The intention is that you earn full credit for completing and submitting your milestone and that the focus is
on feedback and improvement for your final submission via your ePortfolio.
Prompt: In the final project, you are charged with a creating a professional ePortfolio to showcase your skills and abilities from the Computer Science program.
This ePortfolio includes an artifact demonstrating your skills and abilities in software design and engineering. Working with your instructor, you have previously
selected an artifact in the relevant category that arises from a final project in another course in the Computer Science program or from instructor-approved
relevant coursework outside of the program, including open-source code. Earlier in CS 499, you completed a code review that examined the code of an existing
artifact in this category and planned enhancements to the code.
In Milestone Two, you will accomplish the following:
• Perform these planned enhancements.
• Develop an accompanying narrative that explains why you selected this artifact and the skills showcased in enhancing it.
• Submit the artifact and narrative for instructor review and comments.
You will then have the opportunity to incorporate these comments and polish the artifact before publishing it in the ePortfolio.
Note that the enhancements you complete in this milestone submission should follow the plan you have worked out with your instructor in the code review. If
you see issues with this plan as you work, continue to dialogue with your instructor about your plans.
The narrative that accompanies the artifact should explain why you included the artifact in your ePortfolio and should reflect on the process you used to create
the artifact. The narrative should focus less on the actual creation of each artifact and more on the learning that happened through the creation of the artifact.
Discuss the following:
A. Briefly describe the artifact. What is it? When was it created?
B. Justify the inclusion of the artifact in your ePortfolio. Why did you select this item? What specific components of the artifact showcase your skills and
abilities in software development? How was the artifact improved?
C. Did you meet the course objectives you planned to meet with this enhancement in Module One? Do you have any updates to your outcome-coverage
plans?
D. Reflect on the process of enhancing and/or modifying the artifact. What did you learn as you were creating it and improving it? What challenges did
you face?
Assessment
Your ePortfolio is assessed as a whole, using a holistic rubric rooted in the overarching outcomes of the Computer Science program. Milestone Two does not
have you show your proficiency in every outcome or every portion of the Final Project Rubric. However, this work should demonstrate that you are making solid
progress toward proficiency in some portions of the rubric. This milestone will be graded holistically based on your ability to perform your planned enhancement
and submit your narrative. Your grade will be pass/fail, indicating emerging proficiency in the possible indicators of success or not evident in meeting the
indicators of success (similar to the final project rubric).
The Computer Science program outcomes are as follows:
• Employ strategies for building collaborative environments that enable diverse audiences to support organizational decision making in the field of
computer science
• Design, develop, and deliver professional-quality oral, written, and visual communications that are coherent, technically sound, and appropriately
adapted to specific audiences and contexts
• Design and evaluate computing solutions that solve a given problem using algorithmic principles and computer science practices and standards
appropriate to its solution, while managing the trade-offs involved in design choices (data structures and algorithms)
• Demonstrate an ability to use well-founded and innovative techniques, skills, and tools in computing practices for the purpose of implementing
computer solutions that deliver value and accomplish industry-specific goals (software engineering/design/database)
• Develop a security mindset that anticipates adversarial exploits in software architecture and designs to expose potential vulnerabilities, mitigate design
flaws, and ensure privacy and enhanced security of data and resources
While your work in Milestone Two does not have to demonstrate full proficiency in any of these outcomes, it should illustrate substantial progress toward
proficiency in at least one, and preferably several, categories in the rubric below. Note: You may not touch on security and that is OK.