softwareconstruction240 / softwareconstruction

Content for BYU CS 240: Advanced Software Construction
MIT License
45 stars 39 forks source link

Clarify Phase 3 and 6 Serialization and Deserialization #120

Closed Maillman closed 5 months ago

Maillman commented 5 months ago

Students generally have problems when serializing and deserializing Gson and Json objects, not understanding that the field names they implement must be exact (including capitalization). I just added a clarification about this in phases 3 and 6 where students have to serialize and deserialize the Json.

leesjensen commented 5 months ago

I can see that a few students each semester might run into this problem, but I worry that this might be a bit intrusive to the flow of the instruction. I worry that if we add a paragraph for every little thing a student could mess up, the instruction would quickly become unreadable.

This seems like this might be a good learning experience for those who get it wrong and it shouldn't be too hard to debug.

How many students have you interacted with that had this problem, or is this just based on a single student interaction?

Maillman commented 5 months ago

I had this issue when I was taking the class myself, and it was quite of a headache trying to resolve. I have talked with two students taking about 20-30 minutes each who have had this problem before we managed to nail down the problem, I am unsure about the other TAs though. I do know that last semester this was a big issue especially during phase 6 as the results were very vague when trying to run the WebSocketTests. Really, I just pulled the info from 🖥️ Slides: Server Implementation Tips JSON Tips from the web-api.md, and added just a little bit of clarification on why not doing this could lead to a bug.

Maillman commented 5 months ago

I could also ask the other TAs and Dr. Wilkerson to get their opinion on this during the next meeting as well, if you want. Oh, and I do know Alex, another TA, was approving of this change and helped me word this clarification.

Maillman commented 5 months ago

Never mind, it already does talk about having the fields needing to match exactly in the specs, just under the serialization portion. There is no need to specify it twice.