Class Description

This class will introduce various web techniques and cover the spectrum of skills required to become a full-stack developer. You will not become an expert in ten weeks, but you will leave this course with a better understanding of what skills you may want to continue improving and what areas of web development you may wish to pursue.

By the end of this course, you will have learned how to create web applications using a combination of front-end and back-end technologies, you will build a personal website using a static site generator, and you will have completed either a front-end or full-stack application that will be featured in your portfolio.

Your attendance is mandatory and your participation is highly appreciated. Students must attend the first week of class to remain in the course. Should you not be able to attend a class, you are expected to review the covered material on your own. It is your responsibility to inquire about what we covered in class, what due dates might have changed, etc.

The coursework will consist of homework assignments and two projects. Each class, you will have a set of homework assignments. One of the projects is a personal portfolio. The final project covers a topic of your own choice, and the chosen topic requires permission first. The final project is due at midnight on the last day of presentations. While you can ask questions or start discussions on Slack, you are required to write your own code. Each student is expected to submit their own original work for all homework assignments and portfolio work. On the final project, students can work in teams of two. All coursework must be tracked in a private repository on GitHub, GitLab, or Bitbucket. The course instructor and assistant must be given access to this repository. Making this repository public will be considered an act of academic misconduct. Source control points will be awarded for timely commits that demonstrate the process of arriving at a solution. Each exercise must be tracked with at least one commit before its due date, and more commits are expected for the more challenging exercises.

Schedule

Please keep in mind that this class schedule is subject to change.

Date Topic Homework
Week 1: 6/24 + 6/26 Course Intro, Git + HTML, Accessibility
Week 2: 7/1 + 7/3 CSS, SASS, Bootstrap + Work Session HW #1 due Sunday at 11pm
Week 3: 7/8 + 7/10 JavaScript + jQuery, Moment.js HW #2 due Sunday at 11pm
Week 4: 7/15 + 7/17 HTTP overview, Node.js + Mustache.js, Express.js HW #3 due Sunday at 11pm
Week 5: 7/22 + 7/24 Ajax, Socket.io + Work Session HW #4 due Sunday at 11pm
Week 6: 7/29 + 7/31 Project Pitches + ES6, React.js Project Proposals due Monday at 2pm
Week 7: 8/5 + 8/7 React.js, APIs, REST + GraphQL
Week 8: 8/12 + 8/14 Web Assembly + Final Project Presentations Final Projects due Thursday at 11pm

Homework

The homework assignments will be posted on D2L and should be submitted to the cs465.oregonctf.org submission server. Your code should be submitted in a private repo on GitHub.

Projects

A personal website that you work on by yourself or a full-stack application that you work on in teams of two. You will turn in your final project and present the last week of classes. This will take the place of a final.