CS 318: Lab 6 – Divs, Spans, IDs, and Classes
Dear students, Last time we dropped into the world of CSS as a means of applying style to our information hierarchies. Learning CSS is a little like learning how to conjure springtime. You suddenly have the power to make things bloom and look beautiful. But it will take a lot of practice. This class spins […]
CS 491: Lecture 3 – Peggle
Dear students: Last time we started working on a game of Peggle. The real thing is full of glitz. We’ll keep working on ours today, but it won’t quite match the professionals: I’ve expanded our controller a bit so it has both a push button switch to fire and a potentiometer to aim the cannon. […]
CS 330: Lecture 7 – Lexing, Really
Dear students, Okay, with regexes and the notion of state machines tucked away in our brains, we’re now on a quest to design our own programming language. Usually you’re supposed to start this kind of learning by writing a calculator. I couldn’t bring us to do that. Instead we’re going to design a language for […]
CS 318: Lab 5 – Hello, CSS
Dear students, Today we begin integrating cascading style sheets (CSS) into our pages. When we use an editor like Microsoft Word or Adobe InDesign, we are often thinking about two things at once: the information we wish to communicate and its presentation. For several reasons, mixing these is a bad idea: We get hung up […]
CS 330: Lecture 6 – Lexing
Dear students, Okay, with regexes and the notion of state machines tucked away in our brains, we’re now on a quest to design our own programming language. Usually you’re supposed to start this kind of learning by writing a calculator. I couldn’t bring us to do that. Instead we’re going to design a language for […]
CS 330: Lecture 5 – Lookaround Assertions and Numeric Ranges
Dear students, To start things off, we’re going to play some Regex Bingo. Find a partner and make a 4×4 grid of randomly generated strings. Include uppercase and lowercase letters, numbers, whitespace, and punctuation. Keep the strings short. There’s no free space. I will call out the following regex, one at a time. Cross out […]
CS 318: Lab 4 – Structuring Elements
Dear students, Today we will branch out from our 1-page sites. To connect our pages to other pages, we will make extensive use of the anchor element, whose tag is a. Its href attribute contains a URL to another page, much like img‘s src attribute contains a URL to an image. Consider this example: There's […]
CS 491: Lecture 2 – Potentiometer
Dear students: Last time we used a push button to make a game where we reversed the spin of a planet. Today we implement a crude game of Peggle. We’ll discuss potentiometers and physics. We’ll use the potentiometer to aim the cannon. Potentiometers are rotary sensors that are useful for gathering inputs that fall into […]
CS 330: Lecture 4 – Find and Replace
Dear students, Last week we started examining regex, a language for recognizing languages. We examined their syntax and theoretical background. I want to spend two more days discussing them. Today we look at several applications of them inspired by real-life needs that I’ve encountered: Extract the URLs from all img elements. If you alter this […]
CS 318: Lab 3 – More Core
Dear students, Let’s start with a quick informal reading quiz: Question 1 What’s a phrase element? Question 2 What happens to whitespace in our HTML files? Question 3 What kind of list elements are available? When I think about my favorite and most memorable learning experiences, my high school Spanish classes immediately come to mind. […]