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 […]
CS 347: Lecture 12 – JavaScript
Dear students: It was 1995. The web was becoming the Un-desktop, a place where we shared things that didn’t need a particular operating system or architecture. The web was rising fast and so was its vehicle Netscape. Microsoft feared missing out and was triggered into developing Internet Explorer. Meanwhile, Sun had just abandoned the world […]
Blocking Your Path
A couple years ago, my wife and I picked up some colorful blocks at a toy store. Each block is a quarter of a cylinder. The square faces of the blocks snap together with help from two magnets inside. There are just enough blocks in the set to make this fascinating shape: I’m struggling to […]
FabLearn 2020 Demo
A collaborator and I had a short paper on programmatic fabrication accepted at FabLearn 2020, and we’re presenting that work in a demo session on Zoom next weekend. Herein I walk through some of the example programs that we plan to work through with our visitors. Button Let’s start with a practical example—one inspired by […]