Computing Resources
Tools
GitLab
We will be using GitLab to submit homework assignments this quarter. If you are new to Git, we recommend using the GitKraken desktop tool to easily get started with cloning and managing a code repository (supported on Windows, Mac, and Linux systems), or alternatively, using a command line tool.
- Option 1: Installing GitKraken
- Option 2: Getting Started with GitLab on the Command Line (handy command line basics tutorial for first-time users)
Text Editors
We recommend Atom as the text editor for writing code in this class. If you prefer a different text editor (Sublime, VisualStudio, Vim, Emacs, etc.) you are free to use it instead.
File upload tools
We recommend Filezilla for uploading your files to a server, like your UW student server. (Use the link below to avoid "bloatware"). If you prefer a different tool (WinSCP for Windows or scp for on a terminal shell) you are free to use it instead.
Browser Web Dev Tools
We strongly recommend either Chrome or Firefox as browsers to view your web pages in this class. You can find useful development tools for either choice:
Local Servers
Use these to do server development all from your local machine
- Mac MAMP
- Windows MAMP
- Reporting Errors with PHP on MAMP
- Atom php-server package (you need PHP installed to use this, but it's a very easy way to run PHP programs directly fro Atom!)
- MAMP phpmyadmin
Windows Shells
Simulate a Linux machine on your Windows machine. Not needed for Macs because you can run Terminal on Macs (search for "Terminal" in your navigator tool).
Code Quality
Code Validators
While these will not catch all code quality issues, they do go a long way towards finding some problems. Validating will be a required part of all creative projects and omework assignments.
Languages and Technologies
HTML and CSS
- MDN HTML Elements Reference
- HTML5Doctor - great resource to learn more about best practices and examples using different HTML tags
- MDN CSS Reference
- Web Style Guide (Lynch and Horton)
- 140 CSS Color Names, RGB, and Hex Values
- A CSS Selector Game! (note, not all tags are "real", but this is great to practice different types of CSS selectors!)
- Flexplorer (a webpage to explore different flex layouts with colored boxes
- Responsive Design with CSS Media Queries
- Color Pallete Generator (with options to view with different types of color-blindness filters)
JavaScript
- Visual Event - a JS bookmarklet to provide debugging information about what events have been attached to DOM elements
- MDN's introduction to Modern JS
- Working with Dates in JavaScript
PHP
- PHP Language Cheatsheet
- List of common PHP bugs and debugging tips
- Interactive PHP Tutorial (good 1-hour tutorial for basic language syntax)
- A more thorough PHP Tutorial
- Fun way to practice "truthiness" in PHP: Return True to Win
- PHP CodeStepByStep Exercises
Input Validation
- Form Validation (client-side and server-side, MDN)
- HTML5 Form Input Elements (MDN)
Regular Expressions
- Rubular regular expression tester
- RegexCrossword
- Regular Expressions in JS
- Regular Expressions in PHP
Other Useful Links
- Introduction to Web Accessibility
- Designing 404 Pages
- CodeStepByStep (practice problems on HTML/CSS/JavaScript/PHP)
- Keycode Finder (for JS programs using key input)