teaching machines

CS 347: Lab 1 – Critique

Welcome to CS 347: Web Development. This is a course in which we write software that runs in a web browser. Software that runs in a browser is easy to share with others, is easy to update, and is written using modern languages and development tools. I’m Chris, and I’m happy to be teaching a […]

CS 347: Digital Ocean Setup

Your projects and blog will be hosted on a web server that really lives on the web. You will set up your server with Digital Ocean, a company that hosts virtual machines—which they call droplets. Normally, droplets cost money. Thanks to the GitHub Student Developer Pack, you can get a $100 credit for Digital Ocean. […]

CS 347 – Web Development

Course Information Syllabus Enrollment: 30 Labs Projects

CS 347: Lecture 25 – CS 347 Wrapped

Dear students: Our mission’s nearly over. You asked me to give you homework and projects so that you could learn full-stack web development. I’ve done that, and all that’s left is project 2 and the final exam. We won’t see each other again as a CS 347 family, so this is where we say goodbye. […]

CS 347: Lecture 24 – OAuth2

Dear students: Today we discuss OAuth2, a popular system for managing access to data controlled by a web service but accessed by a separate client application. I will be frank with you. Security is not my favorite subject, and I do not feel qualified to be speaking on it. However, OAuth2 is too much of […]

CS 347: Lab 22 – MP3 Player, Part II

Welcome to lab. This lab is a continuation of the previous lab. Team, complete the assigned task below. Host, be careful not to dominate. All members should contribute ideas. Task Your task is to write a music library explorer called MyTunes—which could sometime be fleshed out to be a full-fledged web-based MP3 player. You will […]

CS 347: Lecture 22 – Router, Part II

Dear students: React lifts the burden of manipulating the DOM, which is nice, but some desirable features are also thrown out—like a site organized into multiple pages. With what we’ve seen of React so far, multiple pages are not really an option, as all views must be corraled under the almighty App component. In this […]

CS 347: Lab 21 – MP3 Player, Part I

Welcome to lab. By now you have already watched the lecture videos on your own. Now we will apply the ideas from those videos in an exercise, which you will complete in small groups. Within your breakout room, designate one of your team to be the host. Host, claim your group’s task on Crowdsource. Make […]

CS 347: Lecture 21 – Router, Part I

Dear students: React lifts the burden of manipulating the DOM, which is nice, but some desirable features are also thrown out—like a site organized into multiple pages. With what we’ve seen of React so far, multiple pages are not really an option, as all views must be corraled under the almighty App component. In this […]

CS 347: Lecture 23 – Hosting User Files

Dear students: Many web apps evolve into miniature content management systems. Users upload their content to the back-end, and the front-end serves as an interface to this centralized storage. Sometimes the content is simple text and numbers that are stored in a database. But sometimes the data is more complex, like images and other media. […]

1 2 3 4 5 6 12