Skip to content

CS208

CS208 Introduction to Full Stack Web Development (3-0-3)(S,F) An introduction to web development using client-side (HTML/CSS/JavaScript) and server-side (Node.js) technologies. Students will work on large web development projects using agile methodologies and databases. Agile development topics include: scrum process, user stories, acceptance criteria, and test programming. Database topics include: data modeling, insertion, deletion, and update statements, basic SQL queries, and database APIs. PREREQ: CS121 COREQ: CS155.

Tentative Schedule

Below is a tentative schedule for the semester that you can use to plan out your work. Hard due dates are all posted in Canvas. While every effort is made to maintain the schedule below minor changes may be made to accommodate events that are outside of anyone's control (snow days, global pandemics, etc.)

All due dates are posted in Canvas.

Week 1

  • 1.0 Syllabus quiz
  • 1.1 Course Introduction
  • 1.2 Introduction Reading Assignment (ch1)

Week 2

  • 1.3 Introduction Quiz
  • 1.4 Project 1 - Developer Setup
  • 1.5 Module Retrospective

Week 3

  • 2.1 HTML Reading Assignment (ch2)
  • 2.2 More HTML Reading Assignment (ch3)

Week 4

  • 2.3 Basic CSS Reading Assignment (ch4)
  • 2.4 Quiz - HTML and CSS

Week 5

  • 2.5 Project 2 - HTML and CSS
  • 2.6 Module Retrospective (HTML and CSS)

Week 6

  • 3.1 Basic JavaScript Reading Assignment (ch5)

Week 7

  • 3.2 JavaScript in the Browser Reading Assignment (ch6) - Part 1

Week 8

  • 3.3 JavaScript in the Browser Reading Assignment (ch6) - Part 2
  • 3.4 JavaScript Quiz

Week 9

  • 3.5 Project 3 - JavaScript
  • 3.6 Module Retrospective (JavaScript)

Week 10

  • 4.1 Relational Databases and SQL Reading Assignment (ch7)

Week 11

  • 4.2 Full Stack Reading Assignment (ch8)
  • 4.3 Full Stack Quiz

Week 12

  • 4.4 Project 4 - Full Stack Lab
  • 4.5 Module Retrospective (Full Stack)

Week 13

  • 5.1 Final Project
  • 5.2 Final project simulated stand up meeting 1

Week 14

  • Thanksgiving Break

Week 15

  • 5.3 Final project simulated stand up meeting 2
  • 5.4 Final project simulated stand up meeting 3 (Merging Madness)

Week 16

  • 5.5 Final Project - 100% Complete
  • 5.6 Final Project Demo

Course Learning Outcomes

By the end of this course the student should have achieved the following course learning outcomes.

TLOSLOObjectiveAssessment Instrument
1Create a Full Stack Web ApplicationFinal Project
1.1Create a dynamic front-end UIFinal Project
1.2Identify when to use JavaScript to add interactive components to your websites.Reading Assignments
1.3Identify when a server-side language is useful in web development.Reading Assignments
1.4Use templates to reduce repetitive HTML and produce dynamic content based on conditionals.Final Project
1.5Explore functions available in NodeJS and use them to implement server-side logic.Final Project
2Understand HTML and CSSQuiz
2.1Identify basic HTML tags and attributes and use them to create a static web page.Quiz
2.2Use CSS to style HTML elements.Text Book Labs
2.3Use CSS selectors to select specific HTML elements for styling.Text Book Labs
3Understand JavaScript in a Full Stack environmentFinal Project
3.1Construct simple JavaScript programs that will run in the browserText Book Labs
3.2Use JavaScript DOM objects and functions to retrieve and manipulate HTML elements and properties.Final Project
4Understand how the modern web worksQuiz
4.1Explore Web HistoryQuiz
4.2Understand IP address, domain names, and URLsQuiz
4.3Understand HTTP/HTTPSQuiz
4.4Discuss how the Internet works at a high level and how data is shared over the World Wide Web (WWW).Quiz
4.5Explain the roles of a client and a server in the client-server communication model.Quiz
4.6Understand a REST APIQuiz
5Establish basic program development strategiesFinal Project / Labs
5.1Understand how to use a debuggerFinal Project / Labs
5.2Use web developer tools to inspect existing web pages and network traffic.Final Project / Labs
5.3Use the Chrome Developer Tools and console logging to debug JavaScript in your web pages.Final Project / Labs
6Interact with DatabasesFinal Project
6.1Understand and explain core database conceptsReading Assignments
6.2Understand how to connect to database systems using common industry toolsReading Assignments
6.3Define and build database schemas in a database systemFinal Project
7Practice Agile Development and work in a team to build a project incrementallyFinal Project
7.1Understand and explain the purpose and responsibilities of each Scrum roleQuiz
7.2Understand User Stories, Acceptance Criteria, Tasks, Definition of DoneQuiz
7.3Understand Agile development techniques and software engineering best practicesQuiz

