Courses I teach (or have taught) at Dartmouth

COSC 50 Software Design and Implementation

Next offering will be Winter 2026
Previously offered: 2012, 2013, 2015, 2016, 2018, 2021, 2022, Winter 2023, Spring 2023, Fall 2023, Winter 2024, Spring 2024, and Fall 2024.

This is a rather intense course encompassing the C programming language, Unix and its dozens of tools, software development style and techniques, client/server programming, a touch of GUI's, and, best of all, a large way-cool project where you'll bring it all together.

COSC 55 Security and Privacy

Next offering: not scheduled. Previously offered: 2011, 2013-2015, 2018-2020, Fall 2023, and Winter 2024.

Successful completion of this course will mean you have learned how to think carefully about the security and privacy attributes of the systems and policies that you encounter in your work and personal life, whether they are computerized or not. While you should gain a broad understanding and a healthy skepticism of systems security and privacy, we also hope that you will learn how to build more secure systems rather than just becoming adept at finding security failures.

COSC 61 Database systems

Next offering will be Winter 2025
Previously offered: 2013, 2015, 2017, 2019, and 2022.

This course studies the management of large bodies of information. This includes schemes for the representation, manipulation, and storage of complex information structures as well as algorithms for processing these structures efficiently and for retrieving the information they contain. The course does include some programming. Topics include Relational Databases as well as NOSQL (Not Only SQL) data stores.

COSC 69.? Building Reliable And Secure Software

Also known as BRASS, it will include programming in Rust.

Debut offering will be Spring 2025


COSC 89 Cognitive computing with Watson

2016-2022 (No longer offered)

Building a computer program capable of answering questions with human-level competence has been one of the grand challenges of Artificial Intelligence. IBM's Watson system has achieved remarkable results. This class will explore the AI methods used in Watson and student teams will design, train, and deploy Watson applications to address real world applications.