End of year projects
We have reached the end of our material! While of course there is always more to learn, those of you who've made it through all the standards for this course have learned a lot. You should be proud of the work you've done to get here! And for those of you haven't quite made it through all the standards, we still have five weeks!
For those five weeks until finals you will all be writing code of your own choosing. You can work on one big project, several smaller projects, or just write code to demonstrate that you have mastered different aspects of the material we've covered this year.
Some things to keep in mind
-
You must write code every day! As I said at the beginning of the year, the only way to learn to program is to do it. Now’s the time to solidify what you learned by writing code, the more the better. The only thing you can do to hurt your grade in the next five weeks is to not write code. I expect you to make daily commits to your Github repo containing reasonable changes. (I.e. don't just add a few spaces and commit it—actually write code.) If you get stuck on what code to write, write English in comments or in a separate file about what you’re trying to do or what you’re stuck on. But you must commit stuff to Github every day.
-
I will review PRs if requested I'm not going to require you to post PRs every day but you should post them and request my review when you'd like me to give you feedback on your code or when you finish a chunk of work. If you post a PR you shoud use the description of the PR to tell me what in particular you want feedback on. Note that you'll get better, and more useful, feedback if you submit smaller PRs more frequently rather than a few giant ones.
-
Read the standards If you haven't read them recently (or maybe ever) please read the standards that are now complete and cover everything you should have learned this year. (Note there is no standard for HTML and CSS; we spent some time on it because it’s a useful tool for building more interesting programs but it is not a mandatory part of this class.)
-
You can raise your grade on any standard by writing code that demonstrates your understanding of that standard. I can probably help you come up with some ideas of what code to write if you need help. You should also probably expect me to ask you to explain your code to me, after you've written it.
-
If you need a review, ask for it I’m happy to review any topics that people need a refresher on. Let me know what you want a review of and I can schedule it.
-
I may give some optional lectures on other topics that we haven’t had time to cover this year. If people are interested in learning about some of them, I can spend some time talking about them with those of you who are interested. If there’s something you want to know more about, let me know and I’ll see what I can do.
-
You may use ChatGPT. If you are working on a larger project and want to experiment with AI-assisted coding, feel free to try to use ChatGPT to help write some code. It's pretty good at writing code given a description but you may discover that in order to use the code you will still need to understand it. However if you do use ChatGPT you must save the transcript of your conversation. Copy all your prompts and all of GPT’s responses into a text file that you commit to git along with the rest of your code.