teaching machines

CS 1: Lecture 22 – Loops, Part 4

Dear students, This weekend six computer science majors from the department competed at the 2017 ACM Intercollegiate Programming Contest. We competed at Macalester College in St. Paul. One of our teams solved four problems, which was good enough to place 20th in the entire North Central region, which includes Wisconsin, Minnesota, parts of Canada, the […]

CS 1: Lecture 21 – Loops, Part 3

Dear students, We explore more examples of loops today. Because we are, in fact, stuck in a loop. There’s no way out of this. Write a program that prompts a user for a file. Report how many bytes it occupies on disk. If a bad file is entered, repeat the prompt until the user gets […]

CS 1: Lecture 20 – Loops, Part 2

Dear students, Three big ideas will consume the rest of our semester: loops, arrays, and objects. Nothing we’ve discussed so far will go away. We will be spending our days seeing applications of these ideas. Like today. Our entire time will be spent writing some applications that use loops. Write a program that counts the […]

CS 396: Meeting 7 – Epic

Dear students, Today we welcome Zach Forster from Epic. Before that, Zach paid the bills by grading CS 163 homeworks. I pleaded and pleaded with Zach to attend graduate school. We went to the University of Minnesota once to attend a graduate school open house. I failed to enlist him. He said that he wanted […]

CS 1: Lecture 19 – Loops

Dear students, I write from California, with its red tile roofs and bank-breaking housing. We will not be meeting for lecture while I am presenting at the FabLearn 2017 conference, but I have a few videos for you to watch. Just as we saw how if statements can cause our CPU to jump ahead to […]

CS 1: Lecture 18 – If Bifurcations and Ladders

Dear students, Last time we saw how we could introduce extra little diversions or sidesteps into our code. Some bit of code needs to get executed under certain conditions, so we embed it in an if. In other situations, we actually want to choose between two competing bits of code. I call this pattern a […]

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

1 29 30 31 32 33 110