Hi, I'm Chris Schneider. 👋
Software Development student.
Know The Place
Plugging this Bruce Gallery show on campus, as a number of my sculptures are featured in it!
Homework 📝
Chapter 1: Hands-On
Chapter 1: Individual Case Project
Chapter 2: Hands-On
Chapter 2: Individual Case Project
Chapter 3: Hands-On
Chapter 3: Individual Case Project
Exam 1
Chapter 4: Individual Case Project
Chapter 5: Hands-On
Chapter 5: Individual Case Project
Chapter 6: Hands-On
Chapter 6: Individual Case Project
Chapter 7: Hands-On
Chapter 7: Individual Case Project
Chapter 8: Hands-On
Chapter 8: Individual Case Project
Chapter 9: Hands-On
Chapter 10: Hands-On
Final Exam
Final Project
WebPaint 🎨
Fully-responsive "MS-Paint style" app to draw simple pictures.
You can draw, erase, and change the color and size of these tools with the UI or hotkeys.
The app also saves state history and allows undo/redoing actions as in MS Paint.
I started working on a Fill tool, but it's suprisingly complicated to get it right... My research found that nearest neighbor flood algorithms can take a long time to run (imagine clicking and waiting 6 seconds) and are affected by canvas anti-aliasing, scan lines are complicated (lots of edge cases), and recursive algorithms can overflow the DOM stack. Basically it would probably take longer to do this feature than the rest of the entire project combined, so no Fill bucket for the scope of this project!
Rubric Notes
[25] Completeness
Whether is does what you say it is going to do. I will also be grading the complexity here. For complexity I'll be looking that you implemented at least 3 of these:
- Event Driven Programming
mousedown
,mouseup
,wheel
,keyboard
,click
,load
,resize
- Use of the DOM
- I'm not really sure how to not use the DOM...
- Assignment element properties to arrays, & use of text strings
- Does using
data-*
attributes count?
- Does using
If appropriate validate any input of data- OOP / Custom objects
- custom ToolBar, Canvas, Cursor classes
Share data, via URL, Web Storage API or Cookie- Some sort of event object as in Ch 10, like the drag and drop
- Chapter 10 includes Web APIs, of which I used the Canvas API
[10] Correctness - That it does what you say correctly:
- correct calculations and/or game play.
- Pretty good!
- Including that I cannot make it crash.
- Good luck, have fun!
- No errors
- Looking good!
[8] Design
I'll look at originality of your project, the overall look and feel. This is a subjective grade. For example, I'd like to see:
- Good colors
- I think it's decent?
- Layout
- Fully responsive design
- Playability/usability of your program
- You sure can draw stuff!
- Ease of navigating your page.
- The hotkeys help!
[7] Style
- Please add lots of documentation
- I hope I added enough!
- Clarity in your code
- I think so!
- Proper indentations
- Always!
Contact 💬
- Email: cs108507@pw
- Discord: .4our