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

image

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

image

1.3

image

Chapter 3

3.1

image image image

3.2

image image

3.3

image image

3.5

image image

Chapter 4

4.1

image image image

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

image

image

image

image

image

I think I mistook one of the conditions for 2 cases when one of them is not an invalidated reference

4.3

image image image image image

4.4

image

4.5

image image image image

Chapter 5

5.1

image

5.2

image

5.3

image image image

Chapter 6

6.1

image

6.2

image image

6.3

image

6.4 (Ownership Inventory #1)

image image image

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

image

7.2

image

7.3

image image image image

7.4

image

7.5

image

Chapter 8

8.1

image image image

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

image image

8.3

image

8.4 (Ownership Inventory #2)

image image image

Chapter 9

9.1

image

9.2

image image

9.3

image

Chapter 10

10.1

image

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

image image

10.3

image image image

10.4 (Ownership Inventory #3)

image image image image

Chapter 11

11.1

image

11.2

image

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

image

Chapter 13

13.1

image image image

13.2

image image

Chapter 16

16.1

image image

16.2

image

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

image

16.3

image

Chapter 17

17.1

image

This is just focusing on the OOP principle which I have known so far

17.2

image

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

image image

I think I misremembered but I also thought that enums provided more feature

17.4 (Ownership Inventory #4)

image image image

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

image image image

Trait Trees

image image

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

image image

I think I got this well enough but not too great in general, it's just based on what we saw so far

Intermediates

image image

Somehow I understand this the most, probably because it's juggling around the use of enums and traits