teaching machines

CS 396: Meeting 6 – Jamf

Dear students, Today we welcome a team of panelists from Jamf to discover the software engineering process. These folks have been welcome partners. During my first summer in Eau Claire, I was looking to gain some experience with iOS, so they hired me on as Dr. Intern. They’ve hired an overwhelming number of our students. […]

CS 1: Lecture 17 – If Diversions

Dear students, We now turn to another model of logic: Venn diagrams. In the late 1800s, logician John Venn invented a diagram for showing ideas of logic. He writes: I began at once somewhat more steady work on the subjects and books which I should have to lecture on. I now first hit upon the […]

CS 1: Lecture 16 – Shortcircuiting

Dear students, Let’s start with a little number I like to call What Do This Do?. I will show some code, you will inspect it silently for a moment, and then you will argue with your neighbor about what it does. Here we go: What Does This Do? #1 public static boolean isSomething(Random g) { […]

CS 1: Lecture 15 – Truth Tables

Dear students, Today we keep asking questions about data. Let’s start with some blackboxes! Blackbox #1 Blackbox #2 Blackbox #3 Let me be frank with you. Expressing a program’s logic can get really confusing, and this is probably the spot where we make the most mistakes when writing code. There are various tools to help […]

CS 396: Meeting 5 – Graduate School

Dear students, Today, Hannah Miller of the University of Minnesota will share with us about a different sort of future: graduate school, which may lead to academia, a research scientist position, or who knows what. Hannah and I collaborated on a research project several years ago. Our mission was to build a social network for […]

CS 1: Lecture 14 – Logical Operators

Dear students, Our computer can now ponder our data. It can examine order and equality, two operations at the root of all decision making. Before we sign up for something, we ask ourselves if the benefit exceeds the cost. We compare two brands of pasta on price and weight. We scan the details of our […]

CS 1: Lecture 13 – Casting and Relational Operators

Dear students, Today we close out our focused discussion on methods. They will never go away; we will continue to write them all throughout the semester. But I want to tie up a few loose ends having to do with types. We will begin with a little science experiment to illustrate the need (or lack […]

CS 396: Meeting 4 – Interviewing

Dear students, With the Career Breakfast and Fair behind us, we enter this nebulous period of waiting for a callback. If we get one, we’ll be in the position of talking at length about ourselves and the company we are courting. This kind of conversation is unfamiliar and universally awkward. We call it the interview. […]

CS 1: Lecture 12 – Testing and Graphics

Dear students, Is there anything like charAt for integers? For instance, given a number and an “index” representing the place, can we get back the digit at that place? Not exactly, but there’s nothing stopping us from writing our own method to accomplish this task! But before we do that, let me share with you […]

CS 1: Lecture 11 – Method Mechanics

Dear students, Sometimes Java is criticized for being verbose. But one of the great advantages of verbosity in a language is that a text reinforces itself. We may read a passage and not know every word, but there are often many clues lying in the context to help us determine their meaning. Java has these […]

1 2 3 79