Division Overview
The Theory and Foundations Division explores the conceptual, mathematical, and scientific principles that underlie computing systems and computational thought. Students examine the logic, abstractions, architectures, algorithms, and formal models that explain why software, hardware, networks, and digital systems function as they do, forming the academic backbone of advanced technical mastery.
Theory and Foundations Courses
-
Computational Thinking
Foundational reasoning for solving problems with computers. This branch develops skills in decomposition, abstraction, pattern recognition, algorithmic planning, and structured problem design.
-
Logic and Discrete Math
The mathematical language of computer science. Students study logic, sets, relations, functions, graphs, combinatorics, and proof methods used to reason about programs, systems, and computational structures.
-
Algorithms and Data Structures
The study of efficient problem-solving methods and organized data representation. This branch covers searching, sorting, recursion, complexity, arrays, stacks, queues, trees, graphs, and algorithm design strategies.
-
Programming Theory
Conceptual study of programming languages, paradigms, type systems, memory models, compilation, interpretation, and language design. Students learn how programming systems are structured beneath practical coding syntax.
-
Computer Architecture
The study of how computers physically and logically execute instructions. Topics include binary representation, digital logic, CPU design, memory hierarchy, buses, input/output systems, and performance architecture.
-
Operating Systems Theory
The conceptual foundation of operating systems. Students examine kernels, processes, threads, scheduling, memory management, filesystems, concurrency, synchronization, and operating system security models.
-
Networking Theory
The theoretical structure of digital communication. This branch explains protocol models, packet switching, addressing, routing, transport protocols, application-layer systems, and distributed network design.
-
Database Theory
The study of how data is modeled, organized, queried, and preserved. Topics include relational models, normalization, indexing, query planning, transactions, ACID properties, and distributed database principles.
-
Software Engineering Principles
Foundational principles for designing, building, testing, and maintaining reliable software systems. This branch covers lifecycle models, architecture, design patterns, requirements, scalability, maintainability, and testing theory.
-
Cybersecurity Theory
Conceptual foundations of secure computing. Students examine threat modeling, cryptographic principles, authentication, trust models, attack surfaces, risk theory, and secure system design.
-
Artificial Intelligence Foundations
Theoretical foundations of intelligent systems. This branch introduces search, optimization, machine learning concepts, neural network foundations, symbolic AI, and the structure of AI systems.
-
Data Science Theory
The theoretical basis of data analysis and statistical reasoning. Students study probability, inference, regression, modeling, experimental design, data methodology, bias, and ethical data interpretation.