Below is a list of courses that Caleb Stewart has completed as part of his Computer Science program at Eastern Washington University. These courses cover a wide range of topics in computer science, from programming fundamentals to advanced algorithms, database systems, and 3D graphics. This collection highlights his academic journey and the skills he has developed throughout his studies.
Studied fundamental programming concepts including data types, algorithms, and program design, with a focus on writing, debugging, and analyzing computer programs.
Covered topics in vector geometry, systems of linear equations, matrix algebra, determinants, vector spaces, linear transformations, eigenvalues, and eigenvectors, with practical applications.
Studied advanced programming concepts building on Programming Principles I, including recursion, polymorphism, inheritance, and data structures such as linked lists and array lists.
Covered foundational and implementation topics in mathematics relevant to computer science, including logic, induction, recursion, set theory, modular arithmetic, graph theory, and matrix operations (e.g., systems of linear equations and graph representations).
Studied advanced object-oriented principles and design patterns, including UML class diagrams, unit testing, and code versioning, with hands-on programming projects.
Studied empirical and theoretical frequency distributions, random variables (discrete and continuous), binomial and normal distributions, descriptive statistics (measures of location, spread, and association), and an introduction to inferential statistics (confidence intervals and hypothesis testing).
Studied UNIX programming tools and the C language, with a focus on interactive shells, file system structure, system programming techniques, and data structures such as arrays and linked lists, including their implementation and use in real-world applications.
Studied the fundamentals of relational database systems, focusing on data manipulation language (DML), data definition language (DDL), and relational models. Topics included SQL, relational algebra, and entity-relationship modeling, with an emphasis on their practical application in database design and management.
Studied the fundamentals of computing security, covering threat types, malware, virus protection, and methods for securing computers and information. Gained hands-on experience using various security tools to apply theoretical concepts in practical scenarios.
Studied the fundamentals of digital computer design and microcomputer systems, exploring number systems, Boolean algebra, digital circuits, and assembly language programming, with a focus on how these concepts apply to modern computing systems.
Studied fundamental abstract concepts of data structures and their implementation, with an emphasis on linked lists, stacks, queues, hashing, recursion, complexity analysis of algorithms, and binary search trees.
Studied basic and advanced theoretical concepts in 3D computer graphics using OpenGL and C, illustrated through 3D rendering software to understand practical applications.
Studied advanced data structures and algorithms, focusing on algorithmic strategies such as dynamic programming, greedy algorithms, and non-linear data structures like trees and graphs, with an emphasis on optimizing problem-solving approaches and improving computational efficiency.
Studied fundamental concepts, protocols, and programming skills for computer networks, including telecommunication media, Internet protocols, and network layers, with a focus on practical networking and security practices.
Studied the principles and tools essential for designing, analyzing, and maintaining large-scale software systems, covering key areas such as project management, software verification, testing techniques, and strategies for ensuring system reliability and performance throughout the software development lifecycle.
Studied the concepts and techniques of 3D modeling and animation using OpenGL Shading Language (GLSL), focusing on the creation of primitive building blocks and understanding the underlying principles of computer graphics, with hands-on experience in rendering and manipulating 3D models.
Studied the design and modeling of operating systems, covering CPU virtualization, memory virtualization, concurrency, file systems, and data storage, with an emphasis on how these components interact to optimize system performance and resource management.
Studied game development with a focus on multiplayer environments, covering aircraft, avionics, terrain, weather, navigation, and cultural features. Explored real-world applications like training simulations and entertainment, including systems like Microsoft Flight Simulator and full-motion simulators. Examined software/hardware architecture and graphics.
Studied the fundamental concepts and practices of big data computing, focusing on the challenges that arise when data size exceeds the capacity of traditional analytics systems. Explored tools and technologies such as HDFS, MapReduce, and Spark for processing large datasets. The course covered various techniques for analyzing both structured and unstructured data, including tasks like finding similar items, mining data streams, and link analysis. It also examined methods for mining graphs and implementing recommendation systems, providing hands-on experience in applying analytics algorithms to manage, mine, and analyze big data across a variety of real-world applications.
Studied various methods for learning and recognizing patterns in data, focusing on supervised learning models such as the perceptron learning algorithm, linear regression and its nonlinear transformation, logistic regression, neural networks, and model ensembles. The course emphasized understanding the underlying mechanics of these models, explaining how and why they are effective for pattern recognition.
Participated in the first part of a two-quarter project sequence, applying computer science principles to develop a specified project. Utilized appropriate tools, systems, and management skills to support project development.
Note: Not all projects are publicly available on GitHub due to academic integrity concerns. Sharing certain code could encourage cheating and violate academic policies.