Sorry, but I couldn't make it today and couldn't find a replacement lecturer in time. However, I have put together a couple of exercises for you to sharpen your skills and maybe even learn a little bit. So no flash drives / laptops needed today, but do bring them next week.
Make a team of 2 - 3 people if you want to work together in a group. You're also free to work alone, but I highly encourage you make some friends.
Turn on your computers (if you haven't already).
Here is where things begin to diverge. If you are still not entirely comfortable with HTML, CSS, Javascript that we've been discussing in class in the past couple of weeks, head on over to codecademy.com and work through some of the exercises in the CSS/HTML/JS tracks.
Web (HTML/CSS) https://www.codecademy.com/learn/web
- Click on start
Javascript https://www.codecademy.com/learn/javascript
- Click on start
If you are already familiar with the aformenentioned languages, here is your challenge:
Make a Calculator that Runs in the Browser
- Basic specifications:
- 4 functions (+ - * /)
- Has to display answer
- Has to display current input
- Must be intuitive to use (i.e. doesn't require a manual)
- This may seem like a simple task (and it kind of is), but the idea is that it's totally doable in 40 minutes and very extensible. Here are a couple of ideas for extensions (in no particular order):
- Implement more functions (exponents, square root, etc.)
- Make nice looking animations for:
- button presses
- clearing the display
- whatever else you want
- Even stretchier stretch goals (aka hard mode), still in no particular order:
- Implement graphing functionality (look into the
<canvas>
tag) - Implement LaTex input (try Googling around first for what LaTex is, and second for a web latex library. I don't expect you to implement a LaTex renderer by yourself lol)
- Create a modular system in your Javascript for easily adding more functions to the calculator in the code (this is a code design thing, and you would be best off starting with some paper/pencil time)
- Whatever other crazy ideas you think of (giphy button!?)
- Implement graphing functionality (look into the