Brigham Young University - Hawaii
Variables, Conditionals, Loops, Arrays, and Control Structures. Taught with Python.
Introduction to object-oriented software development. Classes, Objects, Instantiation, Inheritance, Design, and Documentation. Taught with Java.
Discrete Mathematics 1
Propositional Logic, Proofs, Counting and Permutations, Permutations, Graphs, Recursion and Induction
Discrete Mathematics 2
Data Structures, Predicate Logic, Probability
Binary, Digital Logic, Computer Architecture
Algorithms and Complexity
Algorithms, Complexity, BigO
Finite Automata, Regular Expressions, Context-Free Grammars, Turing Machines, computability, and undecidability
Web Application Development
Database driven web applications using a Framework (Ruby on Rails)
Operating System Design
Processes, Threads, Interrupts, Concurrency, Networked Programming, Distributed Systems, Memory Management, and Security
Programming Language Principles, Recursion, Interpreters
Overview of intelligent systems and algorithms
Mobile Application Development
Mobile app development in with Swift.
Advanced Web Application Development
Brigham Young University
Programming Language Principles, BNF, Interpreters, Scheme (Racket)