Skip to content

Earth - Ringo#35

Open
ringolingo wants to merge 8 commits into
Ada-C14:masterfrom
ringolingo:master
Open

Earth - Ringo#35
ringolingo wants to merge 8 commits into
Ada-C14:masterfrom
ringolingo:master

Conversation

@ringolingo

Copy link
Copy Markdown

Assignment Submission: JS Adagrams

Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.

Reflection

Prompt Response
What patterns were you able to use from your Ruby knowledge to apply to JavaScript? The patterns of how to approach a problem were similar as in Ruby. Setting up a function by thinking about what input it would take and what value it would return, breaking the problem down into pieces, identifying distinct pieces that could be removed into a helper method, thinking of loops or conditionals that I would need, those were all patterns that I built up in Ruby and was able to use here.
Did you need to use different strategies to find information online about JavaScript than you would for Ruby? I ended up relying on MDN a lot. That was a different website than I used for Ruby, for the strategy of "googling concept, refining search terms as necessary, periodically realizing I had too many open tabs to keep track of and weeding out the ones I was done with" was similar to the process for Ruby.
What was something you needed to do independent research on for this project? What did you learn? I did research the Underscore library for this project. I was interested to see that while many of the functions were similar to methods in Ruby they had some differences in how they worked.
What was a challenge you were able to overcome on this assignment? One challenge was that I would frequently think that I knew the method or approach I wanted to use to solve a problem, only to realize that I was thinking of Ruby and didn't know how to implement it in JS. Sometimes it was a matter of checking syntax (like for loops), sometimes I was able to find a similar method in JS.
What has been interesting and positive about learning a new programming language? One positive thing is that I can tell that we are learning JS faster than we learned similar content in Ruby, which is encouraging. It has been interesting seeing how differently JS handles some concepts and what things are more or less complicated than I am used to (sometimes in a "you really live like this, JavaScript?" kind of way, but still interesting).
What is something to focus on your learnings in JavaScript in the next week? I tripped up a lot on small points of syntax (particularly declaring variables with const or let before assigning them) so I intend to focus on keeping track of details. I would also be interested in experimenting more with classes in JS since the Adagrams class was limited to class functions and not instantiated.

@dHelmgren dHelmgren left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JS Adagrams

Major Learning Goals/Code Review

Criteria yes/no, and optionally any details/lines of code to reference
Correctly uses variables, and only uses const and let variables. The program prefers const variables. The program never uses var. ✔️
Practices best-practices in JavaScript syntax. There are semi-colons at the end of most lines that need semi-colons. Variables and functions are named with camelCase. ✔️
Correctly creates and calls functions within an object with proper syntax (parameters, return statements, etc.) ✔️
Uses correct syntax for conditional logic and iteration ✔️
Practices git with at least 3 small commits and meaningful commit messages ✔️
Utilizes unit tests to verify code; tests can run using the command $ npm test test/adagrams.test.js and we see test successes and/or failures ✔️

Functional Requirements

Functional Requirement yes/no
For the drawLetters function, there is an appropriate data structure to store the letter distribution. (You are more likely to draw an 'E' than an 'X'.) ✔️
Utilizes unit tests to verify code; all tests for drawLetters and usesAvailableLetters pass ✔️
Utilizes unit tests to verify code; all tests for scoreWord pass ✔️
Utilizes unit tests to verify code; all tests for highestScoreFrom pass ✔️

Overall Feedback

Overall Feedback Criteria yes/no
Green (Meets/Exceeds Standards) 5+ in Code Review && 3+ in Functional Requirements ✔️
Yellow (Approaches Standards) 4+ in Code Review && 2+ in Functional Requirements, or the instructor judges that this project needs special attention
Red (Not at Standard) 0-3 in Code Review or 0,1 in Functional Reqs, or assignment is breaking/doesn’t run with less than 5 minutes of debugging, or the instructor judges that this project needs special attention

Comment thread src/adagrams.js
drawLetters() {
// Implement this method for wave 1
},
class Adagrams {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh ho, fancy fancy!

Comment thread src/adagrams.js
Comment on lines +44 to +46
const __ = require('underscore')
const pool = this.buildPool();
return __.sample(pool, 10);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have loved a comment explaining what underscore does, because it seems to be doing a lot of the heavy lifting here. While I think this resourcefulness is going to server you really well as an engineer, one of the goals of the project is to make sure that you are comfortable crunching out some tricky JS by hand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants