Open main menu

CDOT Wiki β

Changes

OPS445 Online Assignment 1

16 bytes added, 20:48, 29 September 2021
changes for fall2021
= Assignment Requirements =
 
== GitHub Repository ==
* Your professor will either provide you with a starting repository, or you will be required to create one. If you are asked to create a repository, you will be required to add your professor as an admin user for that repository. **All repositories must be set to private during the initial phase of creation.**
* Each significant change to your code should have its own commit. This is the standard that most companies will adhere to: version control commits are used to document proof of work, and commit messages are invaluable when issues are being debugged.
* When making a change to your code, use the following commands to document the commit: <code>git commit -am "a sensible message"</code> and <code>git push</code>. **Please explain the change you made in your commit message.**
 
== The First Milestone ==
* Before you begin programming, it is important to plan your algorithm. Therefore your first task will be to complete and submit an algorithm document. This document should be named '''algorithm_[student_id].txt'''. This file should be plaintext. The document will contain two sections:
* A description of how the "after()" function works. The "after()" function is provided to you in a1_templatethe assign1.pytemplate. Open the file, and use clear English to describe what line of code does in such a way that a competent programmer could reproduce the code without seeing it firsthand. * You will then apply the same principles to create an algorithm for "before()", and "dbda()". Inside the code, if you are calling another function like "leap_year", you may simply describe what the function will return, and not the operation of the function itself.
* This file will be submitted to Blackboard a week after the assignment goes live, and should be your first priority. The object of the milestone is not to have a 100% perfect algorithm, but to plan ahead and anticipate challenges and issues with the assignment. The milestone will also give your professor an opportunity for feedback.
* [https://simple.m.wikipedia.org/wiki/Algorithm Here is an basic introduction to Algorithm]
* While you are working on the step-by-step instructions, note that there are different number of days in each month and some years have 365 days and some years have 366 days.
* You should also do some research to find out when we started using the Calendar in the current form. (This will pose a limit on the validity of your algorithm.)
 
== The Second Milestone ==
For the second milestone, you will be asked to have committed the following functions inside the assign1.py file inside your repository:
* before()
* leap_year()
* valid_date()
 
It's not necessary to submit these functions to Blackboard. If you have pushed the commits correctly, the changes will be visible to your professor.
== The Assignment ==
* As stated before, your code will be inside the file "a1_[studentid]assign1.py". The first step will be to clone (or create) the Assignment 1 repository. The invite link Further instructions will be provided to you by your professor. Once you clone the repository, you will rename "a1_template.py" and begin writing the content that is required. Additional requirements are outlined below. == The Debrief ==This document, like the algorithm document, will be submitted to Blackboard one week after the assignment. Answer the following questions:* Research Python modules that you could have used to accomplish the same goals as the today() and leap_year() functions. * Which solution is preferable, in terms of performance? Which solution is preferable, in terms of programmer hours? (which solution would take longer for a programmer to implement?)* Which approach would be preferable in the "real world"? Why is it useful to try creating our own algorithm?* What challenges did you encounter during the assignment, and what resources did you use to solve your issues? (help from classmates, help from Stackoverflow, debuggers, etc.)* Additionally, your professor may have questions specific to your submission. You should answer these questions as well.
== Assignment Requirements ==
* after()
* before()
* today()
You should also create additional functions to improved the re-usability of your python code by adding the following functions to earn the maximum possible mark for this assignment: