The Syllabus The Fine Print The Notes

Design & Development

Welcome to Design & Development, updated for the Fall 2019 term.

You don’t need to be a developer to come up with the next big idea for a product or service that connects communities digitally, or taps a way to collect information that helps communities make decisions. But you do need basic knowledge of design and digital structure so you can work with developers and bring your idea from concept to implementation.

Plus, with a little know-how you can build functioning prototypes to help test and play with your idea – providing an example with which you can then work with a developer to create a robust, secure and efficient product or service.

This course prepares students to work successfully with designers and developers – from understanding fundamental design principles, to embracing programmers’ unique coding culture, to having a general knowledge of various programming languages, to knowing the steps and milestones that designers and developers expect to have clearly delineated for them by their clients.

We’re going to learn how to play, experiment, learn, and tinker as we toy with new ways to experience and consume information. This is a hands-on class, and participation is key. Let’s have some fun and make great things – or at least learn a lot trying.

The Fine Print

The class description, dates, logistics, rules, and grading details are in a document I call “the fine print.”

The Notes

Along the way, the code and steps we’ll take are outlined in The Notes.

The Syllabus

Here’s the rundown of what we’ll cover in our weeks together:

Class 1 • Basic internetting

First we’ll meet each other and review the plan for this class.

Then we’ll dive in, making sure we all understand how information zips around the internet and the basics of an that most basic of internet services: A web page. We’ll craft a basic “static” page using Glitch, review all of its components, and then make a simple “dynamic” site.

Notes for this class.

Class 2 • Roll your own information service

When your project needs relies on custom data only you have, you may need to get into some code. We’ll add a database to our service to serve up data available nowhere else.

Notes for this class.

Class 3 • Texting as a service

Today we’ll turn our sweet service into a tool you can use via texting.

Class 4 • Make bots to do your bidding

All of this and more is possible without any coding at all. We’ll make theses mini-products and learn about mashing up existing services into new services that (maybe) never existed before.

Class 5 • APIs and the people who love them

Valuable data is everywhere. Let’s get it.

Weather info, crypto prices, earthquake alerts – it’s all available, and ready to be shaped into a new product nobody’s made before (maybe). We’ll learn how to find and use that data.

Class 6 • Making Supercharged Spreadsheets

From web site analytics to stock prices, making dashboards to track your numbers may be the most important product you build, even if just for yourself. We’ll use APIs and spreadsheets to make ‘em fast.

Then we’ll look at how Airtable spreadsheets can be the basis of your online database, using their unique API.

Class 7 • Introduction to conversational interfaces

From chatbot platforms like Facebook Messenger to voice services such as Alexa and Google Home, there are more ways for your audience to talk directly to your creation using natural human language. We’ll talk about how conversational interfaces work, and how to play and build with them using Dialogflow.

Class 8 • Talk to me: Making a voice service for Google Home

We’ll weave our original service into our conversational system, making a specialized service that answers questions via text not even Google could answer. And then we’ll explore the world of voice interfaces by wiring up our conversational interface to Google’s voice assistant.

Class 9 • Storytelling with chat & voice

Now that you know the basics of how to build a conversational interface, we’ll talk about the best practices for designing and crafting these automated conversations, and how they can keep track of context. We’ll also talk about ways to quickly prototype voice interactions on your friends or possible customers without building a whole chat agent.

Class 10 • Introduction to AI for journalism

Artificial intelligence is a huge field, and the use of AI by corporations and governments is a huge issue in our society. The algorithms themselves, however, are not inherently problematic and can be used by responsible journalists to help in their investigations. We’ll explore some of the services available and how you might use them for your journalism.

Class 11 • Bespoke machine learning for finding images

You’ll get hands-on experience using an open-source machine learning library to solve a specific problem of finding images in a huge pile of data, as you might have to do for a journalistic investigation.

Class 12 • Bespoke machine learning for sorting text

You’ll get more hands-on experience in machine learning, this time to sort text documents into useful categories – helping you do in hours what might otherwise take you days.

Class 13 • Physical computing: From the laptop for the tabletop

Tiny computers can sense the environment or respond to your commands. They can even keep track of things when you’re far away. Prototyping these kinds of products is surprisingly cheap and easy. We’ll do it in class.

Class 14 • Data security: For you, your sources, and your audience

Let’s talk about security. We’ll get into how you can start practicing better personal security and about how to act responsibly and ethically with the data you get from others.

Class 15 • Review, discussion, and real-world production

In our last class we’ll talk about your projects in other classes, future projects, and what it takes to scale and secure the examples we’ve been talking about.