teaching

courses

Brigham Young University - Hawaii

2007-Present
  • CIS 101
    Beginning Programming

    Variables, Conditionals, Loops, Arrays, and Control Structures. Taught with Python.

  • CIS 202
    Object-Oriented Programming

    Introduction to object-oriented software development. Classes, Objects, Instantiation, Inheritance, Design, and Documentation. Taught with Java.

  • CIS 205
    Discrete Mathematics 1

    Propositional Logic, Proofs, Counting and Permutations, Permutations, Graphs, Recursion and Induction

  • CIS 206
    Discrete Mathematics 2

    Data Structures, Predicate Logic, Probability

  • CS 210
    Computer Organization

    Binary, Digital Logic, Computer Architecture

  • CS 301
    Algorithms and Complexity

    Algorithms, Complexity, BigO

  • CS 320
    Computer Theory

    Finite Automata, Regular Expressions, Context-Free Grammars, Turing Machines, computability, and undecidability

  • CS 401
    Web Application Development

    Database driven web applications using a Framework (Ruby on Rails)

  • CS 415
    Operating System Design

    Processes, Threads, Interrupts, Concurrency, Networked Programming, Distributed Systems, Memory Management, and Security

  • CS 420
    Programming Languages

    Programming Language Principles, Recursion, Interpreters

  • CS 440
    Artificial Intelligence

    Overview of intelligent systems and algorithms

  • CS 445
    Robotics
  • CS 490R
    Mobile Application Development

    Mobile app development in with Swift.

  • CS490R
    Advanced Web Application Development

    JavaScript, Web API's, REST, Express, Mongo, Node, Docker, Vue.js, React.js, and Single Page Applications

  • IT 240
    Web Design

    HTML, CSS, and Web Design Principles

Brigham Young University

Winter 2007
  • CS 320
    Programming Languages

    Programming Language Principles, BNF, Interpreters, Scheme (Racket)