Credits: 2
Duration: 6 Weeks
Dates: Fri
This 7-week, 2-point course will provide a framework for learning how to develop and program web applications. It will focus on server side development using JavaScript, Node.js with the Express framework, and persistent databases on cloud based infrastructure. Additional topics will include login and session management, web services and APIs, and will lightly touch on front-end web development. The course will be a mixture of lecture and in-class collaborative coding, with weekly programming and reading homework.
Interactive Telecommunications (Graduate)
2 credits – 6 Weeks
Credits: 4
Duration: 15 Weeks
Dates: Tue
The World Wide Web no longer stops at the edge of your screen. When it comes to products, if it powers up, it talks to another device. This class provides an overview of methods for connecting the physical world to web-based applications. We’ll consider what the emerging interaction patterns are, if any, and we’ll develop some of our own as needed. This class can be seen as a narrower and more interaction design-based complement to Understanding Networks. The latter class provides a broader overview of the dynamics of communications networks, while this class focuses specifically on the challenges of connecting embedded devices to web-based services. Neither class is a prerequisite for the other, however. This class will introduce network connection techniques for devices using microcontrollers like the Nano 33 IoT and MKR series or ESP8266 and processors running an embedded operating system like the Raspberry Pi. Prerequisites: Intro to Physical Computing and Intro to Computational Media, or equivalent experience with the topics covered in those classes. Learning Objectives: Students will gain an understanding of the basics of network programming for devices with limited computing power. They will learn about current protocols for communication between devices and networked servers, and about the rudiments of security for that communication. Reading: There will be an article or two to read each week, to foster discussion about the design of connected things. Assignments: There will be several one-week software and hardware assignments to get familiar with different technologies and communications protocols, and one hardware and software final application project.
Interactive Telecommunications (Graduate)
4 credits – 15 Weeks
Credits: 4
Duration: 14 Weeks
Dates: Wed
Can we capture the unpredictable evolutionary and emergent properties of nature in software? Can understanding the mathematical principles behind our physical world world help us to create digital worlds? This class focuses on the programming strategies and techniques behind computer simulations of natural systems. We explore topics ranging from basic mathematics and physics concepts to more advanced simulations of complex systems. Subjects covered include physics simulation, trigonometry, self-organization, genetic algorithms, and neural networks. Examples are demonstrated in JavaScript using p5.js (https://p5js.org). Much of the class time will be dedicated to in-class exercises and self-study as the course is available online through a video series (https://www.youtube.com/user/shiffman/playlists) and textbook (http://natureofcode.com/book).
Interactive Telecommunications (Graduate)
4 credits – 14 Weeks