Courses I have taught:
- CS104: Applied Computing
- An introductory programming course for engineering majors.
- CS106: Introduction to Scientific Computing and Modeling
- An introductory programming course for non-computer-science science majors.
- CS108: Introduction to Computing
-
The second course in the Computer Science curriculum. Using C++, which is introduced in the 1st third
of the course, we build and analyze the efficiency of classic data structures: lists, queues, stacks,
trees, etc.
- CS112: Intro to Data Structures
-
An introductory programming course for CS majors/minors, IS majors/minors, Digital Computing
majors/minors, and Data Science majors/minors.
- CS232: Operating Systems and Networking
- An introduction to the concepts and implementation of Operating Systems and Computer Networking.
- CS332: Advanced Networking
-
An advanced look at TCP/IP networking, including building networked applications and building a custom
networking stack.
- CS336: Web Development
-
How to build apps using the web browser as the GUI framework. Quick intro to HTML and CSS, then on to
advanced Javascript, and Angular development framework. Uses Firebase Cloud Firestore as a remote
No-SQL database. Finish with one or two weeks using Ionic over Angular to do hybrid mobile apps.
- CS338: Systems Administration
-
A look at the concepts, tools, and techniques required for an individual to manage the computer
systems, file systems, and networking systems for a small or medium-sized business.
-
Computing in Missions Interim
-
An occasionally-offered Interim course in which I take students to a missions organization to do
programming and learn the impact and importance of computing in missions.
-
Design Principles and Patterns Interim
-
An occasionally-offered Interim course in which we investigate Design Principles and Patterns and
high-level object-oriented programming techniques.
-
IDIS-110: Foundations of Information Technology
- A look at the basics of computing, their impact on society, and a Christian perspective on technology.
-
CS Senior Projects
- Year-long senior "research" projects.