"The secret to building great products is not creating awesome features, it's to make your users awesome." - Kathy Sierra
- Attitude is contageous
- Mistakes are fuel for learning
- You learn more when you're having a good time. Have fun & enjoy the journey!
- What you get out of this program is a function of what you invest of yourself
- Expect to read and write a tremendous amount of code.
- Expect to learn by doing. Form hypotheses, try things, and adjust.
- Programming is a skill that requires a little study and lots of practice.
- Work together, search for answers, and ask for help.
- Be Cool. Act responsibly. Behave with integrity.
- No isms (racism, sexism, ageism, ablism, etc...) Only optimism
- Treat each other with excellence.
- Treat the program like your job. No BS. Bring your best.
-
Own your learning experience
- Make sure you're solid on vocabulary, fundamentals, and first principles
- Be honest with yourself and your comprehension. Be open with us. Ask for help.
- We can explain things to you, but we can't understand it for you
-
Overcome learned helplessness
-
The number one learning objective: "Working with others effectively to find and solve problems in the face of uncertainty"
-
Expect to work with things before fully understanding all the ins and outs
-
The big take-away from Codeup is learned resourcefulness and increased automaticity.
-
-
Learn to problem solve (breaking down into small pieces)
-
Put in the reps (we can't lift the weights for you)
- Not only how to program, but how to learn programming, long after the class is done
- How to form effective questions and find your own answers
- How to debug and troubleshoot using the scientific method
- Adopt the mindset that you're learning a craft and the bare minimum won't cut it.
- Read ahead in the curriculum. Read more deeply into concepts. Do extra research.
- When you finish exercises, play with the code and give yourself new challenges.
- Use what you've learned to build stuff. Build many, many websites and web-apps!
- Find or make yourself passion projects that are motivating for you to build.
- Go to https://github.com/gocodeup/codeup-setup-script and follow the student directions.
- Download "IntelliJ IDEA Ultimate" from https://www.jetbrains.com/idea/download/
- Once installed, choose "evaluate for free". We'll provide you a coupon in a few weeks.
- Use https://glitch.com for when you need a browser-based code editor/hosting solution.
- Create a GitHub account
- Go to https://tools.codeup.com/register.
- Double check your GitHub username & email address before submitting the form.
- The Codeup curriculum lives at https://java.codeup.com
-
Read ahead, finish exercises, and push your work to GitHub every day.
-
Work through the curriculum and projects on FreeCodeCamp.org (HTML, CSS, JS)
-
Practice logic programming problems on HackerRank.com (JS, Java, SQL)
-
Work on your own projects!
-
Deliberately re-read the curriculum or the problem specification. Run any code examples.
-
Try to state the problem to yourself in plain English. Can you explain the solution in English?
-
Form a hypothesis, test that hypothesis, observe the results, alter your approach.
-
Communicate technical clarity. "I have a syntax error on line 23. Can you help me identify what am I missing?" vs. "It's not working".
-
Use search engines to find similar code/problems and collaborate with your fellow students.
-
Ask for help during class hours. Outside of classtime, email [email protected]
- cmd + a - Select All
- cmd + c - Copy
- cmd + v - Paste
- cmd + x - Cut
- cmd + z - Undo
- cmd + shift + z - Redo
- cmd + s - Save
- cmd + q - Close application
- cmd + w - Close window
- cmd + t - New window - doesn't work in IntelliJ
- cmd + f - Search for a keyword
- cmd + r - Refresh the browser
- cmd + shift + r - Hard refresh browser, clearing cache
- cmd + tab - Cycle between applications
- cmd + ` - Cycle between windows of the same applicatio
- cmd + space - Spotlight search
- shift + arrows - Highlight text
- cmd + arrows - Move cursor to the end of a line/beginning of a line
- opt + arrows - Move from one word to the next
- 4 fingers up - View all windows
- 2 fingers + up/down - Scroll
- **cd ~** - Navigates to your home direction
- ls - list files in the current directory
- ls -a - list all files including hidden files; these start with a .
- pwd - Print working directory to see what folder you are in
- mkdir - Create a directory "mkdir example" makes a directory called example
- cd - Change directories
- cd .. - Go to the parent directory
- touch - Creates an empty file
- cat - Show the contents of a file
- mv - Move a file with mv
- cp - Copy a file with cp
- rm - Delete files
- rm -r - Adds recursive flag and allows deletion of files and empty directories
- rm -rf - Add flag -f (force) to delete directories that are not empty
- clear - Clears console display but still can scroll through history
- git init - Initialize a repository) AVOID NESTED REPO
- git status - See which files need to be added or have been added
- git add - Add files to the staging area to be committed
- git add -A - Adds all files
- git diff --cached - See the changes of the files that will be committed
- git commit - Commit the changes to Git
- git log - View all previous commits
- git rm --cached - Remove files from staging by adding the file name
- git commit -m "my commit message" - To add commit message without an editor
- git commit - Write the commit message and save it in whatever text editor is set as the default
-
Set an overall goal and break the goal down into smaller steps / problems. In the case of curriculum exercises, this is largely done for you and the goal is to simply "complete the lesson exercise steps." In larger projects, this step will become increasingly important.
-
Understand the problem needing to be solved and how to succinctly describe it. For example...
- "There is a syntax error in my
login.js
file on line 33." - "I'm not connecting to the database and my credentials appear to be correct."
- "This image's aspect ratio is distorted."
- Research the problem and potential solutions further if you don't have clear context.
- Reread exercise instructions (if applicable)
- Refer to the curriculum (check the appendix too)
- Check formal documentation
- Google search and search StackOverflow
- Check general resource sites like MDN or w3Schools
- WARNING: often students spend too much time on this step. Limit research time; get CODING!
- Create a solution hypothesis and test it like a scientist. (try to always have an expectation for what output you will get)
- "I postulate that if I run my code now having changed the names of my local variables, I will get an output of "test" and "loop ran" in the console.
- "I postulate that changing the display property on this element to block, I will see the elements vertically aligned."
- Where possible, inject places where you can print out values to better determine where the problem is occuring and if a potential solution solves the problem.
- Keep track of various possible solutions tested. Be prepared to articulate them.
- "I tried possible solution a, b, and c and got x, y, z results but I need to get a q result."