Skip to content

Syllabus ​

CS408 - Full Stack Web Development ​

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 Essentials ​

Textbook ​

There is no official textbook for this course. The instructor will provide all of the necessary materials.

Course Structure ​

This is a fully online, asynchronous course, so there are no scheduled meetings, either in person or via web conferencing (e.g., Zoom).

Instructor Contact ​

Learning Objectives ​

  1. Create a Full Stack Web Application
    1. Use a Database to store state information about your application
    2. Apply responsive UI design techniques that display correctly on both desktop and mobile
    3. Use JavaScript to add interactive components to your websites.
    4. Use backend templates to reduce repetitive HTML and produce dynamic content based on conditionals.
    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.
    1. Explain the purpose of advanced HTML/CSS tags
    2. Use advanced HTML tags in your designs
    3. Use advanced CSS to style HTML elements.
    4. Apply styles using id and class attributes.
  3. Given JavaScript in a full-stack environment, explain its purpose.
    1. Identify the differences between using JavaScript on the frontend vs the backend.
    2. Use async/await where appropriate
    3. Use callbacks where appropriate
    4. Use AJAX (fetch) to retrieve data and update HTML elements and properties with the DOM.
  4. Develop an Accessible Website
    1. Understand why WAI-ARIA was created (straightforward explanation)
    2. Memorize a given list of important WAI-ARIA rules (the plain language version)
    3. Explain in layman's terms the given list of important WAI-ARIA rules
    4. Given a specific accessibility problem, identify the appropriate section of the WAI-ARIA document that contains the rules
    5. Explain the legal ramifications of not creating accessible websites
    6. Describe the elements of an accessible design
    7. Incorporate standard accessibility features from a given list
  5. Establish advanced program development strategies
    1. Use a debugger for both frontend and backend
    2. Explain when you need to write tests and when you don't
    3. Use web developer tools to inspect existing web pages and network traffic.
    4. Use the Chrome Developer Tools and console logging to debug JavaScript in your web pages.
  6. Apply good software engineering practices (cross-cutting)
    1. Use Version Control for all projects
    2. Configure and Use Continuous Integration and Testing with GitHub Actions
    3. Configure and Use Automatic Version extraction from GitHub tags
    4. Configure Continuous deployment

Course Outline ​

A rough course outline is shown below.

  • Introduction
    • General introduction and policy
    • Form teams for those who want to work together.
  • CS208 Review
    • HTML
    • CSS
    • JavaScript
    • Database
  • Project Specification
    • Write your project specification
      • You must submit it for approval
      • Create a schedule for what you will have done for the required project checkpoints.
      • Each checkpoint needs to have a well-defined deliverable
    • Choose your tech stack (you are free to use the default stack provided)
  • AWS - EC2
    • Create a GitHub repo with your project
    • Configure and launch the virtual machine (with SSH keys)!
      • Configure SSH access for your personal EC2 instance
      • Set up your AWS Server (log in to AWS Innovation Sandbox with your Boise State credentials)
    • Ensure you can SSH into your EC2 instance
  • Initial Deployment
    • Get a simple "Hello World" application up and running using your tech stack on your local machine.
      • Write scripts to install all the required dependencies
      • Write scripts to deploy your application on your EC2 instance
      • Deploy your "Hello World" application to your Server.
  • Full-stack Application
    • Use the project specification that you wrote to start implementing your application.
    • You are required to make progress each week and stick as close to the schedule as possible.
      • Project checkpoint 1 - Student defined
      • Project checkpoint 2 - Student defined
      • Project checkpoint 3 - Student defined
      • Project checkpoint 4 - Student defined
      • Project checkpoint 5 - Student defined
      • Project checkpoint 6 - Student defined
      • Project checkpoint 7 - Finalization
    • Final Project Demo

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 GradePercentage
A94% to 100%
A-90% to 93.99%
B+87% to 89.99%
B84% to 86.99%
B-80% to 83.99%
C+77% to 79.99%
C74% to 76.99%
C-70% to 73.99%
D+67% to 69.99%
D64% to 66.99%
D-60% to 63.99%
FBelow 60%

Extra Credit Opportunities ​

Extra credit can only be worth 2.5% of the total course grade.

Homework Policy ​

Unless explicitly stated otherwise, all work is individual. Group assignments will be clearly marked. The Kount 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 on 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 ​

This course is asynchronous. I follow the official attendance policy as defined by the university. Students are responsible for completing the weekly materials and assessments by the posted deadlines. Students who need an approved accommodation or make-up arrangement should contact me as soon as possible.

Class Interaction Policy ​

Class interaction assignments must be completed within the time frame specified in Canvas. Interactive assignments are only valuable when everyone participates during the same week, and it is not fair to classmates who submitted on time to have to respond to or review late submissions.

This applies to (but is not limited to):

  • Discussion posts
  • Project checkpoints
  • Peer reviews
  • The project showcase

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, and it is the student's responsibility to schedule their own appointment in a timely manner. The secret code for the syllabus quiz is "green".

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 two business days, 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 to Friday, 9:00 am to 5:00 pm Mountain Time. 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, since 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.

Released under the MIT License.