Course Introduction

Web Only

This textbook was authored for the CIS 526 - Web Application Development course at Kansas State University. This front matter is specific to that course. If you are not enrolled in the course, please disregard this section.

Course Resources

Welcome Message

Hello students, and welcome to CIS 526 – Web App Design. My name is Nathan Bean, and I will be your instructor for this course. I wanted to briefly discuss the structure and delivery of the course here, and you can find more detail in the sections to come.

Of important note is that we are packing a lot of content into an eight-week summer course. This will be a significant amount of work, and you will need to stay on top of it. I recommend putting aside 10 to 20 hours every week to work on the class. Remember, whomever does the work does the learning - so you’ll need to put in the work.

Canvas

First, we will be using K-State Online (canvas) more heavily than you probably are used to. I’ve also stripped out a lot of the Canvas tools that we simply aren’t using to focus on those we are. I am dividing the course into weeks, each of which is contained in a module in Canvas, and listed in the order I would suggest you explore the content. Thus, you can look at each week’s module to see what you need to accomplish. Additionally, all authoritative due dates will appear in Canvas. You can see them in the sidebar, and also under the assignment listings.

Codio

A second tool we’ll be making heavy use of is the Codio platform. Codio is also an online learning tool, but one meant specifically for programmers. It combines content delivery with an online IDE (Integrated Development Environment), and each unit in Codio runs on a virtual machine running Linux that you have full root level access to. This is an inordinately powerful tool for learning web development, especially when you consider the vast majority of web applications are hosted on Linux servers. Another great benefit is that if you have a question about an error you’re encountering in your code, and you’d like me to take a look – you don’t have to send me code snippets or screenshots in an email. Just a description of your problem, because I can open your project in Codio and have direct access to your work. This also means I can give you faster and more accurate feedback – not a bad thing when we’re trying to cover as much as we are.

Discord

We’ll also be using the departmental Discord server heavily for communications. Our first assignment is an icebreaker – introducing ourselves in the #cis526 channel. Why, you wonder? Am I a sadist? Well, no. One of the biggest differences in online courses is that it is often just you interacting with the course content the instructor has developed. It can be almost as if you were taking the class by yourself. That’s great in some ways, but it can also suck in others. So by introducing ourselves, we have an idea of who else is in the course – the same way you could look across the classroom and see your fellow students.

Videos

You may have had online courses where the professor recorded their regular in-class lectures and uploaded them as one-hour videos. I hated that as a student, and I think it is a poor pedagogical strategy. When I give you video materials, I will strive to keep them short, succinct, and do enough post-processing that they flow reasonably well. I’ll also post them through YouTube, so you can speed them up if you like.

Readings

But most of the topics I would normally cover in a lecture will be done through an interactive online textbook delivered through canvas. This allows me to embed hands-on examples tied to the subjects we are discussing and gives you some opportunity to move through the material at your own pace and choice of time. There are also micro-assessments sprinkled throughout the text. These are not meant to be tricky or difficult, but rather to encourage you to reflect on what you just read and apply it. These assessments can be taken as many times as it takes to reach the right answer without penalty. My goal with the micro-assessments is just to help you engage with the material.

Tutorials

Additionally, I will be making a number of step-by-step tutorials working through a particular challenge related to the week’s content. The tutorials will often directly relate to some aspect of the week’s project, so there is some real value to working through them, especially if you are uncomfortable with the assignment requirements. I will offer help if you get stuck on a tutorial, just as I will for assignments. So don’t hesitate to ask. And, just like the readings, you can submit a tutorial as many times as you need. Each tutorial will offer automated feedback letting you know if you’ve missed anything.

Projects

Throughout the semester we will be creating a full-stack web application for “Community Chest”. This is a burgeoning non-profit organization looking to place “exchange” bins around Manhattan where people can donate small items to benefit the needy. Our web application will provide locations for the bins, and guidance for what people need and have to share.

Office Hours

I will be holding office hours virtually over Zoom, by appointment and possibly at a pre-scheduled time. Your first chat assignment includes a prompt for what time(s) would be best to meet for you - if there is a consensus I may have a regularly scheduled weekly session.

Tea Time Office Hours

The CS Faculty and Support staff are also holding bi-weekly virtual tea time meetings this summer, where we talk about any subjects except the course. This is a good chance to meet more of your faculty in an informal setting and ask questions you may have about the industry, field, etc. Tea time hours will be posted in Discord and as a Canvas announcement.