TIY-Durham / 2016-SPRING-FEE

Class Repository for Front End Engineering in Spring 2016 at The Iron Yard in Durham, NC
12 stars 1 forks source link

00 -- Tori Hedden #10

Open torihedden opened 8 years ago

torihedden commented 8 years ago
torihedden commented 8 years ago

about chrome

torihedden commented 8 years ago

about atom

torihedden commented 8 years ago

about dash

torihedden commented 8 years ago

about slack

torihedden commented 8 years ago

about sourcetree

torihedden commented 8 years ago

brew list

torihedden commented 8 years ago

Reflective Journal 1-25-16

What is a bright bulb for you today? What do you feel like you really understand well as of now? Explain it a little in your own words.

I have been working my way through the JavaScript course on CodeCademy since getting my acceptance into Iron Yard. An exercise I worked through yesterday to make a little dragon-fighting text-based game was one of the first times I was able to just sit down in front of the tutorial and put thoughts directly onto the screen as code. I remembered syntax correctly, I knew exactly how to solve each problem and component of the project step-by-step. I feel competent with control flow statements, and in my ability to understand how Math.floor and Math.random are used to “roll” a chance of whether or not the player character hits the enemy dragon. I was thoughtful with variable names, and added the ability to track both the player character and dragon’s health during the encounter. Text prompts are generated based on how much damage is done and if you make it out alive. Mostly, I felt 100% confident that I understood inherently what I was doing, and wasn’t just copying code snippets to pass a tutorial step.

With some prompting from a friend, I modified the game to include a few more small features. It was easy to build off of what I had already made. Now both the player character and dragon “roll” to see if they hit each other, and also “roll” to see how much damage they deal each other. At this point, I started editing code using Atom, as I was creating things not covered by the CodeCademy tutorial and I wanted to save my work. I integrated HTML into the project and am able to “play” the game in my browser, albeit only locally. There’s no interface to the “game” (everything prints to the console in Chrome when you refresh), but it was satisfying to see my code run somewhere other than a console in a tutorial.

It’s a small project, but I totally had that “lightbulb” feeling the whole time making it.

Getting really excited for class to start next week and to meet the rest of the cohort!

What is still a dim bulb for you? You still don't understand it, but the light is coming on... What has helped you get there?

I need to become more proficient working with the command line interface. I have some familiarity using the terminal for PC, because I used it in my undergrad years to run a program in a geomorphology class to calculate mineral stability. I remember having a difficult time with it then, but going through the tutorials now I wonder why I was having such a hard time. Sure I don’t have all the commands memorized, but the concepts of how to navigate through directories and modify files is very clear to me now. I need repetition with these skills to master them. For practice, I moved and consolidated some files and folder for class using the terminal. I suspect that for this to work, file and directory names need to have no spaces in their name, e.g. “IronYardScreenshots” vs “Iron Yard Screenshots”, as my attempts at moving directories with spaces in their name resulted in a message that there was no such directory, e.g. “Iron: No such file or directory”.

What is still completely dark for you, despite your best efforts? What do you completely not understand yet, even though you've tried? What have you done to overcome that?

I completed the CodeCademy course on Git, and while I think I understand the concept of workflow using Git (working directory, staging area, repository), as well as understanding Git commands to move files from one area to another, I still have yet to use Git for any class work. I don’t grasp how we are going to use GitHub to upload code we have created. Without having used Git for any class work, I think this problem is just a matter of actually using this tool for its intended purpose, rather than working through unrelated practice exercises. At this point, I don’t know what exactly it is that I don’t know. I’m going to review the Git tutorial and work through the other resources given to use in Ready Player One in order to grasp how to use this tool.

torihedden commented 8 years ago

What is the best way to ask a question? There’s no such thing as a stupid question, but a question should be well thought-out and and show some knowledge of the topic. Humbling yourself to be honest when you don’t know something is not a sign of failure, so don’t treat asking questions as such!

How can you explicitly schedule time with your instructor to review a problem? We can schedule a meeting via Calendly. David asks that we hit him up on Slack 5 minutes prior to a scheduled meeting time as a courtesy reminder.

Are there any other times that we're available? Instructors are typically available during our scheduled lab hours, which are 1:30-5pm Monday through Thursday, and 9am-5pm on Fridays.

