teaching machines

CS 240: Lecture 3 – Measuring Algorithms

Dear students: We talked last week about the arsenal of tools we computer scientists have at our disposal and how each tool has its strengths and weaknesses. To be able to choose which tool to use, we need a way of judging them. Here are a few possible ways we might measure algorithms: Correctness. A […]

CS 240: Lecture 2 – Generics Lab

Dear students: Today we will devote our entire time together to a lab on generic programming in Java. Find the lab on the schedule on the main Canvas page. 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 […]

CS 347: Lab 1 – Critique

Welcome to CS 347: Web Development. This is a course in which we write software that runs in a web browser. Software that runs in a browser is easy to share with others, is easy to update, and is written using modern languages and development tools. I’m Chris, and I’m happy to be teaching a […]

CS 347: Digital Ocean Setup

Your projects and blog will be hosted on a web server that really lives on the web. You will set up your server with Digital Ocean, a company that hosts virtual machines—which they call droplets. Normally, droplets cost money. Thanks to the GitHub Student Developer Pack, you can get a $100 credit for Digital Ocean. […]

CS 347 – Web Development

Course Information Syllabus Enrollment: 30 Labs Projects

CS 240: Lecture 1 – Introduction

Welcome to CS 240: Algorithms and Data Structures. I’m Chris, and I’ve never felt less prepared for a semester than I do right now. Part of it’s because the summer was busy. I put on a few summer camps. Part of it’s because I’m still new to JMU. This is my second year here, and […]

CS 240 – Algorithms and Data Structures

Course Information Syllabus Enrollment: ~50 Lecture Notes