CSE 491 - Fall 2023 @ MSU
You will need to write a blog entry over the course of the semester (worth 8 points) and act as a reviewer on three others (worth 6 points) for a total of up to 14 points toward your final grade.
The 8 points for your blog entry will be divide up as: one point for the proposal, two points for the initial draft, and five points for the final version. These points will be allocated based on whether you met all of the criteria for the type of blog entry you chose.
Your options for blog entries are:
A C++ Tutorial: Pick an advanced feature in C++ that interests you and write a tutorial to teach someone what it is and how to use it. You should provide a clear and intuitive explanation and provide a set of examples to help the reader understand the possible usages. When relevant, you should also compare to some alternative techniques for solving the same problem, and explain when the feature you selected would be the proper choice to use.
An Efficiency Comparison: Perform an in-depth comparison of two different data structures or algorithms from the standard library (or other popular library) to identify the conditions where each is the proper choice. Ideally you should be able to explain the tradeoffs that a programmer needs to consider and provide advice on best usage under a range of common conditions.
A Library Review: There are many popular C++ libraries (and many other good ones that are not yet popular). Pick one of these and write a review of it. You should make sure to talk about how hard it is to download and compile the library, your experience trying to get the functions or classes working, how hard it is to integrate into your code, and if/when you would recommend its use. Tips for a new user are also always appreciated.
A ChatGPT Code Review: Use ChatGPT (or some similar AI system) to generate code for a medium sized project. The project should be large enough that you need to go back and forth with the system a number of times to produce the final product. Now, do a careful code review about what about this code worked, what did not work, and how the code could have been better written in regards to style, efficiency, modularity, and/or readability. Provide any other comments that you may have about this experience.
If you have a topic not listed above that you would like to propose, the instructors may consider it, but make sure that it is a challenging and interesting topic that forces you to think more about the C++ language. In such a case, you should talk to the instructors informally for feedback before writing up an official proposal.
In all cases, the target audience for your blog entry should be someone with a basic knowledge of C++ (assume a CSE 232 level.)
You will review the blog entries of three other students, both in draft form (where you will provide advice to the writer) and in final form. While the final grade for each blog entry will come from the instructors, they will rely heavily on these reviews and responses from the original authors. Reviews should be constructive and focus on helping the author produce a high-quality final product.
Each review at each phase will be worth one point, for a total of six points. The reviews should focus on the quality of the writing, the accuracy of the information, the clarity of the layout and examples, the depth of analysis, and the overall utility (i.e., how well did the author meet their goal for the type of entry). You will be provided with a link to a form for submitting the reviews as well as more detailed instructions for what to include.
Details of submission can be found here: Submission instructions
Below are the deadlines for each phase of the blog writing process. (Last update: 10/21/23)