CS 318 Lab 26 – Peer Review
Dear students, Today is peer review day. You will examine three peers projects and give anonymous written feedback. You will spend 15 minutes examining each site in detail. Look for functional issues. Try to break it by resizing the window and locate weird interactions with links or menus. Look for aesthetic issues. Do the colors […]
CS 330 Lecture 38 – Metaprogramming in Java
Dear students, Last time we saw how we could add a hook in Ruby so that when a non-existent method is called on a object, we can still execute the desired action. method_missing lets us write really virtual methods—ones that don’t even exist. Our code effectively used information about the method that would have been […]
CS 318 Project – Final Presentation – due on May 18
Your final in this course is to finalize your project, reflect on it, and present a demonstration of your work during the final exam period. Task 1: Finalize Copy your prototype2 folder to a folder named final in your GitHub project. Make any changes based on the second round of peer reviews. Present this final […]
CS 318 Lab 25 – WordPress
Dear students, A lot of the world saves time and energy by using a content management system (CMS). These systems allow users that don’t know much about HTML and CSS to still produce beautiful websites. The most frequently used CMS is WordPress, which is responsible for 27% of the web. It accounts for 60% of […]
CS 330 Lecture 37 – Metaprogramming in Ruby
Dear students, This last week of the semester we enter the crazy world of metaprogramming. What is metaprogramming? Well, there’s been a recurring them in our discussion this semester. C++ pushed very hard to make our data be treated just like builtin data. The classes we write are allowed to be virtually indistinguishable from the […]
CS 330 Lecture 36 – Guish Interpreter
Dear students, I am gone to learn about the state of computer science in high schools across Wisconsin. However, since at least one of you objected to my being gone a few times this semester, we continue our discussion of writing our interpreter! We pick up where we left off last lecture. We ended with […]
CS 318 Lab 24 – Workday
Dear students, There are a few topics I had hoped to address this semester, like these: styling a WordPress blog a Bootstrap-style grid layout We will tackle one of these on Monday. Which would you prefer? Also, after having examined your first prototypes, I’ve added a few extra requirements to the final project: All images […]
CS 330 Lecture 35 – Parsing
Dear students, We started writing our own lexer last time. We were trying to model in code this DFA that we drew on the board: Now, you might not have seen it, but we were actually playing a game of Chutes and Ladders. Each character in our source code was like a roll that moved […]
CS 318 Project – Prototype 2 – due on May 10
Your next milestone in the project is to iterate on the first digital prototype of your site. You will present this second draft of your prototype to randomly assigned classmates for another round of evaluation. Task 1: Iteration on Your Prototype Create a second draft of your site in a folder named prototype2 in your […]
CS 330 Lecture 34 – Lexing
Dear students, Okay, we’re 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 drawing art based on primitive shapes. And instead of me foisting a language upon […]