teaching machines

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: 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: 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 […]

CS 347: Lecture 11 – Forms

Dear students: Earlier in the semester we looked at some of the form elements that are available to us in HTML. At the time we had no facility for assembling these elements into a cohesive whole or doing anything with the information the user entered. In this lecture, we hit upon a grab bag of […]

CS 347: Lecture 10 – Responsive Web Design

Dear students: The technologist’s temptation is to ignore the differences in people and machines. We developers lump people together in a big homogeneous bucket, assuming everyone thinks like us, functions like us, and has a machine like ours. Supporting diversity is hard work; ignoring it is easier. If you have a soul, you will accept […]

CS 347: Lecture 9 – Position: Absolute

Dear students: Last time we met relative and fixed positioning. Today we use absolute positioning to anchor an element’s box against an ancestor’s box. Absolute positioning gives us considerable freedom to implement user interfaces, and we examine three case studies that use it to add depth, interactivity, and visual effects to our information. Here’s your […]

CS 347: Lecture 8 – Continuation

Dear students: Let’s pause on new videos and do some catch-up. I encourage you to revisit any topics that you don’t feel like you fully grasp. We will continue lab 7 during our next meeting. See you next time. Sincerely,

CS 347: Lecture 7 – Position: Relative and Fixed

Dear students: The early web was a place for sharing documents, while the modern web seems to be a place for sharing applications. Key to this transition is the position property of CSS, which allowed us to start stacking elements on top of one another. We begin our discussion of this property today. We’ll also […]

CS 347: Lecture 6 – Flexbox: Expansion

Dear students: Last time we began our examination of Flexbox, focusing on the distribution and alignment of flex-children within their flex-parent. Now we turn to sizing the children and expanding them using a relational weight system. With the various properties of flex-parents and flex-children, we are able to achieve many standard user interface patterns. Here’s […]

CS 347: Lecture 5 – Flexbox: Distribution and Alignment

Dear students: The web is still young, and its immaturity puts a lot of burden on developers. From time to time, however, a new feature emerges that actually makes their job easier. One of those new burden-lifting features is Flexbox, a modern layout system. In this lecture, we explore the power that Flexbox affords us […]

1 10 11 12 13 14 110