CS 347: Lab 15 – The People’s Dictionary Continued
Dear students: Welcome to lab. Now’s your chance to apply the ideas you read about. Find a partner and complete as much of the task below as you can. At the end of our time together, paste your files into Crowdsource in order to receive credit. Task 1 Your first task in this lab is […]
CS 347: Lab 12 – Rhyme Search
Dear students: Welcome to lab. Now’s your chance to apply the ideas you read about. Find a partner and complete as much of the task below as you can. At the end of our time together, paste your HTML files into Crowdsource in order to receive credit. Task 1 Reverse engineer the following page, which […]
CS 240: Lecture 18 – Sorting
Dear students: Now that we have a new tool for analyzing recursive algorithms, we are ready to start looking at some of those algorithms. The fastest sorting algorithms are recursive. However, the fastest sorting algorithms are also complex. Rather than begin with them, we first look at some simpler but slower sorting algorithms. Tail Recursion […]
CS 240: Lecture 17 – Recurrence Lab
Dear students: Today we will devote our entire time together to a lab on recurrences. Follow these guidelines: Expand your general case out at least three levels to be certain of the pattern. Write your answers out cleanly on paper or screen. Triple-check your algebra. Ask lots of questions. There’s nothing to turn in. TODO […]
CS 347: Lab 11 – Client-side JavaScript
Dear students: Welcome to lab. Now’s your chance to apply the ideas you read about. Find a partner and complete as much of the task below as you can. At the end of our time together, paste your HTML files into Crowdsource in order to receive credit. Task 1 Recreate the following little game: The […]
CS 240: Lecture 16 – Binary Search
Dear students: Even before computers, we humans collected massive amounts of data. We made dictionaries and phonebooks, for example. Finding an entry in our records can be difficult. One option is the sequential search, which looks like this: to search(target) for each record if record matches target return record return null In the worst case, […]
CS 347: Lab 10 – Media Queries Continued
Dear students: Welcome to lab. Now’s your chance to apply the ideas you read about. Find a partner and complete as much of the task below as you can. At the end of our time together, paste your HTML files into Crowdsource in order to receive credit. Dark Mode In addition to querying for details […]
CS 240: Lecture 15 – Recurrence Relations
Dear students: This semester is moving right along. We started by discussing the need to gauge the expected running time of our code in a machine-independent way. Coming up with an exact number of operations is too hard. Instead we decided to focus only on the dominant terms of an algorithm’s cost function. The result […]
CS 240: Lecture 14 – Queue Lab
Dear students: Today we will devote our entire time together to a lab on queues. Follow these guidelines: You may work with one other person. If there’s an odd number of people, one group of three is permitted. Complete the lab using a single computer. Take turns at the keyboard. Talk to each other. When […]
CS 240: Lecture 13 – Stacks and Queues Continued
Dear students: Today we continue our discussion of stacks and queues through some exercises. Postfix Evaluation Let’s see an example of an algorithm that uses a stack. Support you want to write code to evaluate an arbitrary arithmetic expression. Something of this form: $$7 + 5 \times 2 – 3$$ You might break the expression […]