6.031 — Software Construction
Spring 2022

Problem Set 1: Reflection

Please think back to all the work you did on Problem Set 1, across both the alpha and beta submissions, and answer the following questions.

reflection

Types and Specs in PS1

Which types used in PS1 would have been better-off encapsulated as the rep of an abstract data type?

(missing explanation)

Recall that toBucketSets() returns Array<Set<Flashcard>>, and practice() takes this same type as an argument. This encourages a client to call them together, as in:

practice(day, toBucketSets(bucketMap), RETIRED_BUCKET)

What is wrong with this expression?

(missing explanation)

Time Spent

How much time in hours did you spend working on the alpha? Please enter a number (which may be a decimal fraction).

How much time in hours did you spend working on code review? Please enter a number (which may be a decimal fraction).

How much time in hours did you spend working on the beta? Please enter a number (which may be a decimal fraction).

Collaboration

I helped somebody, or was helped, while both of our solutions were visible on our screens.

(missing explanation)

For every piece of code that I found on the web and used in my solution, I included a comment citing the source of the code.

(missing explanation)

I worked on my solution while somebody else’s solution was visible to me (e.g. on Caesar, or in some other window on my screen, or on somebody else’s screen, or on paper).

(missing explanation)

I worked closely with somebody on part of the problem set, discussing or sharing step-by-step, algorithmic instructions.

(missing explanation)

I was helped by somebody who is neither a current 6.031 staff member, nor a current 6.031 student, nor an HKN tutor assigned to me.

(missing explanation)

I obtained part or all of somebody else’s solution electronically, or provided part or all of my own solution to somebody else.

(missing explanation)

I publicly posted part of my solution online as part of a portfolio of code to show to recruiters.

(missing explanation)

I ran my test cases on another student’s code, or another student’s test cases on my code.

(missing explanation)