What are the three possible grades applied to every assignment? What do they mean? Incomplete (Red) denotes an assignment that wasn’t completed or attempted, or wasn’t turned in correctly. Not Yet (Orange) is assigned if work is submitted correctly, but still does not demonstrate effective understanding. This label may apply to an assignment that eschews learning objectives and focuses on merely completing requirements. Satisfactory (Green) assignments are turned in correctly, are complete, and demonstrate understanding of concepts present in the homework. There is another label I see (Gold Star) that, if we are using it, may apply to work that goes above and beyond expectations of the assignment and demonstrates a high level of understanding. This label isn’t listed in the syllabus. (https://github.com/TIY-Durham/2016-SPRING-FEE/labels).

What is the link to your GitHub profile? Your profile image? https://github.com/torihedden https://avatars1.githubusercontent.com/u/16636389?v=3&s=460

In what week do we plan to review material? Week 6 is set aside to review material and revisit assignments.

At what time does class begin? Is attendance mandatory? Missing more than four lectures or racking up more than 4 absences will make it very difficult for us to keep up with the course. This also makes it difficult for Iron Yard to recommend us with confidence to potential employers. Lecture begins at 9am Monday through Thursday. Labs also begin at 9am on Fridays. If you want to do well in the course, you must attend as many lectures as possible, so attendance is mandatory.

After what amount of time are you counted late? The syllabus does not specify an amount of time after which we are counted as being late. However, if we anticipate being late, we need to notify the instructor or will be counted as tardy. If we are late and give no notice to our instructor, they may count us as tardy.

When are you counted absent? Does that matter? Being late to class is disruptive to everyone in the course, including you and instructors. We should give notice to our instructors before class starts if we will be late. The fast-paced nature of this course means it is vital to be present as much as possible. If you have two tardies in one week, it’s counted as one absence.

What is the most common kind of mistake in programming? Based on my mistakes, and talking to others in programming, syntax errors seem to be very common to the beginning programmer. Before you feel totally comfortable with a programming language, it’s easy to forget semicolons, closing curly braces can get lost, etc. Eloquent Javascript warns the programing student against over-engineering or trying to be too clever: “Surprisingly many beginning programmers focus fanatically of efficiency, even in the smallest details”. Speaking with programmer friends of mine, they agreed that sacrificing clarity or readability for “cleverness” in your code oftentimes just isn’t worth it.

What are some strategies you can use to work through a difficult problem? “Rubber-ducking” involves explaining your code or problem aloud to either a person or using a small toy (like a rubber duck or stuffed animal) as your “audience”. Speaking out loud to yourself also works! By showing someone else your code to read through, it’s likely they will catch errors that you find difficult to see. Having a fresh pair of eyes on work helps catch things your brain finds “invisible”, i.e. problems you may have assumed you addressed correctly and therefore did not register with you when reviewing your own code. Treating a road block as an opportunity for learning rather than an admission of failure is a better mindset with which to tackle questions.

What exactly is the ⌥ key, anyway? This is the symbol for the Option key on a Mac. My Mac keyboard labels this key as “alt” and “option”. This key is used as a modifier for other keyboard shortcuts and commands, such as generating characters not found on a keyboard, and for navigating through files. Functionality also includes uses like revealing more technical information about a Wi-Fi network, or pressing Command-Option-Esc to force-quit an app.

What do you think will be the biggest barrier to your success in this class? I have a few personality traits that I will have to overcome if I want to achieve the greatest success possible in this course. I have very strong perfectionist tendencies, and have already experienced a strong desire to write “perfect” or the most succinct code possible for every small exercise I have done thus far. Reading through Eloquent Javascript, however, gave me some good insights into combating this mindset: “Often, a program deals with such complex concepts that giving up some efficiency in order to make the program more straightforward” is a good choice. Additionally, the book goes on to reassure us to not “worry about efficiency until you know for sure the program is too slow”. Imposter syndrome is a term often used, but I truly fall victim to it when it comes to a lot of my achievements. Feeling that I have to prove myself when instead I should just be focused on learning is going to be a hurdle I have to overcome. My ego wants me to be smart and look smart to others, but the reality of the situation is that we are all here to learn, and many of us are beginners. I say this to all my classmates, too: if we were accepted into this program, there’s a high chance we all have the potential to succeed!

How can you identify with the Growth and Fixed Mindsets? In what areas do you feel fixed? Where do you see the most potential for growth? I definitely used to be very fixed mind set. Everyone likes to feel smart, and most of us have grown up in school settings where we are praised for right answers but not necessarily our ability to think through problems. I used to take it very personally and with great difficulty when I didn’t know the answer to something quickly. Every small failure used to feel like confirmation that I wasn’t smart enough to try something. I used to be of the mindset that I needed to just give up if something was too difficult right off the bat, and didn’t learn how to teach myself to teach. The past 5 or so years of my life, I am already feeling more of a Growth mindset, AND seeing the value and importance of focusing on a Growth mindset. Each failure is a learning opportunity and is only proof that you have a lot more you can learn. Life is truly what you make of it, and a fixed or immutable personality or worldview the article refuted is good personal advice. Ultimately, the Growth mindset is the most rewarding.

Do you consider yourself a top-down or bottom-up thinker and why? I consider myself both, skewing more to a top-down style. When starting a new project, I find it most helpful to have an overview of the background, purpose, and needs of the project. I think more in overall concepts and overviews when I’m tackling a subject or new project. Taking big ideas and breaking them down into smaller, discrete goals is the way I work best. I’ve enjoyed learning a broad view of many different, though overlapping, subjects and tying them all together.

What do you think about your "learning style" and the debate about their validity? Which would you categorize yourself as and why? This concept is so ubiquitous I never had much cause to question its validity, despite that being a logical fallacy. I have seen this taught a lot in elementary school, and then the concept also cropped up again in a high school psychology class of mine. I’ve even heard it in business seminars and meetings at work, e.g. “for you visual learners I’ve made a chart”. However, I have and still tend to think of myself as a visual learner. Flow charts, graphs, diagrams, and bulleted lists help me grok new stuff. I was a little surprised by the articles that stated little or no proof for this idea. Sketching, re-writing, drawing diagrams, and copying notes over have always been strategies I go to when learning. I always prefer a map over verbal directions. However, I’ve never really read any proof of these distinct “learning styles”, nor have I ever been assessed or taken a test to determine my best learning style. I determined my best “style” on my own and assumed it was the most effective way for me to learn. Visual learning seems to be the most commonly cited “style” of learning, which maybe should have been a clue that there isn’t just one way to learn, and that many of us benefit from seeing diagrams and words written out.

torihedden commented 8 years ago

prezto screenshot

torihedden commented 8 years ago

Installing Prezto was probably the trickiest part of the pre-work. Reading the README.md file at https://github.com/sorin-ionescu/prezto really helped, as it included a section on installation that I extrapolated from. I'm 99% sure I loaded the modules for git and node correctly, as i see them listed in modules in my terminal. The only thing I was unable to do is set Atom as my editor (step 5ii. in Ready Player One's Prezto instructions).