teaching machines

CS 347: Project 2 – React App – due December 13

In the second project of this course, you will create a web app that consumes a web service. The subject of the app is not specified; you pick its purpose. You will use several tools from the Node.js ecosystem, including React, Redux, and Express. Expectations Your app must meet the following expectations: You will create […]

CS 347: Lecture 16 – Hello, React

Dear students: The first theme of this course has been learning the foundational technologies of the web: HTML, CSS, and JavaScript. Today we officially reach the second theme: designing modern web apps with React. Systems like React ease the burden of designing interactive sites with dynamic content. Here’s your TODO list: Install the most recent […]

CS 347: Lab 15 – Map, Filter, and Reduce

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 screen sharer. Screen sharer, share your screen and claim […]

CS 347: Lecture 15 – Higher-order Functions

Dear students: In this lecture, we hit up higher-order functions, a feature of modern languages that will shorten up your code considerably. Once you know a few of these higher-order functions, you may never write loops again. Why? Because so many of our looping algorithms follow certain patterns, we can generalize those patterns into reusable […]

CS 347: Lab 14 – Rhyming

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 screen sharer. Screen sharer, share your screen and claim […]

CS 347: Project 1 Rubric

Your project 1 submission will be graded using the rubric below. Your site will be evaluated on five dimensions. For each dimension, I list a sample of the questions that I will use to structure my evaluation. This rubric summarizes but does not replace the full enumeration of project requirements shared earlier. Content Is the […]

CS 347: Lecture 14 – Fetch

Dear students: Last time we examined objects and how to pass them around using JSON. This time, we apply these ideas by consuming a web service: News API. We’ll use JavaScript’s builtin fetch function to grab and send JSON data. Here’s your TODO list: Watch News API sources, in which we use the fetch function […]

CS 347: Lab 13 – Object Questions

Welcome to lab, a time for applying the ideas introduced in lecture in exercises that you will complete in small groups. Within your breakout room, designate one of your team to be the screen sharer. Screen sharer, share your screen and claim your group’s task on Crowdsource. Make sure to enter every group member’s JMU […]

CS 347: Lecture 13 – Objects

Dear students: When we program, we organize. In particular, we bundle related data together. If the data is a sequence, we use an array. If the data is a collection of named properties, we use a key-value store. In C, this store is called a struct. In Java, this store is called a class. In […]

CS 347: Lab 12 – JavaScript Questions

Welcome to lab, a time for applying the ideas introduced in lecture in exercises that you will complete in small groups. Within your breakout room, designate one of your team to be the screen sharer. Screen sharer, share your screen and claim your group’s task on Crowdsource. Make sure to enter every group member’s JMU […]

1 4 5 6 7 8 12