Course Materials

We will be using zyBooks as our textbook. You should be prompted to sign up for the book when you complete the first assignment that is linked in Canvas. Do not go to the zyBooks website and create a new account you must sign up through Canvas so that your progress is properly recorded.

Assessments

Your final grade will be calculated with the following weights in Canvas.

  • Quizzes - 20%
  • Reading - 20%
  • Participation - 10%
  • Assignments - 30%
  • Final Project - 20%

Quizzes

There will be several quizzes over the assigned reading and general web programming during the semester. The quizzes are open notes and open book and must be done individually.

Participation

This is an online asynchronous class; thus, all of our interactions and participation will be done through Canvas using discussion boards and video posts.

Projects

There are several individual projects this semester.

  • Project 1 - This project is a warmup project and is intended to introduce you to the tools and techniques that we will be using for the rest of the semester.
  • Project 2 - This project will evaluate your knowledge of HTML and CSS.
  • Project 3 - This project will evaluate your knowledge of JavaScript.
  • Project 4 - This project introduces and evaluates full stack web development.
  • Project 5 - This project will be group based and allow you to practice not only your web development skills but also use git and GitHub in a team-based environment. All grades are given individually so even though you will work in a group you will grade will not be impacted by any team members lack of effort or contributions.

Instructor Contact

Grading Policy

Grades will be posted in canvas and calculated with the percentages specified below. Final grades will not be rounded. I offer plenty of Extra Credit Opportunities that you can take advantage of to improve your final grade.

Letter GradePercentage
A94% < 100%
A-90% < 94%
B+87% < 90%
B84% < 87%
B-80% < 84%
C+77% < 80%
C74% < 77%
C-70% < 74%
D+67% < 70%
D64% < 67%
D-60% < 64%
F0 < 60%

Extra Credit Opportunities

Standing extra credit is always offered to allow students to bump their grade up if they are on a grading boundary so please take advantage of any extra credit offered. Any extra credit given over the semester can not exceed 2.5% of the total points offered. For example, the maximum number of extra credit points that you can earn if the total points offered is 1000 would be 25.

  • Typos and Bugs - If you find any typos or bugs in the course materials, you can click the "Edit this page" link at the bottom of the page, make the corrections, and then issue a pull request. If I merge your changes back into my repository then I will give you 5 bonus points. I have strategically placed several spelling and grammar errors for you to find so there are plenty of opportunities to get the maximum number of points offered. So make sure and read everything with an eagle 🦅 eye so you can rack up those points!

TIP

Creating a pull request is important and is the core learning objective in the extra credit process. No points will be awarded for any other method of submission. Some pages may include other markdown pages so when you click the edit button if you don't see the content that you want to correct look for an <!--@include: ../path/to/file.md --> directive which will have the path to the file that needs to be updated 😃

  • Use of AI technologies - If you are able to solve 100% of any assignment with AI, I will give you extra credit if you submit your chat logs as proof that it was 100% AI generated.

Homework Policy

Unless explicitly instructed otherwise students are expected to work on their own. All group work will be clearly marked so there should be no confusion. The Kount Computer Learning Center (CCP 241) is accessible 24/7 by proxy card to all students enrolled in CS courses. Machines in the Kount Computer Tutoring Center have all the software you will need this semester.

DANGER

It is still plagiarism to claim work that was generated by ChatGPT or other AI tools as your own and you will be written up for Academic dishonesty if you do not cite your usage of any AI tools.

Attendance Policy

I follow the official attendance policy as defined by the university. Please see the Late Work section for details on how to make up any missed work. Students are responsible for all verbal announcements or updates given during class.

Late Work Policy

