SC Book Reading - TheEvergreenStateCollege/upper-division-cs-23-24 GitHub Wiki
So far it has been my scariest nightmare to learn all of these in one shot as it took a lot of time, intruding on other class work as well, but I admit I learned something new this quarter and I have no regret
Chapter 1
1.1
Yeah, I was lazy. I have no excuse for making these mistakes. It's my fault for not reading carefully what they asked for. This is also the first time I learned that the answer is in the book and rarely do so later on as they start to format the quiz on more hands-on exercises instead of what is in the book
1.2
1.3
Chapter 3
3.1
3.2
3.3
3.5
Chapter 4
4.1
In this case, I only considered one condition which reads freed memory, and forgot about the double free that could happen on that condition and the fact that sometimes, Rust still rejects a safe program because it's not fully developed yet.
4.2
I think I mistook one of the conditions for 2 cases when one of them is not an invalidated reference
4.3
4.4
4.5
Chapter 5
5.1
5.2
5.3
Chapter 6
6.1
6.2
6.3
6.4 (Ownership Inventory #1)
At this point, I was just too tired to continue or figure out what part did the violation occurred since I chose every answer and got it wrong so I ended up choosing a random answer and pressed the answer key to continue. Needless to say, I understand the conditions asked here
Chapter 7
7.1
7.2
7.3
7.4
7.5
Chapter 8
8.1
For the same reason a while ago, I got tired at this point so I decided to choose the wrong answer and skip through this. I don't mean to answer it that way, because previously, I got the answer of 5 for *v2[0]
based on close investigation but I can't get the number for v[0]
because I don't think that v2 contains a pointer to v, hence modified it in the same time.
8.2
8.3
8.4 (Ownership Inventory #2)
Chapter 9
9.1
9.2
9.3
Chapter 10
10.1
Unrelated but this is the first time I saw that the author was so overwhelmed that people didn't believe the answer so they had to put an explicit note telling us not to submit it as a bug report. I feel bad for them
10.2
10.3
10.4 (Ownership Inventory #3)
Chapter 11
11.1
11.2
I did the second question with my friend, who tested things out first and tried different results. Needless to say, we were surprised with this particular answer, which is different from what I thought it would be. It's a bit dumb, I know, but unarguably correct at the same time. It just makes sense so yeah
11.3
Chapter 13
13.1
13.2
Chapter 16
16.1
16.2
This is one of the hardest quizzes so far since there's a lot of stuff. But the important bit is to look at the ClientMessage enums and the vectors that have the type coming along
16.3
Chapter 17
17.1
This is just focusing on the OOP principle which I have known so far
17.2
I thought it was supposed to be something about matching taking a longer time to process, which in reality is not. I also did this with a friend
17.3
I think I misremembered but I also thought that enums provided more feature
17.4 (Ownership Inventory #4)
17.5
I think this is like actually, the hardest one so far since I don't understand the true design aspect that's necessary, me and my friend struggling quite a while with this and we decided to call it finished here
References
Trait Trees
I admit me and my friend don't understand this very well since it's not covered in class, but we learn more when we make mistakes and see the answers when it's end. It makes sense, I amend that.
Dispatch
I think I got this well enough but not too great in general, it's just based on what we saw so far
Intermediates
Somehow I understand this the most, probably because it's juggling around the use of enums and traits