Computer Science
Overview
The scientific study of computer software
and its behavior.
Projects
Elementary
- Abstract data types.
- Arrays.
- Complexity of algorithms.
- Computability.
- Computation.
- Computers.
- Control structures.
- Data files.
- Data structures.
- Databases.
- Functional programming.
- Input/output.
- Iteration.
- List processing.
- Matrices.
- Object-oriented programming.
- Program coding.
- Program design.
- Program planning.
- Program writing.
- Recursion.
- Rule-based programming.
- Searching.
- Sorting.
- Strings.
- Structure of programs.
- Subroutines.
- Turing machines.
- Vectors.
Intermediate
- Assemblers
- Assembly Language Programming
- Automata
- BCH Codes
- Binary Trees
- Burst-Error Correction
- Caching
- Chatterbots
- Circuit Complexity
- Classical Cryptosystems
- Client-Server Systems
- Combinatorial Designs
- Combinatorics
- Compilers
- Complexity
- Computational Methods for Constructing Irreducible
Polynomials
- Computational Methods for Factoring Polynomials
- Computer Algebra
- Computer Graphics
- Computer Security
- Computer Simulation
- Computer Sound
- Coprocessors
- Counting
- Cryptography
- Cyclic Codes
- Data Encryption Standard
- Data Flow
- Data Structures
- Datapaths
- Decidability and Undecidability
- Decoding Algorithms
- DHTML
- Discrete Logarithm Problem
- Discrete Probability
- DMA
- Electronic Mail
- Encryption
- Exception/Interrupt Handling
- Factoring
- Fault Tolerance
- Finite Automata
- Finite State Machines
- Formal Languages
- Formal Semantics
- Functional Programming
- Grammars
- Graph Theory
- Groebner Bases over Fields
- Hamming and Golay Codes
- Hashing
- Induction
- Information Theory
- Instruction Set Architecture
- Interpreters
- Interrupts
- I/O Devices
- I/O Interfaces
- I/O Programming
- Languages
- Libraries
- Linear Codes
- Linear Lists
- Linked Lists
- Linkers
- LISP
- Mathematical Modeling
- Memory Management
- Memory Organization
- Methods of Proof
- Modular Arithmetic
- Modular Programming
- Network Interfaces
- News Servers
- Numerical Linear Algebra
- Numerical Methods
- Object-Oriented Analysis
- Object-Oriented Design
- Object-Oriented Programming
- One-Way Functions
- Online Algorithms
- Parallel Algorithms
- Parallel Architectures
- Parallel Computation
- Parallel Languages
- Partial Orders
- Pipelining
- Primality Testing
- Principle of Inclusion-Exclusion
- Processor Performance and Design
- Prolog
- Queues
- Random Error Detection and Correction
- Recursion
- Register-Level Computer Organization
- Register Transfer Operations
- Relations
- Reliable Communications
- Robotics
- RSA and Other Public Key Cryptosystems
- Searching
- Set Theory
- Sorting
- Stacks
- Strings
- Structure of Finite Fields
- Structured Programming
- System Buses
- System Software
- Theory of Groebner Bases
- Translators
- Trees
- Turing Machines
- User Interfaces
- Virtual Memory
Advanced
- Aliasing
- Approximation Algorithms
- Artificial Intelligence
- Artificial Languages
- Artificial Life
- ATM Switch Design
- Automated Reasoning
- Automated Theorem Proving
- B-Spline Interpolation
- Bezier Interpolation
- Block Designs
- Cache Hierarchy
- Client-Server Model
- Code Generation
- Code Optimization
- Colorings
- Combinatorial Optimization
- Communications Oriented Operating System
- Completeness
- Computer Architecture
- Computational Geometry
- Computational Linguistics
- Computer Music
- Concurrency
- Connectivity
- Consistency
- Convolutional Codes with Trellis Decoding
- Data Compression
- Data Mining
- Data Models
- Data Warehousing
- Database Concurrency
- Database Security
- Device Drivers
- Difference Sets
- Digital System Design
- Dijktra's Logic
- Disjoint Paths
- Display Devices
- Dustributed Programming
- Distributed Systems
- Dynamic Storage Allocation
- Efficient Compilation of High-Level Languages
- Equivalence of Computability
- Error-Correcting Codes
- Error Handling
- Euler Tours
- Expert Systems
- Expression Conversion
- Extremal Graph Theory
- File Systems
- Finite Geometries
- First Order Logic
- Flow Control
- Formal Syntax
- Functional Programming
- Fuzzy Logic
- Games
- General Recursivity
- Genetic Algorithms
- Geometric Algorithms
- GIS
- Graph Algorithms
- Graphics Transformations
- Grammars
- Ground Resolution
- Group Actions
- Hamilton Cycles
- Heuristic Search
- Hidden Line Problems
- High-Performance Computer Architecture
- Human-Computer Interfaces
- ILP Processing
- Information and Entropy
- Information Rate Optimization and Channel
Capacity
- Information Security
- Interaction of Compilers and Languages with
Modern Architectures
- Interactive Graphics
- Interconnection Networks
- Internet Video
- Interprocessor Communications
- Knowledge Representation
- Latin Squares
- Learning
- Lexical Analysis
- Light Fields
- Loaders
- Logic Circuit Design
- Logic Programming
- Logics of Knowledge
- Matchings
- Maximum Likelihood Decoding
- Memory Hierarchy
- Memory Management
- Mesh Generation
- Microcontrollers
- Microkernel-Based Operating Systems
- Microprocessors
- Microprogramming
- Model Theory
- Multihop Routing
- Multimedia Systems
- Multiprocessor Systems
- Multiprogramming Systems
- Mutually Orthogonal Latin Squares
- Natural Langauges
- Network Performance
- Network Protocol Algorithms
- Network Protocols
- Network Reliability
- Network Simulation
- Network Timing
- Neural Networks
- Numerical Solution of Partial Differential
Equations
- Online Algorithms
- Operating System Services
- Operating System Structure
- Orthogonal and Perpendicular Arrays
- Parametric Curves
- Parametric Surfaces
- Partitions
- Pattern Matching
- Permutations and Combinations
- Physics of Computation
- Planar Graphs
- Polya Theory
- Prefetching
- Preparata Codes
- Primitive Recursivity
- Processor Organization
- Processor Scheduling
- Program Proving
- Programming Language Design
- Programming Language Implementation
- Proof Obligations
- Proof Systems
- Proof Theory
- Propositional Logic
- Queues
- Randomness
- Recurrence Relations
- Recursive Algorithms
- Recursive Functions
- Recursively Enumerable Langauges
- Reed-Muller Codes
- Reed-Solomon Codes
- Relational Databases
- Robotics
- Routing for Mobile Hosts
- Scalable Storage Systems
- Scheduling Problems
- Semantic Analysis
- Shannon's Noisy Channel Theorem
- Software Analysis
- Software Engineering
- Software Interface
- Spanning Trees
- State Space Search
- Steiner Triple Systems
- Storage Management
- Soundness
- Synchronization Techniques
- Syntactic Analysis
- Systems Programming
- TCP Congestion Control
- The Chomsky Hierarchy
- The Essential Limitations of Computation
- Thread Management
- Three Dimensional Graphics
- Turing Machines
- Using Generating Functions to do Sophisticated
Counting
- Using Polya Theory to do Sophisticated Counting
- Variable Length Codes
- Virtual Memory
Frontier
- Algorithms for Large Datasets
- Alternative Models of Computation
- API Design
- Approximate Algorithms
- Binary Optimization
- Boosting
- Branch Prediction
- Cellular Texturing
- Combinatorial Algorithms
- Complexity Classes
- Computation of Ext. Groebner Bases over Rings
- Data Indexing
- Data Querying
- Data Retrieval
- Data Storage
- Dictionary Methods of Encoding
- Digital Image Processing
- Digital Video Processing
- Dimension Theory
- Distributed File Systems
- DNA-Based Computers
- Greedy Algorithms
- Groebner Bases for Modules
- Hardware Design Languages
- Head-Driven Phrase Structured Grammars
- Heuristics
- High-Performance I/O
- Huffman and Arithmetic Encoding
- Improved Buchberger's Algorithm
- Interval and Recency Rank Encoding
- Layered Depth Image
- Learning Automata
- Lossless Compression Methods
- Lossy Compression Methods
- Machine Learning
- Modules
- Multimedia Databases
- Numeric Algorithms
- Object-Oriented Database Systems
- Parallel Processing
- Primary Decomposition of Ideals
- Programming Language Design
- Randomized Algorithms
- Real-Time Acquisition
- Real-Time Modeling
- Reductions
- Run Time Optimization
- Search Techniques
- Silhouette Clipping
- Silhouette Mapping
- Simulation of Musical Instruments
- Simulation of Sound Sources
- Surface Geometry
- Syzygy Computations
- Virtual Reality
- VLSI Design
- Web-Based Databases
Click here to go back to the projects page.
Click here to go back to our home page.