ISTA 450/550: Artificial Intelligence - Assignment Submission Instructions
Please consult the School of Information Extension fo the Code of Academic Integrity Involving Programming. Unless explicitly noted by the instructors, all programming assignments will follow Plan A.
There will be two types of submissions in this class:
- Programming projects that will be made available and that you will submit to through GitHub Classroom using the git version control system
- Written assignments that will be made available and submitted through a course D2L Assignments folder.
Please see the appropriate section below for details on either.
1. Programming Projects (using GitHub Classroom)
Programming projects will be released to you using a GitHub Classroom set up for this course. As part of this, you will use the git version control program on your personal computer to retrieve the code (clone ) and keep track of changes you make (using add , commit and push ). Submitting simply means that you have made your final code push to the repository BEFORE the submission deadline.
Getting Git on your computer
Mac and Linux usually have git already available from the command-line (shell or Terminal). If not, see these instructions.
If you are using Windows, we recommend using git for windows.
Git is officially "the stupid content tracker"; that is, it is a version control system created by people with a sense of humor (it is not stupid at all!).
See the git man page for the complete list of commands.
However, we are generally only going to use a very small subset of these (see the next "Recipe" section).
If you want some more details about what git is, see this video: https://git-scm.com/video/what-is-git.
The following link, "The World According to Git", also has a good introduction http://www.eecs.harvard.edu/~cs161/resources/git.html.
Recipe for getting and submitting your programming project
To access the GitHub Classroom project release, we will provide you a link to the project release. We will send one of these links for each project (there will be a different link for each project). Included in each release will be a due date/time - your project code must be push 'ed BEFORE this date/time. You will still be able to push changes after that date, but we will only grade what was last push 'ed BEFORE the due date/time.
Associate your GitHub account with the Project release
To access the project via the link, you will need a GitHub account that will then be associated with the project release. If you already have an existing GitHub account, feel free to us it! If you don't already have an account, or your want to create one specific to this class, then create one here: https://github.com/join?source=header-home. Note that you only need ONE GitHub account for all of the course projects.
Once your account is set up, follow the project link we provide.
After you do this, a private repository will be created for the project in your GitHub account.
Use Git to work on your project on your computer
After having created the project repository associated with your GitHub account (in the previous step), now you can use git to get the repository code on to your local computer (via clone ) and add/commit/push your changes to the repository.
The first step is to clone the repository onto your local computer.
To do this, copy the link from the green button on your GitHub project repository page that says "Clone or download" - if your GitHub account is called myGitAccount, then the repository link will look something like this:
git@github.com:ml4ai-2022-spring-ai/project-1-search-myGitAccount.git
Now open a terminal window, and go to a location/directory where you want to save and work on your local project code (likely this will be the same location for all of your course project code development). From there, you will clone the repository by pasting the repository link after the git clone command, as follows (the $ indicates the command-line prompt):
$ git clone git@github.com:ml4ai-2022-spring-ai/project-1-search-myGitAccount.git
Now you can develop your code on your local machine and use git to FREQUENTLY commit and push your updates to your project repository. For this, you will use the following Git commands:
That's basically it. Now, VERY IMPORTANT: You will want to add , commit and push your code changes REGULARLY. Get in the habit of doing it after every significant change you make to your code - while you're coding, this may be every 10 minutes or so (that's just a rough estimate - it's up to you). Include informative commit messages, which help you understand what you changed. The instructors will use your commit history (viewable by you in GitHub) to monitor your progress. Another benefit of doing this is that if you make changes you aren't happy with, you can "rollback" to a previous state that you already committed. See here.
And MOST IMPORTANT: make sure you have made an add , commit and push for your final submission BEFORE the deadline. Once more: we will only be grading the last push made before the deadline. We will not consider pushes made after the deadline. There is nothing more to do for submitting than making that final push .
There are many other Git commands, but most will not be relevant to our standard use of Git in this class. For example, we do not generally require using branches or doing pull-requests. All grading will be done for the submission in the master branch. You are welcome to use branches yourself, but it is your responsibility to ensure the proper submission is included in the final push to master.
2. Written Assignments (using D2L)
|