All homework assignments can be submitted up to 2 days late with no penalty. After the 2 day grace period no further submissions will be accepted unless prior arrangements have been made before the original due date. No work or extra credit will be accepted after the last day of course instruction, the semester has to 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 at the registrar.

INFO

For classes taught in the first 5wk or 7wk session of the semester, the last day of course instruction is NOT the same as a regular semester. Please consult the registrar for the last day of course instruction for your specific class.

Exam and Quiz Policy

All exams and quizzes must be taken within the time frame specified on canvas unless prior arrangements have been made. Clearly we can’t have some students taking an exam AFTER the questions (and possibly answers) have been released as it would give that student an unfair advantage. Extensions will be granted on a case by case basis for situations that were outside of the students control. Some exams or quizzes may require you to go to the testing center. It is the student's responsibility to schedule their own appointment in a timely fashion.

Class Interaction Policy

All class interaction assignments must be completed within the time frame specified on canvas or during the lecture unless prior arrangements have been made. Assignments that are intended to be interactive are only valuable when everyone is participating at the same time. It is not fair for a student to expect their fellow classmates to respond or watch your submission that is late when everyone else submitted on time. The secret code for the syllabus quiz is "green".

This applies (but is not limited to) to the following assignment types:

  • Discussion posts
  • Reflections (both written and video)
  • Group meetings - both virtual and in person
  • Status updates
  • Any in class activities
  • Any quizzes or exams that are done on paper

Communication Policy

During the semester communication outside of the classroom will be through email, canvas, and office hours as detailed below. Other methods such as carrier pigeon 🐦 are not supported at this time.

I get a lot of email and sometimes I miss messages, so if you don’t receive a response from me after 48hrs please check to make sure you are sending the email from BroncoMail and send a follow-up email. You can also send an email directly in canvas if your emails are not going through. To help facilitate quick communication please include the following information in all emails to myself or the class TA/GA.

  • First and Last name
  • Student ID - I need this so I can look you up in the system.
  • The class and section number that you are in for example CS123 - section 1

BroncoMail is the official communication channel through which all university business is conducted. It is expected that you access and read university communications two or three times per week. For more information see the University Policy on Student Email Communications (Policy 2280). Your instructor will not respond to any emails sent from personal accounts such as Gmail or Yahoo.

Your instructor will make every effort to return emails within 24hrs Monday thru Friday between the hours of 9:00am and 5:00pm (MST). Emails sent on Saturday, Sunday, or outside of the defined hours will be returned within 24hrs on the following business day. Emails should be reserved for questions that are not appropriate for a public forum such as grades or other personal issues.

Office Hours Policy

For classes taught in the online or remote format office hours will be accessible on canvas by appointment. For classes that are taught in the face to face format office hours will only be available in person with times posted in Canvas. If you can not find the office hours appointment link in canvas please email me ASAP as I sometimes forget to post them at the start of the semester.

IT support Policy

Your instructor and teaching assistant can not provide IT support for your personal machine. If you can not get your personal machine configured correctly you will need to come into the lab to complete all assignments. All machines in the CS labs are supported by the departments IT staff and are guaranteed to work.

Time Commitment

According to Boise State University policy 4080, a 1 credit course spread over 15 weeks should require roughly 3 hours of work per week divided over both in-class interactions and homework. Classes that are held in compressed time frames such as summer or winter breaks still need to complete the same number of credit hours in order for the class to count toward your degree. Thus, if you are taking this class in a compressed semester please consult the table below to make sure you have time to complete all the assigned course work. For example, as noted in the table below, taking two 3 credit courses in a 7 week semester is equivalent to working a full time job.

For a compressed course it is critical that you don’t fall behind! Compressed courses move fast and missing 1 week of class is very hard if not impossible to recover from.

CreditsNumber of weeksTotal HoursHours of work per week
1345 hrs15 hrs
1545 hrs9 hrs
37135 hrs19 hrs
315135 hrs9 hrs

University Policies

All students are required to be familiar with the policies posted below. Please review all linked policies below. Violations of university policies can result in the student receiving a failing grade (F) in the course.

Student support

Accessing University Support Services

Boise State cares about you! You can find many kinds of help, including technical, academic, financial, life needs, learning accommodations, data privacy agreements, and much more. These resources have been gathered into one convenient document for you to keep on hand. Almost all of the student services on campus are also available to online students. Make sure to take a look at the Accessing University Support Services document.

Released under the MIT License.