For this project, you are to design your own CPL-style programming assignment.
Your homework post must…
Feel free to refer to previous CPL assignments to help form an outline. You can use the same header titles (Takeaways, Relevant Resources, etc.).
Your assignment post must be written in Markdown using the Wiki tool in your Build Your Own Assignment GitLab project. You should not place your homework post in the actual repository.
Your starter code must contain…
Your starter code should be in your Build Your Own Assignment repository on a branch called
We should be able to clone your repository, checkout the
starter-code branch, and start working on the assignment.
Your solution must contain…
GRADING.mdthat outlines your plan to grade the assignment.
Your solution should be on the
master branch of your repository.
Eventually, you’ll have to sit down and figure out what you’re doing. It’s fun, but it’s not easy. This is the process I usually use to develop a new assignment:
gitand strip out the parts you expect students to write.
Your assignment should be geared toward students who have just learned about your chosen learning objectives. It should be conceptually challenging, in that they’re working with tools they’ve just learned about. However, it shouldn’t be impossible. The reaction you should aim for is “that was hard, but I learned a lot”.
To ensure you maximize the number of points you earn, you should communicate with me about your assignment. I’m happy to brainstorm project ideas with you to help you develop something great. If you have questions about whether your assignment is too easy, too convoluted, etc., just ask.
Of course, you’re welcome to work independently, too.
Let’s say you develop an assignment that really packs a punch. One that’s an excellent demonstration of new concepts and gives students something to talk about in an interview. With your permission, I would be happy to share it with the next instructor to teach CPL.
If they like it too, your assignment could be part of the next CPL. And giving credit where credit is due, you’d receive proper recognition for your efforts.
You can earn up to 100 points for this project. It will replace your lowest 100-point-homework grade. It cannot be used to replace your homework 1 grade.
The quality of your post, starter code, and solution will be evaluated independently, but it’s important to note that there’s a significant amount of dependence there. Without the homework post, we won’t know what your solution is supposed to do. Without the starter code, we won’t know what you’re expecting the student to complete. Without the solution, we can’t be certain that the assignment is even possible.
The evaluation of this assignment is more subjective than regular CPL assignments. It is in your best interest to talk to me about your idea before you spend a ton of time on it. If it’s (including but not limited to) too easy, too sparse, or too similar to past assignments, your score will suffer.
|Feature||Points Possible||Nah/Oof. (0% of points possible)||Needs serious help (50% of points possible)||Looks good, needs some help (75% of points possible)||Nice work. (100% of points possible)|
|Homework post||50||0 / 50||25 / 50||37 / 50||50 / 50|
|Starter code||25||0 / 25||12 / 25||18 / 25||25 / 25|
|Solution and grading plan||25||0 / 25||12 / 25||18 / 25||25 / 25|
11:59:59 PM CST – Friday, December 8, 2017
11:59:59 PM CST – Thursday, December 14, 2017
This deadline is subject to change. Depending how the semester schedule pans out, we may move the deadline to finals week.
It’s not subject to change anymore. Thursday is the furthest I can realistically push the deadline.
Note that this is not a normal homework, and the late submission rules do not apply. If you plan to submit an assignment, it must be in by the deadline.
Refer to the assignment submission page on the course website for details on submitting your code to GitLab.
In your Build Your Own Assignment repository, we expect to see…
Be sure to include your
reflection.md on your
master branch with your solution code.
There’s no need to include
reflection.md on your
Additionally, we expect to see a complete assignment post in the wiki for your Build Your Own Assignment GitLab project.
… is subjective.
I’ll thoroughly read your homework post, starter code, solution code, and grading plan. Then, I’ll run your solution through your grading plan to see if it does what it’s supposed to. It’s really up to you what happens there.
Don’t worry about how your git log looks. Just ensure your starter code looks the way you want it to. ↩