CS 408 Full Stack Web Development
Catalogue Description
CS408 - Full Stack Web Development (3-0-3)(F). Learn how to apply various technologies used for client-side and server-side web development. Learn advanced concepts behind competing web technologies, best practices for design and usability, and build rich, dynamic, n-tier secure and scalable web applications. Tools used will be mainly open source such as HTML, CSS, JavaScript and server-side technologies such as Node.js. Topics include templating, single page apps, multi-page apps, continuous integration, and advanced serverless deployments using AWS or Azure. PREREQ: CS208, CS321
Course Logistics
- Email: shanepanter (at) boisestate.edu
- Office Hours: Book an appointment
- Classroom: Online (Asynchronous)
- Semester: Fall 2026
- Class Time: N/A (Asynchronous)
- Textbook: None
Learning Objectives
| TLO | SLO | Objective |
|---|---|---|
| 1 | Create a Full Stack Web Application | |
| 1.1 | Use a Database to store state information about your application | |
| 1.2 | Apply responsive UI design techniques that displays correctly on both desktop and mobile | |
| 1.3 | .Use JavaScript to add interactive components to your websites. | |
| 1.4 | Use backend templates reduce repetitive HTML and produce dynamic content based on conditionals. | |
| 1.5 | Given several professional frameworks that you could use (React, HTMX, etc.) evaluate their pros and cons for your selected domain | |
| 2 | Apply Advanced HTML and CSS properties | |
| 2.1 | Explain the purpose of advanced HTML/CSS tags | |
| 2.2 | Use advanced HTML tags in your designs | |
| 2.3 | Use advanced CSS to style HTML elements. | |
| 2.4 | Apply styles using id and class attributes. | |
| 3 | Given JavaScript in a Full Stack environment, Explain Its Purpose | |
| 3.1 | Identify the differences between using Javascript on the frontend vs backend | |
| 3.2 | Use async/wait where appropriate | |
| 3.3 | Use callbacks where appropriate | |
| 3.4 | Use AJAX to retrieve and manipulate HTML elements and properties. | |
| 4 | Develop an Accessible Website | |
| 4.1 | Understand why WAI-ARIA was created (very simple explanation) | |
| 4.2 | Memorize a given list of important WAI-ARIA rules (the plain language version) | |
| 4.3 | Explain in layman's terms the given list of important WAI-ARIA rules | |
| 4.4 | Given a specific accessibilty problem, identify the appropriate section of the WAI-ARIA document that contains the rules | |
| 4.5 | Explain the legal ramifications for not creating accessible websites | |
| 4.6 | Describe the elements of an accessible design | |
| 4.7 | Incorporate common accessibility features from a given list | |
| 5 | Establish advanced program development strategies | |
| 5.1 | Use a debugger for both front end and backend | |
| 5.2 | Explain when you need to write tests and when you don't | |
| 5.3 | Use web developer tools to inspect existing web pages and network traffic. | |
| 5.4 | Use the Chrome Developer Tools and console logging to debug JavaScript in your web pages. | |
| 6 | Apply good software engineering practices (cross cutting) | |
| 6.1 | Use Version Control for all projects | |
| 6.2 | Configure and Use Continuous Integration and testing with github actions | |
| 6.3 | Configure and Use Automatic Version extraction from github tags | |
| 6.4 | Configure Continuous deployment | |
| 6.5 | Configure Continuous Integration |
Assessments
Your final grade is based on work you ship to the class GitHub repository as merged pull requests. There are no exams. There are no individual homework assignments.
| Grade | Merged PRs | Reviews Given |
|---|---|---|
| A | ≥ 12 | ≥ 10 |
| B | ≥ 8 | ≥ 6 |
| C | ≥ 5 | ≥ 0 |
| D/F | < 5 | — |
A merged PR must: pass all CI checks (ruff, pyright, pytest), have 2 peer approvals, and be linked to a GitHub issue. Canvas weekly reflections (10%) and the final demo video (10%) round out the grade.
Participation
Participation happens on GitHub, not Canvas. Leaving a substantive code review counts as participation. Opening a well-written issue counts. Posting a weekly reflection in Canvas also counts (required every other week, see the schedule).
Grading Policy
Grades will be posted in Canvas and calculated using the percentages below. Final grades will not be rounded. Extra Credit opportunities are available throughout the semester to help improve your final grade.
| Letter Grade | Percentage |
|---|---|
| A | 94% – 100% |
| A- | 90% – 93.99% |
| B+ | 87% – 89.99% |
| B | 84% – 86.99% |
| B- | 80% – 83.99% |
| C+ | 77% – 79.99% |
| C | 74% – 76.99% |
| C- | 70% – 73.99% |
| D+ | 67% – 69.99% |
| D | 64% – 66.99% |
| D- | 60% – 63.99% |
| F | Below 60% |
Extra Credit Opportunities
Standing extra credit is always available to help students on a grading boundary. Extra credit earned over the semester cannot exceed 2.5% of total points offered (e.g., a maximum of 25 points in a 1000-point course).
- Typos and Bugs — If you find a typo or bug in the course materials, click the "Edit this page" link at the bottom of any page, make the correction, and submit a pull request. If your pull request is merged you will receive 5 bonus points. Read carefully — there are deliberately placed errors throughout the materials. 🦅
TIP
Submitting a pull request is the core objective of this extra credit. No points will be awarded for any other submission method. If you click "Edit this page" and don't see the content you want to fix, look for a <!--@include: ../path/to/file.md --> directive — that points to the source file that actually needs editing.
Homework Policy
Unless explicitly stated otherwise, all work is individual. Group assignments will be clearly marked. The Kount Computer Learning Center (CCP 241) is accessible 24/7 by proxy card to all students enrolled in CS courses and has all the software you will need.
AI Policy
There is no restriction of AI use in this course. You may use AI tools to help you with your work, but you are responsible for ensuring that your work is accurate and meets the requirements of the assignment. You are strongly encouraged to explore the use of AI tools as part of your learning process, but you should not rely on them exclusively. If you use AI tools, you should disclose this in your work and provide a brief explanation of how you used them.
Attendance Policy
I follow the official attendance policy as defined by the university. Students are responsible for all announcements made during class. If you miss a class, it is your responsibility to get caught up. Students with an excused absence should contact me as soon as possible to arrange make-up work. Students who are chronically late may lose up to 10% of their final grade for excessive tardiness after receiving a written warning.
Late Work Policy
Homework assignments may be submitted up to 2 days late with no penalty. After the grace period, no submissions will be accepted unless prior arrangements were made before the original due date. No work or extra credit will be accepted after the last day of course instruction — the semester must end at some point, so plan accordingly. Work submitted 1 second late is treated the same as work submitted 1 day late. You can find the last day of course instruction on the registrar's academic calendar.
Compressed Semesters
For courses taught in a 5-week or 7-week session, the last day of course instruction is NOT the same as a regular 15-week semester. Consult the registrar's academic calendar for the exact date.
Exam and Quiz Policy
All exams and quizzes must be completed within the time frame specified in Canvas unless prior arrangements have been made. Extensions are granted on a case-by-case basis for circumstances outside the student's control. Some assessments may require the testing center — it is the student's responsibility to schedule their own appointment in a timely manner.
Class Interaction Policy
All class interaction assignments must be completed within the time frame specified in Canvas or during the lecture unless prior arrangements have been made. Interactive assignments are only valuable when everyone participates at the same time. It is not fair to classmates who submitted on time to have to respond to or view late submissions. The secret code for the syllabus quiz is "green".
This applies to (but is not limited to):
- Discussion posts
- Reflections (written and video)
- Group meetings (virtual and in person)
- Status updates
- In-class activities
- Paper quizzes and exams
Communication Policy
Outside the classroom, communication will be through email, Canvas, and office hours. Other methods such as carrier pigeon 🐦 are not supported.
If you do not receive a reply within 48 hours, verify you are emailing from BroncoMail and send a follow-up. You can also message through Canvas if email is not going through. Please include the following in all emails:
- First and last name
- Student ID
- Course and section number (e.g., CS452 – Section 1)
BroncoMail is the official university communication channel. Check it two to three times per week. Your instructor will not respond to emails from personal accounts (Gmail, Yahoo, etc.). See University Policy 2280 for details.
Emails are answered within 24 hours, Monday–Friday, 9:00 am–5:00 pm (MST). Emails sent on weekends or outside those hours will receive a reply on the next business day. Reserve email for private matters such as grades — general course questions belong in the class discussion forum.
IT Support Policy
Your instructor and teaching assistant cannot provide IT support for personal machines. If you cannot get your personal machine configured correctly, use a lab machine to complete your work.
Labs and Other Building Spaces
The CCP building (downtown Boise) has three labs secured by proxy card access. All lab machines are supported by department IT staff and are guaranteed to work.
- Kount Learning Center (CCP 241) — Accessible 24/7 by proxy card to all CS students. See the Success & Tutoring page for details.
- CS 121 Classroom Lab (CCP 242) — Accessible 24/7 by proxy card, but not available during scheduled courses and labs (see the schedule posted outside the lab).
- Metageek Lab (CCP 240) — Accessible 24/7 by proxy card, but not available during scheduled CS courses and labs (see the schedule posted outside the lab).
University Policies
Violations of university policies may result in a failing grade (F) for the course. All students are required to review the following:
Student Support
Boise State cares about your success. Help is available for technical, academic, financial, and personal needs, as well as learning accommodations. Nearly all services are available to online students as well.