SQL, Stored Procedures, Set Operations, Tables, Correlate Queries, SQL Injection, and more.
Multiple Inheritance, Polymorphism, Pointers, Recursion, Dynamic Memory Management.
Polymorphism, Abstraction, String Manipulation.
Serialization, Databinding, UI.
Stacks, Queues, Deques.
Dynamic Memory Management, Recursion, Arrays, Pointers, Reference Variables.
Bit Manipulation, Inheritance, Commands.
Gradient Descent, Random Forest, Bagging, K-Fold, and more.
Q-Learning, Text-file Parsing, Hyperparameter Tuning.
The design and implementation of web pages and sites: foundations of human-computer interaction; development processes; interface, site and navigation design; markup and style-sheet languages; site evaluation; introduction to client-side scripting.Fall 2017
System-level software development. OS processes, network communication, file-system organization and manipulation, and script programming.Fall 2018
The software development life-cycle and contemporary software development methods. Software engineering standards. Management of software development projects.Fall 2018
Retro Video Game Development
Develop programs for hardware-constrained platforms. NES Demo game, C64 demo game, recreate an NES tile, create an animated NES sprite, create a NES music track, create a tile-based C64 image, create an animated C64 sprite, create a C64 sound effectSpring 2019
The craft and science of software construction: effective practices, principles, and patterns for building correct, understandable, testable and maintainable object-oriented code using a variety of programming paradigms, programming languages and system architectures.Fall 2019
Application and survey of problem-solving methods in artificial intelligence with emphasis on heuristic programming, production systems, neural networks, agents, social implications of computing, and professional ethics and responsibilities.Fall 2019
Systems architecture and its impact on software execution. Digital logic and digital systems, machine level representation of data, assembly level machine organization, memory systems organization, I/O and communication, and CPU implementation.Fall 2019
Data Structures and Discrete Mathematics
An integrated approach to the study of data structures, algorithm analysis, and discrete mathematics. Induction and recursion, time and space complexity, and big-O notation, propositional logic, proof techniques, sorting, mathematical properties of data structures, lists sets, relations and functions, graphs, state spaces and search techniques; automata, regular expressions, and context free grammars; NP-completeness.Spring 2020
Distributed and Cloud Computing
Foundations and applications of distributed and cloud computing. Multi-threaded programming, scheduling, synchronization, network architecture, distributed computing and distributed services, cloud services, and internet-scale computing.Spring 2020
Principles of database systems. Topics include theory of relational databases, database design techniques, database query languages, transaction processing, distributed databases, privacy and civil liberties. Students are expected to complete a project in database design, administration, and development.Fall 2020
Neural Networks with Tensorflow
In-depth study of Neural Networks incorporating Python's Tensorflow library. Topics include Gradient Descent, Numpy, Tensors, Keras, Schedule Tumbling, Implied Learning, One-Hot Vectors, Softmax, MSE, Categorical Cross-Entropy, Image Classification, Vanishing Gradient Problem, ReLU, Leaky ReLU, Swish, Batch-Normalization and Regularization, Overfitting, Weight Decay, Dropout, Convolutional Networks, Subsampling, Recurrent Networks, LSTMs, Spiking Networks, and STDP. Final project used CNNs for Image Supersampling.Fall 2020
Integrates core topics of computer science body of knowledge, teamwork, and professional practices through the implementation of a large scale project.Spring 2021